Como converter dados do OSM para PostgreSQL para fins de roteamento?

10

Estou criando um aplicativo de roteamento usando o OpenStreetMap. Atualmente, minha tarefa é converter os dados de um arquivo OSM para o PostgreSQL.

Eu li sobre o osm2pgsql, mas o problema é que diz que o osm2pgsql não é adequado para roteamento. Também li sobre osmose, mas há algo sobre a porta Rails, o que acho que significa que preciso aprender Ruby in Rails. Tentei estudar RoR no passado e achei muito difícil aprender.

Estou usando PHP para o meu aplicativo. Como posso extrair os dados do arquivo OSM e exportá-los para o meu PostgreSQL. Sei que posso estar faltando alguma coisa aqui, mas sou novato no que diz respeito ao aplicativo de mapeamento. Espero que alguém possa me ajudar. Obrigado! : D

jalbautista
fonte

Respostas:

11

O roteamento no Postgres / PostGIS é tratado pela biblioteca pgRouting em http://pgrouting.org

Parece que um script já foi escrito para manipular o osm diretamente no pgRouting em http://www.pgrouting.org/docs/tools/osm2pgrouting.html

Você precisará instalar o pgRouting no Postgres antes de executar o script osm2pgrouting.

Kelso
fonte
A ligação é agora: pgrouting.org/docs/tools/osm2pgrouting.html
mattwigway
obrigado, editei minha resposta original para refletir esta atualização. Não consegui encontrar o exemplo completo, então removi este link.
28411 Kelso
3

Preste atenção também ao osm2po ( http://osm2po.de ) - ele pode gerar scripts sql compatíveis com o pgRouting e, em alguns casos, mais fácil de usar que o osm2pgrouting (por exemplo, na plataforma MS Windows, como o osm2po está escrito em Java).

Andrew
fonte