Определите узлы перекрестка в данных openstreetmap (.pbf)

Кто-нибудь знает, если есть способ, которым я могу отделить только узлы перекрестка, которые включены в файл.pbf? Включена ли эта подсказка (если узел является перекрестком или нет) в формат этого файла?

2 ответа

Решение

Другой вариант решения вашей проблемы - использование нового проекта Atlas.

Как часть загрузки .osm.pbf файлы в файлы Atlas в памяти, он заботится о том, чтобы делать разметку дорог:

В конце концов, каждый Атлас Node который подключен к более чем 4 Edges на дороге с двусторонним движением или 2 Edges на дороге с односторонним движением будет кандидатом, если я правильно понимаю ваш вопрос.

Я не знаю о готовом решении этой задачи, но это все еще должно быть относительно легко сделать.

Для анализа файла.pbf я рекомендую использовать существующую библиотеку, такую ​​как Osmosis или Osmium. Таким образом, вам нужно только реализовать фактическую семантику вашего варианта использования.

Сами узлы не имеют каких-либо специальных атрибутов, которые помечают их как перекресток. Таким образом, вместо этого вам придется искать пути, содержащие узлы.

Некоторые соображения при реализации этого:

  • Вам нужно проверить метки пути, чтобы узнать, дорога ли это. Наиболее важным ключом для этого является шоссе. Детали зависят от вашего конкретного случая использования - например, вам необходимо решить, должны ли учитываться пешеходные дорожки, лесные тропы, проезды,...
  • Важным является количество соединяющихся сегментов пути в узле, а не количество путей. Например, узел, который является частью двух путей, может быть перекрестком (если по крайней мере один из путей продолжается за этим узлом) или не может (если оба пути начинаются / заканчиваются в этом узле).
Другие вопросы по тегам