Tagowanie pasów jezdni

Powinieneś zgłosić problem autorom Navigator Free. IMHO nie powinno się wprowadzać restrykcji, których nie ma w rzeczywistości, tzn. nie ma znaków drogowych. A mapowanie pod program nawigacyjny jest niezgodne z dobrymi praktykami OSM.

To mało rozsądne co zrobili, ale ma swój sens z innego powodu:
Za każdym razem gdy nawigacja ma manewr na nowej drodze, musi generować tzw. voice message.
Jak masz mały łącznik, wypluje te dwa komunikaty zaraz po sobie co jest strasznie wkurzające. Dlatego (ponieważ to tania nawigacja) omijają tenproblem nawigując po głównych węzłach.
By tego nie robić można analizować długość łącznika i usuwać zbędny, denerwujący komunikat.

Jak to robią profesjonaliści?
Dodaje się dodatkową relację obejmującą cały obszar skrzyżowania.
W OSM tego nie ma, bo było by prawdopodobnie zbyt trudno tłumaczyć całej społeczności o co chodzi.
No i przekonywać czemu dla takiej, z punktu widzenia OSM, dupereli tworzyć dodatkowe relacje których społeczność generalnie nie lubi :wink:

Marku, od siebie dodam, że jest absurdem iż żadna z popularnych nawigacji nie obsługuje drogi jako “via” w restrykcjach… A czasem inaczej się po prostu nie da zaznaczyć zakazu (np. zawracania na łączniku dwujezdniowej drogi). To bardzo zmniejsza użyteczność OSM jako nawigacji i wstyd, że programiści OSRM, Navigator Free, OsmAnd itp. nie garną się do naprawy tego :confused:

Podpisuję się pod tym.

RicoElectrico,
powiem tak: Firma w której aktualnie pracuję potrafi to robić i oczywiście obsługuje to.
Staram się by wyszło to jako darmowa apka, lub taka np. za max. 5 zł.
Z czym walczę to przekonanie decydentów, że na coś takiego byłby zbyt…
Nie wiem jak uważacie.

Marku, stworzenie kolejnej aplikacji nie załatwi sprawy. W Internecie jest mnóstwo instalacji OSRM i innych routingów. Kwestia jest taka, i to jest problemem który trzeba obejść - elegancko czy trochę mniej elegancko - żeby zaimplementować te restrykcje bez uciekania się do modelu “edge expanded” gdzie segmenty dróg, a nie skrzyżowania, są węzłami grafu routingu. Mapbox coś takiego pokazał, no ale jak się domyślam to wymagałoby przepisania znacznej części aplikacji. To nie wchodzi w grę. Poza tym nie wiem jak z szybkością podejścia “edge expanded”. Navigator Free śmiga nawet na największym złomie i routuje przez całą Polskę w kilka sekund.

Edit: OSRM ma ten ficzer w planach https://github.com/DennisOSRM/Project-OSRM/issues/886

Jako typ z natury czepliwy będę polemizował:

  1. To forum o mapach OSM, nie o Garminie, Automapie, Tomtomie, itp.
  2. Przykład, który podałem w poście nr 100 i zobrazowałem poprzez OSRM dotyczy map OSM. OSRM jako narzędzie mapowiczów dla OSM, rozumie ma podpowiadać czy narysowano poprawnie (przy bieżących funkcjach nawigacji wykorzystujących OSM) daną drogę. Widać na nim, że jest problem, który można rozwiązać przy wykorzystaniu restrykcji. Ów problem nie powstaje na styku OSM i Navigator Free ale wewnątrz OSM. Po co odwoływać się do programistów Navigatora?
  3. Co mam rozumieć pod pojęciem “znaki drogowe”? Przykład z postu nr 100 w rzeczywistości nie posiada żadnego oznakowania pionowego… ale ma poziome. Jest nim podwójna linia ciągła - NIEPRZEKRACZALNA. Skąd OSM/OSRM ma wiedzieć, że nie jest to typowe skrzyżowanie?
  4. W Polsce nierzadko spotyka się skrzyżowania, na których dopuszczalne manewry wynikają z jego geometrii oraz narysowanych pasów na jezdni tzw. przestrzeni wyłączonych z ruchu (np. jazda tylko w lewo przy braku możliwości zawrócenia). Ponadto użytkownicy dróg błędnie interpretują znaki pionowe i poziome np. nakaz jazdy w lewo na skrzyżowaniu jest jednoczesnym zakazem skrętu w prawo, jazdy na wprost, oraz zakazem zawracania. Szczególnie ten ostatni jest nagminnie łamany. Oto przykład braku restrykcji:
    http://map.project-osrm.org/?hl=pl&loc=50.021969,21.983281&loc=50.021838,21.983257&z=18&center=50.021969,21.982886&alt=0&df=0&re=0&ly=-1171809665
    teoretycznie na tym skrzyżowaniu można jeździć po kwadracie… Moje rodzinne miasto Rzeszów. Wprowadzać restrykcje??? Czekam na komentarze

PS. A to przykład, o którym pisałem w poście nr 94: http://map.project-osrm.org/?hl=pl&loc=50.022470,21.984283&loc=50.022505,21.982560&z=18&center=50.021969,21.982886&alt=0&df=0&re=0&ly=-1171809665
Czy ewentualnym rozwiązaniem tego problemu byłoby rysowanie łączników wg zasady: zjazd z drogi primary w secondary = łącznik primary; wjazd z teritary w secondary = łacznik secondary czyli łącznik jest zawsze tej samej klasy co droga wyższej kategorii.

Rozwiązanie jest proste - nie stosować typu highway=*_link. Serio.
Ja nie wiem skąd się bierze ten zapał do stosowania *_link wszędzie i to do tego stopnia, że niektórzy potrafią drogę biegnącą kilka(naście) kilometrów tagować np. jako highway=tertiary_link (sic!).
Wg mnie ten tag powinien być stosowany co najwyżej na tzw. przelotkach/zawrotkach, jak np. ta: http://www.openstreetmap.org/way/172854539

Jeśli w przypadku z postu 100, jest nałożona restrykcja, że nie można zawracać, a mimo to nawigacja zawraca, to jest to błąd nawigacji.
Jeśli w przypadku z postu 100, brak restrykcji, to jest to błąd danych i należałoby uzupełnić dane.

Inną sprawą jest błedny wybór trasy przez ostry skręt głównego ciągu w inny ciąg, mimo że wcześniej był jakiś łącznik. Zakładam że taki skręt jest w obu przypadkach prawidłowy (nie ma znaków w rzeczywistości, a zatem nie powinno być restrykcji w OSM). Wtedy dane są kompletne, a błąd leży po stronie aplikacji.
Np, OsmAnd błednie sugerował późniejszy ostrzejszy skręt ( http://osrm.at/6V5 ) mimo że OSRM podaje już prawidłowo ( http://osrm.at/6V4 ).

Trzecim wreszcie przypadkiem jest brak respektowania rekstrykcji zawracania.

To są oddzielne przypadki i niepotrzebnie są mieszane w jednym wątku.

Znaki drogowe są poziome i pionowe. Podwójna ciągła to też znak drogowy. Tak należy rozumieć i wprowadzać do OSM.

Nie.
Jeśli faktycznie znaki zabraniają skręcić, tak jak pokazuje routing, to należy dodać brakującą restrykcje.
Niezależnie od tego, kod nawigacji jest do poprawki, bo powinna wybrać wcześniejszy link …

Tu nie ma restrykcji. Podana trasa jest celowo tak pokazana aby przejaskrawić problem. Droga w realu wygląda tak:
https://www.google.pl/maps/@50.062458,21.695457,3a,75y,81.35h,68.69t/data=!3m4!1e1!3m2!1sYA8Xnj8iBsFMHMOjOmffEw!2e0?hl=pl
droga z “twardo” rozdzielonymi pasami ruchu zmienia się w typową drogę dwujezdniową.
Podsumowując - WPROWADZAĆ RESTRYKCJE

Temat poruszyłem pod wpływem postu popeja

A jaka jest Wasza sugestia do pkt 4 i pokazanego w nim przykładu z Rzeszowa? Czy tu też wprowadzać restrykcje?

Zgadza się. Moje doświadczenie mi sugeruje, że problemy z nawigacją należy dyskutować na forum związanym z nawigacją.

Tak prowadzi program BaseCamp na mapie OSM:

Tak prowadzi BaseCamp na mapie OSM:

Tak prowadzi BaseCamp na mapie OSM:

Jak widzisz, nic w danych OSM nie brakuje do poprawnego routingu, zgodnie z Twoimi oczekiwaniami. IMO właściwe byłby danie szansy twórcom Navigator Free, aby mogli doskonalić swój program. Ale to chyba trzeba zrobić gdzie indziej.

Wracając do OSM, wydaje mi się, że przykład pierwszy nie wymaga interwencji. Skręt o 180 stopni jest oczywistym zawracaniem i nawigacja nie powinna tego robić. Tak samo, jak nie powinna zrobić zawracania na najprostszym skrzyżowaniu, gdzie nikt nie rysuje zakazu zawracania na każdej drodze dochodzącej do skrzyżowania.

Punkt drugi jest wątpliwy. Prawdopodobnie nawigacja bierze pod uwagę odstęp miedzy drogami i szacuje, czy zawrócenie jest możliwe. Analogicznie w OSM można szacować, czy restrykcja jest potrzebna. Ale dopóki nie ma sprecyzowanych reguł, pewnie zarówno wariant bez jak i z restrykcjami byłby do zaakceptowania.

Punkt 3 jest oczywistym błędem nawigacji i nie powinien się pojawić na tym forum.

Jeżeli ktoś ma ochotę potestować mapę OSM do nawigacji samochodowej, to tutaj jest moja mapa:
http://www.gmaptool.eu/en/content/poland-osm-auto

A tutaj program BaseCamp:
http://www.garmin.com/en-US/shop/downloads/basecamp

Hmm, polemizowałbym. Większość problemów w routingu które spotkałem, wynikała z błędów po stronie danych, czyli w tym przypadku po stronie OSM. Jednak zgadzam się, że ta kwestia (traktowanie dróg *_link) może wynikać z nadawania im niskiego statusu w algorytmie routującym nawigacji, więc tam trzeba uderzać. Ewentualnie zweryfikować, czy poprawnie stosujemy ten typ dróg, bo może być tak, że mamy naszą polską szajbę na punkcie ich stosowania. Jak już pisałem wcześniej, IMHO ten typ powinniśmy stosować tylko do przelotek/zawrotek.

Akurat w tym wypadku link jest zastosowany jak najbardziej poprawnie. Użycie linku jest dużym ułatwieniem dla nawigacji, bo daje jednoznaczną wskazówkę, że to jest połączenie między różnymi drogami. Nawigacja może wtedy np. podać informację o kierunku na podstawie docelowej drogi a nie tylko samego linku. Może określić użytecznośc linku nie tylko na podstawie typu linku ale na podstawie typu drogi, do której prowadzi.

Zgadzam się, że można zobaczyć dziwne zastosowania linków, ale to nie taki przypadek.

Wiele tych błędów można naprawić automatycznie przygotowując wersję dla nawigacji. Tylko twórca nawigacji musi mieć informację zwrotną od użytkowników :wink:

Większość dróg jest połączeniem między różnymi drogami. Wyjątkami są te, które nie są :wink:
IMO *_link powinno być stosowane dla połączenia właśnie między równymi drogami, a nie różnymi (w sensie, różnej klasy).

Serio? Da się niestyki poprawić automatycznie? Po co ja przez tyle lat uczulam mapowiczów, by nie robili niestyków? :wink: Kurde… #tyleprzegrać :wink:

Panowie/Panie,
Zostawmy może wywołany temat highway=*_link…
Co z restrykcjami skrzyżowań?

Z jednej strony mamy opinie Mateusza Korniaka a z drugiej popeja. Rozbieżne niestety.

PS. Z ciekawości sprawdziłem jak identyczny przypadek z postu 100 wyznaczy targeo.pl
http://mapa.targeo.pl/Mapa_Polski,18,21.6472900,50.0632200?l=d7b3593e772bc038

:laughing:

Dlatego link wyróżnia takie połączenie. Korzyści Ci podałem. I nie są to moje wymysły, tylko wiem, że nawigacje z tego korzystają.

Byłoby to marnotrawstwo pożytecznej funkcji linków. A co byś proponował przy skrzyżowaniu autostrady z drogą szybkiego ruchu?

Nie przesadzajmy :slight_smile:
Ale np. linki zbyt niskiej kategorii łatwo poprawić automatycznie. Jeżeli zamiast linku wstawisz drogę, to już nie będzie proste.

Jeżeli zamiast linku wstawię drogę to nic nie będzie trzeba poprawiać, bo po co? Pytam z ciekawości, no offence :wink:

Trzymając się zacytowanego zdania, mógłbym stwierdzić, że “nie mapujemy pod nawigację”, bo sugerujesz, by używać linków po to, by móc je potem poprawić w procesie przygotowania mapy :wink: