Graphhopper

OSRM перестал быть единственным презентабельным движком построения маршрутов по OpenStreetMap. Вчера выпустили первую публичную версию Graphhopper: java-библиотеки, способной работать не только под Apache Tomcat и в составе офлайновых java-приложений, но и под Android. В отличие от OSRM, для Graphhopper крайне важна экономия памяти, поэтому ей хватает 32 мегабайт на роутинг по Германии.

Сайт Graphhopper строит маршруты для машин, велосипедов и пешеходов по всей планете. Тестовый маршрут Глазго — Магадан посчитался за полторы секунды, пешеходный маршрут на полторы тысячи километров короче автомобильного и включает множество паромов, отмеченных route=ferry, foot=yes. Один лишь недочёт: маршрут не скачать.

Поделиться
Отправить

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

13 комментариев
akks 2013

Он же GraphHopper :)
Сайт, надеюсь, дотянут со временем...

Илья Зверев 2013

И это первый раз, когда я обратил на это внимание :) Спасибо, поправил везде.

Peter 2013

Peter from GraphHopper here. Thanks for mentioning the release. Regarding the missing save option: feel free to contribute ;) or create an issue maybe someone (including me) needs the feature and is willing to spend some time on it.

BTW: In the URL it is still grasshopper :)

SviMik 2013

Не работает в Opera 9.62 и IE 8.

Зато OSRM работает во всех браузерах, большой респект за кроссбраузерность :)

Sergey Astakhov 2013

Ещё один роутер, который не поддерживает way в via у restriction-ов. :)

Sergey Astakhov 2013

Или он вообще restriction-ы не обрабатывает?

dkiselev 2013

Вроде бы поддержки рестрикшенов нет. Но добавить на первый взгляд не сложно.

dkiselev 2013

Еще, судя по
public interface RoutingAlgorithm
....
Path calcPath( int from, int to );

Пока поддерживаются только алгоритмы возвращающие 1 путь.

Виктор 2013

хватает 32 мегабайт на роутинг по Германии

Что-то на сайте выглядит слишком быстро для 32мб RAM, не верится для точного роутинга :) Для 32мб все-таки надо загружать и выгружать достаточно прилично, особенно для любого(!) маршрута через всю Германию, тем более он на java написан.

В любом случае, у них есть backend для OsmAnd. Единственное, что не договорились о передачи информации о дорогах, в смысле маршрут без полос и т. п. Но пойду потесриую

Но честно говоря, чудес не жду :)

unxed 2013

Предлагает поворачивать на Невский с Литейного :(

Виктор 2013

Потестировал, даже впечатлен. На Android маршруты 500 км считает до 5 секунд (не Германия, а Польша), что конечно очень хороший результат, особенно для plain Java с ограничениями 30Мб. С другой стороны, опять же недостатки contraction hierarchy.
Если представить себе, что можно записать в файл расстояния между точками, то рассчет маршрута занимал бы доли секунды, но файл был бы гигантский.

Так вот к чему я, Польша роутинг данные (без названий) занимает 100Мб, что на самом деле многовато, но петрушка в том, что для Car/Bicycle/Pedestrian должен быть свой файл, то есть 300Мб. И опять же невозможно повесить опции для типа avoid something, prefer. Я слышал Dennis собирался как-то пофиксить это в contraction hierarchies алгоритме и включить информацию по пробкам, но воз и ныне там.

Возможно я не понимаю до конца CH алгоритма, но мне кажется в этом есть концептуальная проблема. Надеюсь на удачное разрешение вопроса динамического роутинга и сравнительный размер файла :) Для сайтов без динамики подходит более чем! Для узконаправленных мобильных решений подходит однозначно!

kakkoii 2013

Работает быстро, но без restriction’ов и промежуточных точек как-то очень грустно. Зато для великов считает, для меня это огромный плюс в сравнении с OSRM (он по грунтовкам не хочет роутить).
Надеюсь будет развиваться.

AHTOH 2013

Виктор! ждём OsmAnd 1.6 !!! ;)

progserega 2013

Что-то он из Владивостока в Новосибирск через Китай ведёт:
http://graphhopper.com/maps/?point=43.112262%2C131.935501&point=55.027038%2C82.937508&vehicle=CAR

Плюс как-то не учитывает уровни дорог — ведёт по городу, вместо того, чтобы вести по хорошей (на уровень выше) объездной:
http://graphhopper.com/maps/?point=43.541705%2C131.974297&point=44.041699%2C132.036438&vehicle=CAR

Хотя наверно всё это мелочи.

Популярное