0

我已将地理空间数据保存到表格的一个字段中。它的类型是Polygon.

如果使用这样的查询:

SELECT AsWKT(area) as `polygon` FROM geo.info_buildings;

我得到下一种结果,例如:

POLYGON((55.4295824 36.8635427),(55.4296539 36.8636714),
(55.4291776 36.8644788),(55.4290999 36.86435)

我想知道,如何Polygon从 SQL 命令解析/反序列化对象,以便能够longitude/latitudePolygon.

据我了解,反序列化的方法是:

注意力

我没有很好的 SQL 技能,所以下一个伪代码只是一个概念/想法,所以请耐心等待 :) 并原谅我在 MySQL 领域缺乏知识。

1)。使 smth 类似于foreach()块。

伪代码:

foreach (Point p in Polygon) { ... }

2)。然后在这个foreach块做某事。喜欢:

foreach (Point p in Polygon)
{
    SET @var1 = p.GetLatitude();
    SET @var2 = p.GetLongitude();
}
4

1 回答 1

0

要提取多边形或直线的点,必须使用“ NumPoints (ls) ”来确定点的数量,然后必须使用命令PointN (ls, N)逐个滚动并提取坐标,在以下链接中,您可以找到每个示例

http://dev.mysql.com/doc/refman/5.6/en/geometry-property-functions.html

于 2013-10-12T14:36:16.567 回答