как убрать перекрывающиеся строки в postgis - PullRequest
3 голосов
/ 04 августа 2010

У меня есть типичная база данных с миллионами полигонов в качестве земельных участков, и я хочу разбить эти полигоны на линии, а затем удалить линии, которые перекрывают друг друга.Эти строки будут использоваться исключительно для рендеринга в mapnik / и / или на геосервере, так как в данный момент каждая граница участка обрабатывается дважды.

Я предлагаю разделить полигоны участков в новую таблицу ("border_lines"), а затем искать и удалять перекрывающиеся линии.как мне удалить эти перекрывающиеся строки в postgis?

1 Ответ

1 голос
/ 30 августа 2010

Использовать ST_Equals:
http://postgis.refractions.net/docs/ST_Equals.html

Ваш оператор SQL, вероятно, будет выглядеть примерно так:

SELECT y.id, z.id 
FROM mytable y, mytable z
WHERE ST_Equals(y.the_geom,z.the_geom)

Запрос будет выполняться вечно, но, надеюсь, у вас есть толькосделать это один раз.После запуска возьмите результаты и аккуратно удалите дубликаты идентификаторов.

Обратите внимание, что это не избавит от границ, которые точно не перекрываются.

...