Suite

Problème d'utilisation du fichier de données openstreetmap avec pgrouting2.0 sur PostgreSql9.3

Problème d'utilisation du fichier de données openstreetmap avec pgrouting2.0 sur PostgreSql9.3


Je suis un nouveau venu sur pgrouting, et je souhaite tester ses fonctionnalités.

J'ai installé et configuré mon ordinateur avec Postgresql9.3, pgrouting2 et PostGIS.

J'ai téléchargé depuis openstreetmap le fichier .osm de la zone dont j'ai besoin (4.0706 North, 9.7321 East, 3.9972 South, 9.6737 West).

Mon problème est qu'il est livré avec 4 couches : points, lignes, multipolygones et multilignes.

Je ne sais pas quelle couche je dois utiliser pour tester la fonction de routage de pgrouting. J'ai pris la couche de lignes, l'ai insérée sur postgres et ajouté 2 colonnes (source:integer, target:integer, cost:double precision).

Maintenant, quand j'utilise

select pgr_createTopology('littoral_lines', 0.0001, 'geom', 'osm_id');

où est ma table lignes_littorales. J'obtiens les erreurs suivantes :

AVIS : TRAITEMENT : AVIS : pgr_createTopology('littoral_lines',0.0001,'geom','osm_id','source','target','true') AVIS : Exécution des vérifications, attendez… AVIS : Création de la topologie, veuillez patienter… AVIS : l'opérateur n'existe pas : caractère variable = entier AVIS : MISE À JOUR public.littoral_lines SET source = 1,cible = 2 O osm_id = 4173643 Durée totale d'exécution de la requête :1751 ms. 1 ligne récupérée.

Je ne sais pas ce qui ne va pas, si j'utilise la bonne table ou si j'oublie quelque chose. Il n'y a pas de tables "routes" ou "voies". S'il vous plait, aidez !!!


Tu devrais utiliserosm2pgroutingpour importer les données osm dans votre base de données, c'est un outil en ligne de commande qui créera automatiquement le graphique approprié pour le pgrouting.

http://www.pgrouting.org/docs/tools/osm2pgrouting.html


Lorsque vous utilisez des données OSM pour pgRouting, vous devez utiliser des outils d'importation spéciaux. Cela résoudra automatiquement votre problème.

Pour commencer, je vous recommande fortement l'atelier pgRouting, car il vous guidera exactement pour faire fonctionner pgRouting avec les données OSM : http://workshop.pgrouting.org/


Le problème était juste cela: je n'ai pas chargé de données avec postgis avec le SRID (4326 dans mon cas). Ensuite, j'ai clone une colonne geom en créant une table de routage, en changeant la colonne geom précédente par la colonne simple_geom, avec un srid spécial (linestring) qui semble être plus compréhensible depuis la version 2.x de pgrouting.

CREATE TABLE routes AS SELECT *, (ST_Dump(geom)).geom AS simple_geom FROM littoral_lines O geom N'EST PAS NULL ; ALTER TABLE routes DROP COLUMN geom; SELECT UpdateGeometrySRID('routes', 'simple_geom', 4326);

maintenant tout fonctionne bien !! Merci.


Voir la vidéo: Import OpenStreetMap data into AutoCAD drawings - Spatial Manager Blog