我的表格中包含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)
正如你所看到的;第一个和最后一个点是相同的,因此多边形是关闭的。
任何人都可以帮我将这个多边形添加到数据库中吗? 感谢名单
答案 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));
吗?