Как преобразовать данные OSM в PostgreSQL для целей маршрутизации?

10

Я создаю приложение маршрутизации с использованием OpenStreetMap. В настоящее время моя задача - преобразовать данные из файла OSM в PostgreSQL.

Я читал о osm2pgsql, но проблема в том, что там сказано, что osm2pgsql не подходит для маршрутизации. Я тоже читал об Осмосе, но есть кое-что о порте rails, что, я думаю, означает, что мне нужно изучать Ruby в Rails. Я пытался изучать RoR в прошлом, и мне было слишком трудно учиться.

Я использую PHP для своего приложения. Как я могу извлечь данные из файла OSM и экспортировать их в мой PostgreSQL. Я знаю, что я могу что-то здесь упустить, но я новичок, когда дело доходит до картографирования приложений. Я надеюсь, что кто-то может мне помочь. Спасибо! : D

jalbautista
источник

Ответы:

11

Маршрутизация в Postgres / PostGIS обрабатывается библиотекой pgRouting с http://pgrouting.org.

Похоже, что скрипт уже был написан для обработки osm прямо в pgRouting на http://www.pgrouting.org/docs/tools/osm2pgrouting.html.

Вам нужно будет установить pgRouting в Postgres перед запуском скрипта osm2pgrouting.

Келсо
источник
Ссылка теперь: pgrouting.org/docs/tools/osm2pgrouting.html
mattwigway
спасибо, отредактировал мой оригинальный ответ, чтобы отразить это обновление. Я не смог найти полностью проработанный пример, поэтому я удалил эту ссылку.
Келсо
3

Также обратите внимание на osm2po ( http://osm2po.de ) - он может генерировать сценарии sql, совместимые с pgRouting, и в некоторых случаях его проще использовать, чем osm2pgrouting (например, на платформе MS Windows, так как osm2po написан на Java).

Эндрю
источник