Используйте OSM для маршрутизации на GeoServer (лучшая практика)

#postgresql #gis #openstreetmap #geoserver #pgrouting

#postgresql #гис #карта открытых улиц #геосервер #pgrouting

Вопрос:

Я новичок в OSM, но теперь мне нужно создать приложение, которое будет использовать ГИС (Геосервер) и будет предоставлять услуги для доставки дороги из пункта А в пункт Б.

Я нашел некоторую информацию об этом, но у меня все еще есть какие-либо вопросы. Я загружаю открытые карты улиц и извлекаю их в базу данных (PostgreSQL), а для маршрутизации использую плагин pgRouting. Затем подключите базу данных к картографическому серверу и предоставьте api для клиентов.

Вопросы: 1. Правильно ли это? 2. Какой формат osm я мог бы использовать для postgre? (osm.pbf? shp.zip ?, или что-то еще?)

Спасибо за ответы

Комментарии:

1. перекрестная публикация: gis.stackexchange.com/questions/214371 /…

2. Для GraphHopper разрабатывается плагин шейп-файлов: github.com/graphhopper/graphhopper/pull/616

Ответ №1:

Позвольте мне уточнить, что нужно для начала и до конца:

  • Сначала вам нужно загрузить данные OSM, для чего вы можете просто использовать Overpass API.
  • OSM2PO инструмент CLI на основе JAVA для преобразования данных OSM в маршрутизируемые данные, вот хорошее руководство по использованию этого инструмента.
  • Postgresql с расширениями postgis и pgRouting вы будете использовать алгоритм Дейкстры для получения кратчайшего маршрута или любой другой алгоритм, который вам больше всего подходит.
  • Наконец, вам понадобится Geoserver, который будет предоставлять стандарты OGC, например, WMS и WFS, с помощью которых вы можете получить свой маршрут в растровом или векторном формате, вы можете хранить свою таблицу в виде слоев, и вам может понадобиться представление SQL.
  • Кроме того, для внешнего интерфейса вы можете использовать OpenLayers, который представляет собой библиотеку веб-картографирования JavaScript, или вы можете использовать Leaflet, вы можете легко выполнять запросы WMS и WFS из этих библиотек на Geoserver, и Geoserver отправит вам ответ с вашими запрошенными данными, если запрос правильный.

ПРИМЕЧАНИЕ: Вы можете использовать QGIS v2 с плагином pgRouting для тестирования.