Jak przekonwertować dane OSM na PostgreSQL do celów routingu?

10

Tworzę aplikację do routingu za pomocą OpenStreetMap. Obecnie moim zadaniem jest konwersja danych z pliku OSM do PostgreSQL.

Czytałem o osm2pgsql, ale problem polega na tym, że tam jest napisane, że osm2pgsql nie nadaje się do routingu. Czytam też o Osmosis, ale jest coś w portach szyn, co moim zdaniem oznacza, że ​​muszę nauczyć się Ruby w szynach. Próbowałem studiować RoR w przeszłości i miałem trudności z nauką.

Używam PHP do mojej aplikacji. Jak mogę wyodrębnić dane z pliku OSM i wyeksportować je do mojego PostgreSQL. Wiem, że coś mi tu brakuje, ale jestem nowicjuszem, jeśli chodzi o aplikację do mapowania. Mam nadzieję, że ktoś może mi pomóc. Dzięki! :RE

jalbautista
źródło

Odpowiedzi:

11

Routing w Postgres / PostGIS jest obsługiwany przez bibliotekę pgRouting ze strony http://pgrouting.org

Wygląda na to, że skrypt został już napisany do obsługi osm bezpośrednio w pgRouting pod adresem http://www.pgrouting.org/docs/tools/osm2pgrouting.html

Będziesz musiał zainstalować pgRouting w Postgres przed uruchomieniem skryptu osm2pgrouting.

Kelso
źródło
Link jest teraz: pgrouting.org/docs/tools/osm2pgrouting.html
mattwigway
dzięki, zredagowałem moją oryginalną odpowiedź, aby odzwierciedlić tę aktualizację. Nie mogłem znaleźć w pełni działającego przykładu, więc usunąłem ten link.
Kelso
3

Zwróć też uwagę na osm2po ( http://osm2po.de ) - może generować skrypty SQL zgodne z pgRouting, aw niektórych przypadkach łatwiejsze w użyciu niż osm2pgrouting (na przykład na platformie MS Windows, ponieważ osm2po jest napisane w Javie).

Andrzej
źródło