Come convertire i dati OSM in PostgreSQL per scopi di routing?


10

Sto creando un'applicazione di routing usando OpenStreetMap. Attualmente, il mio compito è convertire i dati da un file OSM a PostgreSQL.

Ho letto di osm2pgsql, ma il problema è che lì dice che osm2pgsql non è adatto al routing. Ho letto anche dell'osmosi, ma c'è qualcosa sulla porta di Rails, che penso significhi che devo imparare Ruby in Rails. Ho provato a studiare il RoR in passato e ho trovato troppo difficile per me imparare.

Sto usando PHP per la mia applicazione. Come posso estrarre i dati dal file OSM ed esportarli sul mio PostgreSQL. So che potrei perdere qualcosa qui, ma sono un principiante quando si tratta di mappare l'applicazione. Spero che qualcuno mi possa aiutare. Grazie! : D

Risposte:


11

Il routing in Postgres / PostGIS è gestito dalla libreria pgRouting da http://pgrouting.org

Sembra che uno script sia già stato scritto per gestire osm direttamente in pgRouting all'indirizzo http://www.pgrouting.org/docs/tools/osm2pgrouting.html

Devi installare pgRouting in Postgres prima di eseguire lo script osm2pgrouting.



grazie, ho modificato la mia risposta originale per riflettere questo aggiornamento. Non sono riuscito a trovare l'esempio completo, quindi ho rimosso questo link.
Kelso,

3

Presta attenzione anche a osm2po ( http://osm2po.de ): potrebbe generare script sql compatibili con pgRouting e in alcuni casi è più facile da usare rispetto a osm2pgrouting (ad esempio sulla piattaforma MS Windows poiché osm2po è scritto in Java).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.