Как убрать такой плохой шейп-файл для маршрутизации?

16

Я пытаюсь очистить шейп-файл, чтобы сделать его пригодным для маршрутизации с помощью pgrouting, postgis, postgresql.

Здесь пересечение, кажется, связано, но когда мы масштабируем ... Не то:

не увеличено 1 увеличено 1

Тоже самое :

не увеличено 2 увеличено 2

Здесь (с максимальным увеличением) есть 2 способа, когда он кажется одним, и только один подключен:

увеличено до 2

Я использую assign_vertex_id с разными допусками, QGIS и PostGIS, но я не знаю, что в нем использовать.

hokkos
источник
Интересно: это действительно ошибки? Например, обе ситуации могут использоваться для представления улицы с двусторонним движением, встречающей улицу с односторонним движением. Это может быть критической проблемой, потому что вы не хотите вводить новые ошибки в попытке устранить других!
whuber
На самом деле это просто ужасно плохой шейп-файл, я хочу чрезвычайно простую ненаправленную маршрутизацию, и то, что вы видите, очень увеличено.
Хоккос

Ответы:

12

Вы можете использовать GRASS для чистки. Я думаю, вам нужно разбить эти векторы, удалить дубликаты, а затем привязать их. Для этого есть инструмент v.clean с опциями break, rmdupl and snap.

Pablo
источник
4

В PostGIS попробуйте ST_SnapToGrid, чтобы привязать вершины к виртуальной сетке. Вам необходимо провести детективную работу, чтобы определить, какое расстояние привязки использовать. Это может быть 0,01 (1 см) или 1,0 и т. Д.

Майк Т
источник