Postgis TopologyException: боковой конфликт местоположения в 226.001 39.5158, в чем проблема?

23

после st_union () PgSQL возвращает примечание:

NOTE:  TopologyException: side location conflict at 226.001 39.5158

И в результатах есть две строки с пустой геометрией, а остальные строки в порядке.
Что вызывает эту проблему? Как это решить?

Pablo
источник

Ответы:

24

Я нашел проблему. Это был самопересекающийся многоугольник. Я привык ST_IsValidReasonего находить.

Pablo
источник
12

Решение прибыло в PostGIS 2.0, ST_IsValid () и ST_MakeValid (). Вы можете попросить PostGIS исправить неправильную геометрию. Вы должны быть осторожны с этим, поскольку по какой-то причине важна целостность исходной геометрии.

Андрис
источник
5

Гугл нашел этот пост: http://lists.refractions.net/pipermail/jts-devel/2009-March/002939.html

Таким образом, кажется, что ваши объекты могут страдать от ошибок округления, и это может быть решено, если немного очистить геометрию.

Возможно, стоит создать минимально воспроизводимый случай и опубликовать сообщение в списке рассылки postgis.

MerseyViking
источник