我有一个表,其中包含一个Polygon
类型的字段zoneShape
。
在此字段中插入一些几何图形时,在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)
如您所见;第一个点和最后一个点相同,因此多边形是闭合的。
谁能帮我把这个多边形添加到数据库中?感谢
事实证明,您需要在点周围添加一些额外的括号; 因为该标准使用外线和内线,即孔或岛。
所以:
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 ^
对我来说INSERT INTO zone SET zoneShape = PolygonFromText(@g)
看起来不像一个有效的 INSERT 语句。你是说INSERT INTO zone (zoneShape) VALUES (PolygonFromText(@g));
吗?