Propozycja tagu - znaki drogowe domyślnie nieaktywne

Cześć wszystkim!

Od dawna już myślałem nad tym tematem, więc pora wylać myśli na forum. :slight_smile:

Co i czemu

Proponuję tag, który mógłby zostać dodany do węzłów (będących jednocześnie częścią dróg), które to mają na sobie highway=stop albo highway=give_way.

Znaki te w praktycznie każdej nawigacji powodują dodanie lekkiej ‘kary’ dla trasy, co może mieć wpływ na to jaka trasa zostanie wybrana. Tag ten powinien pozwolić nawigacjom drogowym na ‘pominięcie’ tego znaku drogowego w procesie wyliczania ‘kosztu’ trasy.

No a z drugiej strony usuwać takie znaczniki głupio - bo przecież znak stoi.

Przykłady


:backhand_index_pointing_up: tutaj stop działa wyłączenie w przypadku awarii sygnalizacji świetlnej - czyli zapewne w jakimś 1% przypadków (o ile nie mniej). Sygnalizacja świetlna już daje nawigacjom ‘karę’, dodatkowa kara na tej drodze jest nieuzasadniona.


:backhand_index_pointing_up: tutaj give_way działa bardziej wirtualnie - dla kierowców jest dostępny długi pas rozbiegowy, mogą płynnie włączyć się do ruchu, kara za give_way nie jest potrzebna

Edge case


:backhand_index_pointing_up: tutaj niby pas rozbiegowy jest, ale bardzo krótki (80 metrów - S86 w wielu miejscach nie spełnia standardów drogi ekspresowej) - ja raczej bym give_way tutaj zostawił, mimo wszystko.

Wyjątek od reguły


:backhand_index_pointing_up: tutaj niby pas się nie kończy, jednak w praktyce jest to miejsce ‘tasowania’ się aut, rzadko kiedy zdarzy się, żeby ktoś kontynuował jazdę swoim pasem - a więc give_way ma sens

No ale jaki tag?

Kwestia dyskusji - proszę o propozycje

  • Ja sugeruję traffic_sign:secondary=yes - jeden tag na wszystkie przypadki
  • Kwiatek_123 na Discordzie zasugerował wcześniej give_way=merge_line, give_way=traffic_lights oraz stop=traffic_lights - ta opcja mi się mniej podoba(bo daje 3 tagi na ten sam efekt), ale podaję ją pod ocenę innych.

Dajcie znać co myślicie, pozdrawiam :slight_smile:

6 Likes

Co do sygnalizacji to raczej dość powszechny przypadek. Niekoniecznie z awarią, a np. wyłączaniem w godzinach nocnych.
Kojarzę spory o to w Warszawie :grin:

Było to dyskutowane np. tutaj: How to tag traffic signals turned off at night - #2 by Nadjita

Ja stąd wyciągnąłem i póki co dodałem kilka razy traffic_signals:off=stop/give_way, bo nic lepszego nie znalazłem. Nie rozwiązuje to oczywiście pozostałych kwestii.

Co do samego malowania na jezdni, to w ogóle jest na to tagowanie: Key:road_marking - OpenStreetMap Wiki (kojarzyłem proposal, ale widzę, że nawet już weszło).

1 Like

jak już to musi być to bym zamiast highway=stop bym dawał jakieś highway:conditional=stop @ traffic_lights_switched_off

3 Likes

Ogólnie jestem za wprowadzeniem schematu tagowania dla takich przypadków.

Conditional zaproponowany przez @Mateusz_Konieczny wydaje się być dobrym pomysłem.

Uwagę mam co do opisanych Edge case’ów. Określenie, czy krótki pas rozbiegowy potrzebuje specjalnie give_way jest bardzo sugestywne i będzie prowadzić do wymieszanych oznaczeń. Należałoby określić minimalną odległość dla pasa rozbiegowego aby dodać proponowany tag, ale raczej nie praktykuje się takich warunków tagu.

Miejsce tasowania się aut wymaga de facto takiego samego zachowania każdego kierowcy bez względu na to, skąd jedzie, więc karanie tylko jednego wlotu byłoby bez sensu.

Jestem za.

No ja właśnie szukałem czegoś uniwersalnego i prostego - uważam, że taki conditional się nigdy nie przyjmie. Dużo ciężej będzie zrobić na taki tag szablon do edytorów, dużo ciężej będzie wprowadzić to do nawigacji. Ja wiem, że to nie nasz problem, ale jak już wprowadzamy tag, to myślę że warto go przemyśleć tak, aby był łatwo em ‘konsumowalny’.

I jak conditional-em zawrzeć info o pasie rozbiegowym?

Tu się totalnie zgadzam, dlatego też uznałem, że wypada taki edge-case podać. :slight_smile:

Niby tak, ale jednak nie. Tam give_way jest tylko na jednym one_way i z własnych doświadczeń wiem, że tam niektórzy potrafią się nawet zatrzymać jak na stop-ie. I faktycznie ci co mają give_way ustępują pierwszeństwa tym jadącym ‘z dołu’. Ponownie kwestia ‘lokalnego wyczucia’.

PS: Jeszcze zapomniałem dodać, że w Katowicach dodałem kiedyś disused:highway=stop przy sygnalizacji świetlnej, ale to też takie se..

ja bym się akurat spodziewał że nawigacje tą informację raczej całkowicie oleją i nie będą jej używać, niezależnie od formatu

samo dodawanie też nie widzę jako bardzo wartościowe

chodzi tu o ustąp pierwszeństwa które i tak na własny pas wjeżdża? więc nie za bardzo ustępuje?

Dokładnie o to

Tak też może być, osmand chyba nie ma możliwości w routing.xml dać wykluczenia w stylu “give_way ale bez traffic_sign:secondary

Tak się nad tym zastanawiałem i mam pytanie do znawców nawigacji – czy punktacja takiego znaku jest na tyle istotna? Jakoś nie wyobrażam sobie sytuacji, że nawigacja skieruje inną trasą niż bezkolizyjną tylko dla tego, że przed pasem rozbiegowym jest give_way. Obserwuję wręcz odwrotną tendencję – jak najwięcej ciągnąć drogami bezkolizyjnymi, nawet jeśli oznacza to +15 kilometrów, ale czasowo wychodzi na to samo.
Z resztą, skoro nie tagujemy pod render, to pod nawigację chyba też nie powinniśmy ;)

To ma znaczenie głównie w miastach. Wtedy nawigacja kieruje główną drogą, która zazwyczaj jest tą która ma pierwszeństwo na każdym skrzyżowaniu. A jednak w miastach wyjazd z bocznej drogi potrafi zająć kilka minut.
Na drogach bezkolizyjnych może to robić znaczenie na bardziej skomplikowanych węzłach gdzie trzeba zmieniać pas kilka razy (widziałem przypadki kiedy nawi zamiast wybrać wygodny węzeł kazała zawracać zaraz po nim).

EDIT: Teraz mi się przypomniało. “Kary” to jedno, ale taki OsmAnd ma możliwość informowania o znakach ustąp pierwszeństwa/stop. Trochę bez sensu żeby informowały o nich kiedy nie mają znaczenia.

No nie popadajmy w skrajności - w końcu te stop oraz give_way to są głównie używane przez nawigacje.

Póki co napisałem Is there a way to ignore `obstacle_time` for specific tag based on presence of another tag? · osmandapp/OsmAnd · Discussion #24268 · GitHub
Mam nadzieję, że się czegoś dowiemy przynajmniej w tym przypadku - OsmAnd jest chyba najbardziej ‘zaawansowaną’ nawigacją jaka korzysta z OSM, więc myślę, że jeśli tam to nie będzie obsługiwane to cała zabawa straci sens :sweat_smile:

Ja bym zrobił z :conditional właśnie po to by nawigacjom ułatwić.

To jest coś co niemal zawsze powinno być ignorowane, po co robić przez dawanie dziwnego dodatkowego tagu o znaczeniu “zignoruj poprzednie instrukcje”?

Nie lepiej od razu do dziwnego tagu dać? Może nawet na jednym węźle z normalnymi światłami?

2 Likes

Jedynie się boję, że ktoś kiedyś wpadnie na taki highway:conditional=stop @ traffic_lights:off w iD czy innym, nie pokaże mu się, że to stop i doda tam to tak czy siak. Plusik taki że to łatwo będzie się dało wyłapać overpassem.

No i nadal nie wiem co z pasem rozbiegowym - tam mi highway:conditional nie pasuje

Wydaje mi się, że nie tędy droga - i żeby to zrobić porządnie to do znaku highway=give_way można by dodawać jakąś informację że to pas rozbiegowy (give_way=merge_line?) i długość pasa rozbiegowego (merge_line=80 m?) - i wtedy rozmawiać z nawigacjami o respektowaniu tego.

Tak to ciężko zdecydować kiedy znak powinien obowiązywać, a kiedy nie.

A to nie wynika z lanes=*?

Jakie w sumie są te znaki, stoją znaki “ustąp” w miejscu gdzie nie ma nikomu ustępować?

1 Like

Z turn:lanes dało by się wyciągnąć, tylko to nie tag, a geometria i nie wiem jak to skojarzyć ze znakiem

No dobra czyli póki co rysuje się to tak

  1. Na znaki aktywne tylko przy awarii sygnalizacji świetlnej robimy highway:conditional = stop/give_way @ traffic_lights:off
  2. Do give_way, które prowadzi na pas rozbiegowy dajemy give_way=merge_lane - lane a nie line

Jakieś za, przeciw?

Chodzi o przykładowo takie miejsca
Patrz po prawej na jednię, która się włącza do ruchu: https://www.mapillary.com/app/?lat=49.84447369999998&lng=19.068994299999986&z=19.511333779766773&pKey=1022004113443002&focus=photo
Jest tam znak give_way


i kawałek dalej mamy pas rozbiegowy:

Teoretycznie ustępujesz, w praktyce włączasz się płynnie do ruchu.

1 Like

Dzięki za obrazek. Szczerze mówiąc osobiście takiego znaku nie zaznaczałbym jako highway=give_way na drodze (na highway=motorway_link), jako że funkcjonalnie nie ma tam skrzyżowania. Fakt, że z pasa rozbiegowego trzeba zmienić pas wynika z lanes=* i turn:lanes=...|merge_to_left.

Jeśli chcecie zaznaczyć, że stoi znak, sugeruję traffic_sign=* obok drogi (w miejscu gdzie znak fizycznie stoi).

Jak tak zrobicie, to polecam tylko opisać to w angielskiej wiki. Mi to podchodzi pod trolltaga (give_way ale tak naprawdę nie), przynajmniej niech będzie dokumentacja.

1 Like

Też tak myślałem kiedyś, ale to ma jeden problem:

  1. Przychodzi ktoś kto nie wie o tym temacie i powodach które wyżej wymienialiśmy
  2. Ten ktoś używa iD
  3. Ten ktoś przeciąga node z traffic_sign=give_way na drogę i zamienia je na highway=give_way bo myśli że tak być powinno
  4. Brak profitu, mamy ponownie give_way na drodze mimo że nie ma sensu.

Już prędzej taką wersję bym widział dwojako
Node traffic_sign=give_way obok drogi + node disused:highway=give_way na drodze (tu przynajmniej jest szansa, że ktoś się skapnie, że zostało to tak celowo otagowane)