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


16

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

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

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

Тоже самое :

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

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

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

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


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

На самом деле это просто ужасно плохой шейп-файл, я хочу чрезвычайно простую ненаправленную маршрутизацию, и то, что вы видите, очень увеличено.
Хоккос

Ответы:


12

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


4

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.