我已将地理空间数据保存到表的一个字段中。其类型为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/latitude
从的每个点获取信息Polygon
。
据我了解,反序列化的方式是:
注意力
我没有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();
}
要提取多边形或直线的点,必须使用“ NumPoints(ls) ”来确定点数,然后必须使用命令PointN(ls,N)逐一滚动浏览它们并提取坐标,在下面的链接中,您可以找到每个示例
http://dev.mysql.com/doc/refman/5.6/en/geometry-property-functions.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句