mysql - 如何防止错误 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))
如何查询以排除不关闭的多边形?
不管怎么说,还是要谢谢你
解决方案
我认为“预防”需要在交给空间功能之前发生。DATA_GPS
但是,这可能会在之后起作用:
建立一个MultiLineString
,然后检查IsClosed()
。如有必要,在末尾添加原始点。
推荐阅读
- django - DJANGO:如何在函数中获取应用程序 URL?
- android - 在扩展的 EditText 类中读取 InputType 的位置
- python - 熊猫数据框中的额外引号
- java - 接收到不正确的 HTTP 响应状态码
- javascript - 如果与数组中的一项匹配,则拆分字符串
- java - Micronaut 和 Java 邮件 API
- typescript - WebStorm 中的 React Native TypeScript 相对路径
- javascript - 移动 Safari 上的 PWA 应用程序使用大量缓存?
- c# - C# Clickonce 使用 gMap 发布 DLL 问题
- django - 为什么 Django Postgres JSONField 解码不同,具体取决于对象是创建还是更新