Comment nettoyer un si mauvais fichier de formes pour le routage?

16

J'essaie de nettoyer un fichier de formes pour le rendre utilisable pour le routage avec pgrouting, postgis, postgresql.

Ici une intersection, elle semble être connectée mais quand on zoome…. Ce n'est pas:

non zoomé 1 zoomé 1

Pareil ici :

pas zoomé 2 zoomé 2

Ici (il est zoomé au maximum) il y a 2 façons quand il semble en être un, et un seul est connecté:

zoomé à max 2

J'utilise assign_vertex_id avec différentes tolérances, et QGIS et PostGIS, mais je ne sais pas quoi utiliser dedans.

hokkos
la source
Je me demande: sont-ce vraiment des erreurs? Par exemple, les deux situations pourraient être utilisées pour représenter une rue à double sens rencontrant une rue à sens unique. Cela peut être un problème critique, car vous ne voulez pas introduire de nouvelles erreurs dans le but d'en éliminer d'autres!
whuber
En fait, c'est juste un fichier de forme horriblement mauvais, je veux un routage non dirigé extrêmement simple, et ce que vous voyez est très zoomé.
hokkos

Réponses:

12

Vous pouvez utiliser GRASS pour faire un peu de nettoyage. Je pense que vous devez casser ces vecteurs, supprimer les doublons, puis les casser. Pour cela, il existe l' outil v.clean avec les options break, rmdupl and snap.

Pablo
la source
4

Dans PostGIS, essayez ST_SnapToGrid pour aligner les sommets sur une grille virtuelle. Vous devez effectuer un travail de détective pour déterminer la distance de capture à utiliser. Ce pourrait être un 0,01 (1 cm), ou 1,0, etc.

Mike T
la source