1

我有一个包含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)

如你看到的; 第一个点和最后一个点相同,所以多边形是闭合的。

谁能帮我将此多边形添加到数据库中?谢谢

4

2 回答 2

3

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

所以:

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                                                         ^
于 2012-04-23T08:09:55.257 回答
0

INSERT INTO zone SET zoneShape = PolygonFromText(@g)在我看来,这不是一个有效的 INSERT 语句。你的意思是INSERT INTO zone (zoneShape) VALUES (PolygonFromText(@g));

于 2012-04-20T11:54:21.300 回答