Алгоритм прокладки маршрута

Там начали генерализировать граф, как испокон веков делалось во взрослых программах (например томтом, сиджик, igo). Народ жаловался на скорость прокладки маршрута - они и реализовали. С попутным отрезанием формата nm2, чтобы больше не было жалоб “ваша программа медленно работает”.

OSRM может и хорош, но не умеет прокладывать маршрут с промежуточными точками, что сильно расстраивает.

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

Вот мои выводы:
map.project-osrm.org - не умеет работать с промежуточными точками
http://www.yournavigation.org - умеет работать с промежуточными точками , имеет экспорт в форматы .gpx и .wpt , но нельзя изменить маршрут перетаскивая проложенную дорогу как в гугле.
http://www.openrouteservice.org/ - вроде как можно устанавливать промежуточные точки, но прокладка почему то идет все равно по 2м точкам
http://mgorka.info/by/router.html - не умеет работать с промежуточными точками
http://open.mapquest.com - умеет работать с промежуточными точками, умеет изменять маршрут перетаскиванием
http://maps.cloudmade.com/ - не вызывается меню поиска

В общем я для себя нашел что искал, это сервис http://open.mapquest.com, надеюсь и вам пригодится

Почему не умеет? Тыкаете в линию маршрута и тянете в сторону - получается промежуточная точка.

А что подразумевается под “не умеет прокладывать маршрут с промежуточными точками”?
http://osrm.at/6Sq

ну скажем когда в моем случае нужно отметить
Отправка Ошмяны
Загрузка Вильнюс
Растаможка Браслав
Назначение Ошмяны

Проложите мне такой маршрут, когда в OSRM можно только 2 точки задать изначально, а в гугле и open.mapquest.com все 4 задаешь, да и если нужно маршрут движение от точки к точке можно изменить перетягиванием выбирая нужную мне дорогу.

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

BuxarNET, эт мы не к тому что вы что-то не так делаете, нравится мапквест - пользуйте мапквест.

дело не в том что нравится а что нет

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

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

Сейчас в стиле осма посоветуют сделать все нужное самостоятельно

ну видимо к этому и идет

а то последние ответы вообще можно воспринять как “не нравится не пользуйся”

Твоя ошибка заключается в том, что при росте объёма данных сложность растёт не линейно, а экспоненциально.

А* ищет 100% точно, самый идеальный маршрут, причём и при однонаправленном, и при двунаправленном (встречном) поиске.

Реализовать на Питоне, кстати, недолго. Но на этом алгоритме серьёзный роутер для размеров дорожной сети страны уже не построить. Разве что если написать на C, будет что-то приемлемое.

OSRM использует более прогрессивный алгоритм с предварительной обработкой графа, где точкам на графе расставляется вес пропорционально их критичности и популярности. Во время поиска маршрута алгоритм идёт из двух точек навстречу, выбирая в каждой точке соседа со всё большим показателем важностьи, и в точке пика два встречных поиска сойдутся, и это будет идеальным путём.

Я осрмом обычно строил маршруты на 5-6 точек. То есть конечно, если бы автоматом появлялась следующая строчка для ввода - это было бы удобнее чем маркеры тягать, но таки строить он их умеет.

Самому делать - это перебор конечно, но в мейл-лист осрмовцам почему бы и не написать?

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

а если точки как у меня находятся на значительных расстояниях, их еще найти нужно (на крупной карте на экран не поместятся, а на мелкой просто могут быть даже не видны)

по поводу предложить идею осрмовцам, то конечно можно а если это предложит не один человек, больше шансов что предложение учтут

для интереса попробовал - 35 секунд
ну, я точных адресов не знаю, кншн, только в города тыкал и тянул

С какой стати?
Приведи хоть один аргумент, по которому сложность может расти быстрее, чем квадратичная.

написал, посмотрим что ответят

скажите как его добавить=МАПКВЕСТ=??? у меня прокладка в онлайн только =Your= :roll_eyes: в режиме =OSPM=пишет ошибка прокладки-Rout is- цифры динны машрута выводит но маршрут не прокладывает.

https://developer.mapquest.com/documentation/directions-api/

благодарю за внимание…только мне бы как попроще.где …что… и как…не силен я в языках…