Wie konvertiere ich OSM-Daten für Routing-Zwecke in PostgreSQL?

10

Ich erstelle eine Routing-Anwendung mit OpenStreetMap. Derzeit besteht meine Aufgabe darin, die Daten aus einer OSM-Datei in PostgreSQL zu konvertieren.

Ich habe über osm2pgsql gelesen, aber das Problem ist, dass dort steht, dass osm2pgsql nicht für das Routing geeignet ist. Ich habe auch über Osmosis gelesen, aber es gibt etwas über den Rails-Port, was meiner Meinung nach bedeutet, dass ich Ruby in Rails lernen muss. Ich habe in der Vergangenheit versucht, RoR zu studieren, und es fiel mir zu schwer, es zu lernen.

Ich benutze PHP für meine Anwendung. Wie kann ich die Daten aus der OSM-Datei extrahieren und in mein PostgreSQL exportieren? Ich weiß, dass mir hier möglicherweise etwas fehlt, aber ich bin ein Neuling, wenn es um Mapping-Anwendungen geht. Ich hoffe jemand kann mir helfen. Vielen Dank! : D.

jalbautista
quelle

Antworten:

11

Das Routing in Postgres / PostGIS wird von der pgRouting-Bibliothek von http://pgrouting.org verwaltet

Es sieht so aus, als ob bereits ein Skript geschrieben wurde, das osm direkt in pgRouting unter http://www.pgrouting.org/docs/tools/osm2pgrouting.html verarbeitet

Sie müssen pgRouting in Postgres installieren, bevor Sie das Skript osm2pgrouting ausführen können.

Kelso
quelle
Der Link ist jetzt: pgrouting.org/docs/tools/osm2pgrouting.html
mattwigway
Vielen Dank, habe meine ursprüngliche Antwort bearbeitet, um dieses Update widerzuspiegeln. Ich konnte das vollständig funktionierende Beispiel nicht finden, daher habe ich diesen Link entfernt.
Kelso
3

Achten Sie auch auf osm2po ( http://osm2po.de ) - es könnte SQL-Skripte generieren, die mit pgRouting kompatibel sind, und in einigen Fällen einfacher zu verwenden als osm2pgrouting (zum Beispiel auf der MS Windows-Plattform, da osm2po in Java geschrieben ist).

Andrew
quelle