Задача решена на C# созданием следующего метода:
private int[] getCoordinates(SqlConnection connection, string tablename, int shape)
{
int[] coord = new int[2];
string g_table_name = "";
SqlCommand command1 = new SqlCommand("select g_table_name from" +
" M10_DATABASE.dbo.SDE_geometry_columns where f_table_name='" +
tablename + "'", connection);
SqlDataReader reader1;
reader1 = command1.ExecuteReader();
if (reader1.Read())
g_table_name = reader1["g_table_name"].ToString();
reader1.Close();
if (!String.IsNullOrEmpty(g_table_name))
{
SqlCommand command2 = new SqlCommand("select eminx, eminy, emaxx, emaxy" +
" from M10_DATABASE.dbo." +
g_table_name + " where fid=" + shape, connection);
SqlDataReader reader2 = command2.ExecuteReader();
if (reader2.Read())
{
double x = ((Double)reader2["eminx"] + (Double)reader2["emaxx"]) / 2;
double y = ((Double)reader2["eminy"] + (Double)reader2["emaxy"]) / 2;
coord[0] = (int)Math.Round(x);
coord[1] = (int)Math.Round(y);
}
reader2.Close();
}
return coord;
}
Комментариев нет:
Отправить комментарий