Как предотвратить ошибку Mysql ST_PolygonFromText, потому что первая и последняя координата не равны - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть запрос:

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))

Как сделать запрос, чтобы исключить такой не закрываемый полигон?

В любом случае, спасибо

1 Ответ

0 голосов
/ 07 января 2019

Я думаю, что «предотвращение» должно произойти до передачи DATA_GPS пространственным функциям.Однако впоследствии это может сработать:

Создайте MultiLineString, затем проверьте с помощью IsClosed().При необходимости добавьте исходную точку в конце.

...