Routing na osm.org

http://apmon.dev.openstreetmap.org/routing/

Super, że jest.
Trochę gorzej jeśli chodzi o samo działanie.
Przydałaby się opcja schowania lewego panelu.
Nie wiem dlaczego samochód prowadzi przez Kolberga a rower naokoło, powinno być odwrotnie.

Edyta
To zależy chyba od wyboru “Routing engine” dla “Automatic” pokazuje raz tak, raz inaczej.
Najlepiej (w tym przypadku) radzi sobie “YOURS routing service”.

Także i ten serwis (podobnie jak OSRM) źle prowadzi przez skrzyżowanie dróg [81] i [44] w Mikołowie: http://osm.org/go/0Lc5_wdKB-.
Przez skrzyżowanie jeździ się praktycznie tylko na wprost, a do skrętów w prawo/lewo służą łączniki i ul. Jasna (wyjątkiem jest możliwość skrętu z [81] w lewo na Gliwicką [44]). Prawdopodobnie przyczyną złego prowadzenia jest nieobsługiwanie sytuacji, gdy rolę via w relacji routingu sprawuje droga (way), a nie punkt. Byłem przekonany, że coś tam namieszałem skoro OSRM źle prowadzi, ale CloudMade daje radę.

Mozesz napisac do twórcy ze ma to poprawic? Dobrze ze odkryles ten problem!

Pisac nalezy do: http://www.osmfoundation.org/wiki/Engineering_Working_Group.

Autorem jest niejaki apmon, jednak nie ma do niego bezposredniego kontaktu.

To nie jest nowy silnik routingu tylko próba integracji OSRM/YOURS/itd. w osm.org, więc proponuję nie zawracać apmonowi głowy błędami w wyliczaniu trasy tylko kierować się od razu do autorów silników.

Pawle, masz lub wygrzebiesz namiary do nich?
Pozdrawiam,
Marek

https://github.com/DennisOSRM/Project-OSRM
http://www.yournavigation.org/

Wrzuciłem “issue” w projekcie OSRM. Aż sobie konto w GitHubie musiałem założyć, ale czego się nie robi dla społeczności…
YOUR prowadzi poprawnie:

Tak jak napisałem na githubie OSRM wspierane są tylko relacje (way)->(node)->(way).
Są one dużo łatwiejsze do implementacji bo działają tylko lokalnie.
Obawiam się że szybko Dennis tego nie poprawi.

W przypadku tego skrzyżowania spokojnie one wystarczą choć trzeba będzie
użyć ich kilka więcej.

Zaletą takiego podejścia jest moim zdaniem dużo lepsza czytelność
pod JOSMem z użyciem plugina turnreastrictions.

Michał

Dzięki za informacje. Chętnie zrezygnuję z tego rodzaju relacji, z tym że na tym forum panuje raczej pogląd “jeśli jakieś narzędzie nie wspiera pewnych tagów/relacji, to należy zmienić narzędzie”.

Czy ktoś czujący się bardziej kompetentny niż moja skromna osoba w temacie tagowania, a w szczególności relacji “turn restrictions” mógłby się wypowiedzieć w tym temacie?
Konkretnie czy:
a) zostawić relacje (way)->(way)->(way), ponieważ, jak widać na przykładzie YOUR i CloudMade, można je prawidłowo obsłużyć
b) zamienić je na większą ilość relacji (way)->(node)->(way) w imię poszerzania zestawu działających serwisów nawigacyjnych

Jeszcze nigdy nie miałem potrzeby zastosowania restrykcji way->way->way Nie wiem czy to wynika z faktu, że nie mapowałem skomplikowanych skrzyżowań, czy po prostu świadomie omijałem coś tego typu. Jeśli uważasz, że nie da się tego wykonać way->node->way to ja bym tego nie zmieniał.

Czemu miałoby się nie dać? To tylko jedna relacja więcej…

Oczywiście, że się da zapisać to w formie way->node->way kosztem ilości relacji.
Tam się krzyżują dwie dwupasmówki, dlatego węzłów stanowiących skrzyżowanie jest kilka. Prościej było zrobić relacje z drogami “via” bo wtedy jest ich mniej. A te drogi “via” to krótkie odcinki zawarte w samym obszarze skrzyżowania.
Założyłem, że skoro w terenie jest jeden znak “nakaz jazdy prosto”, to najlepiej będzie odwzorować go w bazie jedną relacją.

Oczywiście, że to jest słuszna koncepcja, ale myślę, iż na dzisiaj najlepiej zgłosić ten problem autorom algorytmu routującego i zrobić relację tradycyjnie. Swoją drogą rzuć tutaj linkiem do tego zgłoszenia na githubie, co byśmy mieli na niego oko :wink:

Bardzo proszę:
https://github.com/DennisOSRM/Project-OSRM/issues/483

Z moich danych ( UMP ) dobrze ponad 90% przypadków da się obsłużyć
relacjami way1->node->way2.

Pozostałe raczej da się zapisać za pomocą :way->node->node->way

Większość wyjątków to zakazy zawracania na drogach dwupasmowych
http://bit.ly/Rb1Adk (istniejącego zakazu OSRM nie obsługuje)

Pozostałych przypadków jest już bardzo mało.
Wynikają zwykle z malowania ciągłych linii.
http://bit.ly/Rb1YZl (nie wolno tak pojechać)

Przypadków z pięcioma elementami nie spotkałem
chociaż da się je wymyślić .

Tu inne zgłoszenie tego samego. Raczej zmian się nie spodziewam.
Obawiam się że sam algorytm jest nieprzystosowany.
https://github.com/DennisOSRM/Project-OSRM/issues/290

Michał

Skoro relacje via way da się rozbić na kilka już obsługiwanych via node to nie powinno być tak źle … Poczekajmy co autor odpisze.

Na moje pytanie o plany wsparcia relacji “turn restriction” w formie way->way->way autor odpisał. Cytuję:
Yes, at some point in the future.

Skrzyżowanie, od którego zaczęła się dyskusja, przerobiłem na relacje way->node->way.

Gosc jest przepracowany ostatnio, chetnie by to ugryzl, ale czasu nie ma - koresponduje z nim. Az sie prosi o sponsoring by ktos z glowa nad tym przysiadl i robote dokonczyl…