在MySQL数据库中挣扎着地理数据/多边形

时间:2012-04-20 10:19:17

标签: php mysql geospatial

我的表格中包含zoneShape类型的字段Polygon

在此字段中插入某些几何体时,在phpmyadmin中显示:受影响的1行。该行已添加,但几何字段表示它的大小为0B。

这是插入代码:

SET @g = 'POLYGON(50.866753 5.686455, 50.859819 5.708942, 50.851475 5.722675, 50.841611 5.720615, 50.834023 5.708427, 50.840744 5.689373, 50.858735 5.673923, 50.866753 5.686455)';
INSERT INTO zone SET zoneShape = PolygonFromText(@g)

正如你所看到的;第一个和最后一个点是相同的,因此多边形是关闭的。

任何人都可以帮我将这个多边形添加到数据库中吗? 感谢名单

2 个答案:

答案 0 :(得分:3)

事实证明,您需要在积分周围添加一些额外的括号;因为该标准使用外部和内部线,即孔或岛。

所以:

SET @g = 'POLYGON((50.866753 5.686455, 50.859819 5.708942, 50.851475 5.722675, 50.841611 5.720615, 50.834023 5.708427, 50.840744 5.689373, 50.858735 5.673923, 50.866753 5.686455))';
                  ^                                                                                              outside                                                         ^

答案 1 :(得分:0)

INSERT INTO zone SET zoneShape = PolygonFromText(@g)对我来说看起来不像是一个有效的INSERT语句。您的意思是INSERT INTO zone (zoneShape) VALUES (PolygonFromText(@g));吗?