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

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.



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).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.