Комментарии 11
Если будет интерес к теме работы с OSM
ДА
Что именно интересует? Как я вижу, OSM популярностью не пользуется в рунете, потому обо всем рассказывать смысла и нет.
Ok, принято. Хотите пробежаться по сложностям и решениям для роутинга уровня коммерческих сервисов или просто вводную статью? Скажем, для решения задачи коммивояжера в PgRouting нельзя использовать oneway пути, но где-то в документации есть упоминание, что эта проблема решаема в теории графов — так что любую маршрутную сеть с однонаправленными участками возможно преобразовать в поддерживаемую маршрутную сеть. Цена такого решения — удвоение размера сети. Аналогично, ценой удвоения сети можно еще много возможностей добавить. Опять же, если построенная маршрутная сеть будет актуальна день-неделю-месяц, можно подготовить ее в PostgreSQL/PostGIS/PgRouting и выгрузить в SQLite3/Spatialite чтобы сделать очень быстрый роутинг. Также интересна возможность роутинга масштабов планеты — так, чтобы на одной (огромной) маршрутной сети можно было быстро построить любой маршрут (идея в том, чтобы несколько маршрутных сетей соединить oneway связями так, что маршруты в пределах города/страны/континента вычисляются на сетях разных масштабов). Могу перечислить такие (неочевидные) вещи обзорно, а могу что-то выборочно с кодом (PL/PgSQL) показать детально. Все разом детально рассказать не возьмусь, это придется многие выполненные проекты за последние лет 10 смотреть-вспоминать да и писательского опыта у меня маловато для такой задачи.
P.S. А еще аналогичные графовые алгоритмы в биоинформатике используются для моделирования и синтеза лекарств… только там огромная проблема с исходными данными, так что просто что-то взять и попробовать без доступа к специальным базам данных не получится.
А я с удовольствием задам уточняющие вопросы там, где наиболее актуально, а остальное схороню в записную книжечку.
Кажется, что у такого подхода идеальное соотношение принесённой ценности к затраченному времени.
Например, уже сейчас понятно, что про мировые путешествия мне не более, чем любопытно, а про быстрый локальный роутинг на SQLite интересны подробности.
Хорошо, принято. Постараюсь не затягивать с публикацией.
Да, спасибо за напоминание. Каюсь, очень хотел дождаться, когда ж дети в школу смогут вернуться и уж тогда спокойно дописать, но… Выкладываю что готово — первую часть:
елаем маршрутизацию (роутинг) на OpenStreetMap. Введение
Они писали что планируют регулярно обновлять базу OSM в bigquery,
но пока там та же версия что опубликовали изначально.
OpenStreetMap Public Dataset на Google Cloud Platform с BigQuery SQL. Классификатор слоев OSM