首页 > 解决方案 > 如何防止错误 Mysql ST_PolygonFromText 因为第一个和最后一个坐标不等于

问题描述

我有查询:

SELECT ST_PolygonFromText(CONCAT('Polygon((',DATA_GPS,'))')) FROM TABLE_A CROS JOIN TABLE_B

显示错误: Data truncation: Invalid GIS data provided to function st_geometryfromtext.

第 8 行出错,因为第一个和最后一个 gps 不等于或不关闭多边形。像这样显示: Polygon((107.15778031165127 -6.304745648974358 107.15945401007279 -6.304639009497479 107.15949692542361 -6.307624906559413))

如何查询以排除不关闭的多边形?

不管怎么说,还是要谢谢你

标签: mysqlgeolocationgpsgeospatialpolygon

解决方案


我认为“预防”需要在交给空间功能之前发生。DATA_GPS但是,这可能会在之后起作用:

建立一个MultiLineString,然后检查IsClosed()。如有必要,在末尾添加原始点。


推荐阅读