OpenStreetMap logo OpenStreetMap

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

Вот пример, вместо кратчайшего пути через дворы (как поведет любой другой навигатор, что Яндекс, что Гугл, что дефолтный GraphHopper) мой ведет мимо исторического музея, Чесменской церкви и дворца и дома Советов. Примерно на 10% длиннее, но гораздо интереснее, сам таким маршрутом предпочитал ходить. Слева еще показывает список достопримечательностей со ссылками (если у объектов есть теги wikipedia или url или website):

скрин маршрута

Пока только веб-версия тут: http://sightsafari.city

Как работает: выдираем из OSM данные о достопримечательностях (объекты с тегами tourism, а так же парки, набережные и исторические здания), строим области видимости (простой raycast алгоритм), затем берем библиотеку GraphHopper для роутинга, уменьшаем веса ребер графа там где видны какие-то достопримечательности, тем самым притягивая маршруты к этим точкам.

Конечно в реальности там вагон и маленькая тележка нюансов, часть из них я описал на хабре

Пока работает только в нескольких городах (на карте выделены красным пунктиром), по заявкам добавляю новые. Можно тестировать и писать отзывы в группе ВК

Обсуждение на хабре показало, что спрос на подобный навигатор есть, теперь думаю как его развивать дальше.

Discussion

Comment from luiswoo on 25 June 2018 at 01:09

Можно в самом OSM как-то указывать малоприемлемые и предпочтительные дороги для пешехода?

Comment from Егор Смирнов on 25 June 2018 at 09:42

В самом OSM вроде бы нет. В правилах OSM сказано что данные должны быть объективными и отражать реально существующие вещи, а предпочтительность дороги - вещь субъективная. Есть ряд значений тега access который может как-то указывать предпочтительность использования дороги, но эти значения должны подтверждаться чем-то реальным (знаками, правилами движения или еще чем-то), а не личным субъективным опытом.

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

Comment from Dalkeith on 25 June 2018 at 10:25

Good work Igor

Comment from kordim on 25 June 2018 at 11:12

Давно искал такой нафигатор

Comment from literan on 4 July 2018 at 20:53

Крутая вещь! Можно добавить Красногорск?

Log in to leave a comment