MYSQL 5.7.19中的这个多边形有什么问题?

时间:2017-08-22 16:52:03

标签: mysql google-maps-api-3 geospatial polygons mysql-5.7

所以,我正在尝试使用地理空间函数在MYSQL中保存POLYGON ......我在网上找到了几个例子,如下所示:

SELECT ST_GEOMFROMTEXT('POLYGON((
13.517837674890684 76.453857421875,
13.838079936422464 77.750244140625,
14.517837674890684 79.453857421875,
13.517837674890684 76.453857421875,
13.517837674890684 76.453857421875
))');

SELECT  ST_GeomFromText('Polygon((
-98.07697478272888 30.123832577126326,
-98.07697478272888 30.535734310413392,
-97.48302581787107 30.535734310413392,
-97.48302581787107 30.123832577126326,
-98.07697478272888 30.123832577126326
))')

问题是当我尝试自己制作时,它会返回以下错误: 错误代码:3037。为st_geometryfromtext函数提供的GIS数据无效。

这是我用过的代码......

SELECT ST_GEOMFROMTEXT('Polygon((
-99.16939973831177 19.42468828496807,
-99.16710376739502 19.424607339789876,
-99.16712522506714 19.422907481732416,
-99.168541431427 19.421996836172347,
-99.16989326477051 19.422947954749972
))');

这些都是经度 - 纬度对,我认为它必须对订单做一些事情,但当前订单已经连续。

请问有人给我一个提示吗?

谢谢

编辑:正如他们在评论部分中提到的那样,根据定义,必须关闭多边形。

我正在使用Google Maps Javascript API v3绘制多边形,然后使用" overlaycomplete"事件监听器,当Polygon关闭时触发一个函数。触发的函数基本上打印API给出的坐标。

如果Polygon必须准确关闭,为什么API没有提供准确的坐标?有工作吗?

1 个答案:

答案 0 :(得分:0)

多边形应该这样接近

SELECT ST_GEOMFROMTEXT('Polygon((
-99.16939973831177 19.42468828496807,
-99.16710376739502 19.424607339789876,
-99.16712522506714 19.422907481732416,
-99.168541431427 19.421996836172347,
-99.16989326477051 19.422947954749972, 
-99.16939973831177 19.42468828496807
))');