Как проложить маршрут, избегая определенной зоны в OSRM

Я хочу найти маршруты с помощью OSRM (маршрутизатор с открытым исходным кодом), избегая определенной части города, указанной полигоном, как вариант. Один из подходов заключается в создании двух профилей: car и car_avoid_no_drive_zone. Последний профиль просматривает каждый сегмент и устанавливает бесконечную длину, если он находится внутри зоны без движения.

Но этот подход технически дублирует предварительную обработку, использование диска и использование ОЗУ. Есть ли лучшее решение этой проблемы?


person Helium    schedule 14.08.2017    source источник


Ответы (1)


можно заблокировать некоторую область с помощью «обновления трафика», установив скорость 0 для всех сегментов OSM на границе ограниченной области и выполнив только сокращение CH или настройку MLD. Этот подход по-прежнему будет генерировать два графика. Дополнительная информация здесь https://github.com/Project-OSRM/osrm-backend/wiki/Traffic

Другой способ — использовать функцию «избегать» https://github.com/Project-OSRM/osrm-backend/pull/4315 путем определения класса «зоны ограниченного доступа» в профиле и использования параметра запроса, такого как avoid=restricted, во время выполнения.

person Michael Krasnyk    schedule 16.08.2017