Asystent Pasa Ruchu

Z UMP

(Różnice między wersjami)
Aktualna wersja (14:22, 15 lip 2024) (edytuj) (anuluj zmianę)
(Dobre praktyki - standardy pisania komunikatów: uaktualnienie dotyczace drogowskazow)
 
(Nie pokazano 10 wersji pośrednich.)
Linia 5: Linia 5:
[[Grafika:AsystentPasRuchu4.JPG]]
[[Grafika:AsystentPasRuchu4.JPG]]
-
Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP-pcPL nie ma jeszcze tej funkcjonalności.
+
Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP nie ma jeszcze tej funkcjonalności.
-
== Asystent Pasa Ruchu by UMP-pcPL ==
+
== Asystent Pasa Ruchu by UMP ==
-
W mapach projektu UMP-pcPL od października 2009 mamy możliwość używać namiastki asystenta pasa ruchu.
+
W mapach projektu UMP od października 2009 mamy możliwość używać namiastki asystenta pasa ruchu.
Mamy wpływ na to, co wyświetla się w górnym zielonym pasku nüvi.
Mamy wpływ na to, co wyświetla się w górnym zielonym pasku nüvi.
Linia 75: Linia 75:
informację Skręć w lewo/trzymaj się prawe w Label.
informację Skręć w lewo/trzymaj się prawe w Label.
-
== Dobre praktyki ==
+
== Dobre praktyki - standardy pisania komunikatów==
 +
Od momentu gdy UMP zaczęło być używalne w nawigacjach bazujących na OSM, zaistniała potrzeba ujednolicenia standardu nazywania podpowiedzi/komunikatów, tak aby podczas konwersji mp->xml można było rozpoznać czy podpowiedź dotyczy wyboru pasa ruchu, czy drogowskazu na który trzeba się kierować. Ponieważ w wersjach mapy bazujących na konwersji do xml (osm) komunikaty inne niż drogowskazy są ignorowane, dlatego stworzone zostały poniższe standardy, aby można było automatycznie rozróżnić podczas konwersji, czy brać pod uwagę tę podpowiedź czy nie.
 +
 
 +
* Komunikaty będące drogowskazami np. Katowice, Kraków, 91 Gdańsk (gdzie 91 to numer drogi)
 +
** Jeśli drogowskaz nie zawiera numeru drogi, to w Label wpisz: '''T,MiastoA/MiastoB/MiastoC''' lub '''T,MiastoA,MiastoB,MiastoC'''. "T," jest automatycznie usuwane zarówno przez Garmina jak i konwerter, a MiastoA/MiastoB/MiastoC lub MiastoA,MiastoB,MiastoC jest automatycznie dzielone na odpowiednie wpisy w xml. Wyższy priorytet dla oddzielania miejscowości ma znak '''"/"''' dlatego gdy pojawią się w jednej linii i przecinek i slash to używany będzie '''"/"'''.
 +
** Jeśli drogowskaz zawiera numer drogi to w Label wpisz '''[nr_drogi_1/nr_drogi2] Miasto1/Miasto2/Miasto3''' lub '''[nr_drogi_1,nr_drogi2] Miasto1,Miasto2,Miasto3''', lub '''[nr_drogi_1/nr_drogi2] Miasto1,Miasto2,Miasto3''' lub '''[nr_drogi_1,nr_drogi2] Miasto1/Miasto2/Miasto3'''. Nie trzeba wtedy dodawać na początku "T," ale jest to dozwolone. Numer drogi i miasta są traktowane niezależnie, dlatego można użyć do rozdzielania numerów i miast zarówno "/" jak i ",", ważne aby zachować jednorodność w ramach numeru i miejscowości.
 +
 
 +
* Wszelkie pozostałe komunikaty
 +
** W Label w takim przpadku wpisz po prostu co chcesz zobaczyć na belce Garmina np. lewy pas, prawy pas itd. W wersji xmlowej zostanie to zignorowane.
 +
 
 +
Pozostałe ustalenia:
* Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na wąskich odbiornikach nie będą się mieścić.
* Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na wąskich odbiornikach nie będą się mieścić.
Linia 88: Linia 98:
[[Kategoria:Routing]]
[[Kategoria:Routing]]
[[Kategoria:Rysowanie]]
[[Kategoria:Rysowanie]]
 +
 +
== Prawdziwy LA dla 7ways i osmAnd oraz propozycje wykorzystania w garmnie ==
 +
 +
Dla garmina nie zostało to zaimplementowane, jednak korzystają z tego 7ways i osmAnd (i prawdopodobnie inne oparte na format osm)
 +
 +
'''Opis wraz z przykładami robi się w [[LA - wprowadzanie]]'''
 +
 +
Sposób opisu Lane Asistant, tag w extras:
 +
LA
 +
forma zapisu:
 +
dla lini jednokierunkowej
 +
LA=|...|
 +
lub
 +
LA=...
 +
dla lini 2 kierunkowej
 +
LA=+|...|,-|...|
 +
 +
gdzie ... to poszczególne pasy ruchu oddzielone "|" a łączenia
 +
kierunków na pasie oddzielone są "+"
 +
np LA=|Z+L|S|S|S+P|
 +
Wielkość liter bez znaczenia.
 +
 +
Co oznaczają literki (wielka litera to proponowany skrót):
 +
* '''P'''rawo
 +
* '''L'''ewo
 +
* pro'''S'''to lub pros'''T'''o
 +
* '''Z'''awrotka
 +
* '''*''' (gwiazdka) pas ruchu bez oznaczenia
 +
 +
* '''*P'''rawo - specjalny przypadek skrętu w prawo
 +
* '''*Z'''awrotka - specjalny przypadek zawrotki
 +
 +
tu poszukujemy lepszych skrótów
 +
* '''osP''' - ostro prawo
 +
* '''osL''' - ostro lewo
 +
* '''leP''' - lekko prawo - dla zjazdów A/S
 +
* '''leL''' - lekko lewo
 +
 +
dla łączonych:
 +
* L+S
 +
* S+P
 +
* ...
 +
 +
<s>Rozróżniane czy lekki skręt czy ostry można sobie darować.</s> - nie można jak chcemy by działały nie tylko na garminie.
 +
 +
 +
dla 2 kierunkowych kierunki ruchu oznaczamy +/-
 +
np
 +
LA=+|L|S|P|,-|S|P|
 +
gdzie "+" to informacja dla zgodnej z kierunkiem polilini, "-" dla
 +
kierunku przeciwnego. Jedyne co trzeba pamiętać to że przy odwracaniu
 +
kierunku polilinii trzeba zmienić + na - i na odwrót .
 +
dla jednokierunkowych oznaczenie
 +
LA=|L|S|P| oraz LA=L|S|P
 +
(w domyśle brak +/- oznacza +)
 +
 +
Z tego na poziomie węzła można by wygenerować dowolną formę jaka
 +
jest
 +
potrzebna (dla osm to tylko odpowiednie "przepisanie" tagu, a dla
 +
sposobu po id drogi będzie trudniej ale też w zasadzie wszystkie
 +
informację są)
 +
 +
Problemy występują przy skrzyżowaniach złożonych z 5 i więcej dróg
 +
(czasem można rozrysować inaczej, ale nie zawsze),
 +
Nie jest też odporne na dorysowanie chodnika <s>(tu w ramach
 +
przeciwdziałania można ograniczyć się tylko do wybranych typów
 +
dróg)</s>. Jeśli ma być uniwersalnie i działać na osm-owych (i nie tylko) nawigacjach to chodniki trzeba umieścić obok skrzyżowania.
 +
 +
 +
 +
Jest to na tyle czytelne że łatwo to zrozumieć, wprowadzać i poprawić
 +
(tylko po zapoznaniu się z opisami literek)
 +
znaki "|" pomiędzy kierunkami poprawiają IMHO znacznie czytelność.
 +
 +
==== dla Garmina ====
 +
Taka informacja wyświetlałaby się na belce na górze i byłaby, po nauczeniu się jak to działa, dosyć czytelna.
 +
 +
 +
Wcześniej proponowany napis "llssp" jest mało czytelny. Lepiej by było pokazywać na belce zamiast llSSp coś takiego: X|X|_|_|X

Aktualna wersja

Asystent Pasa Ruchu ( w tworzeniu)

Spis treści

Asystent Pasa Ruchu by Garmin

Garmin w odbiornikach nüvi serii 7x5 dodał nową funkcjonalność: Asystent Pasa Ruchu (Lane Assist). Pomaga ona wybrać odpowiedni pas na skomplikowanych skrzyżowaniach. Wygląda to tak: (strzałki w lewym górnym rogu)

Grafika:AsystentPasRuchu4.JPG

Na terenie Polski asystent jest dostępny tylko w mapie CNE 2009 i nowszych. GPMapa 2009.2 jak i UMP nie ma jeszcze tej funkcjonalności.

Asystent Pasa Ruchu by UMP

W mapach projektu UMP od października 2009 mamy możliwość używać namiastki asystenta pasa ruchu.

Mamy wpływ na to, co wyświetla się w górnym zielonym pasku nüvi.

Zwykle znajduje się tam nazwa ulicy w którą skręcamy. Teraz w nawiasach może pojawić się dodatkowy komunikat.

Odbiorniki z funkcjonalnością TTS mogą go oczywiście przeczytać.(To było pisane przez Alfa nuvi 360 ???, 765T nie czyta tych komunikatów)

Oto przykładowe zrzuty z ekranu nuvi 200 v2 i programu GarminMobilePC:

Grafika:AsystentPasRuchu5.JPG Grafika:AsystentPasRuchu2.JPG Grafika:AsystentPasRuchu3.JPG

Jak stworzyć mapę z dodatkowymi komunikatami

Najpierw instalujemy sobie Skórki dla Mapedita. Bez tego wprawdzie też można tworzyć linie obsługujące dodatkowe komunikaty, ale będą wyświetlane cienką czerwoną przerywaną linią, nie odróżniającą się od różnych innych typów specjalnych.

W miejscu gdzie chcemy dodać komunikat tworzymy nową trójwęzłową linię typu 0x2f (Podpowiedź)

Powinna być ona zaczepiona w węzłach, podobnie jak zakazy skrętu i być narysowana we właściwą stronę.

Grafika:AsystentPasRuchu6.JPG

Nowy komunikat będzie wyświetlany w czasie nawigacji wraz z informacją o planowanym manewrze.

UWAGA: Jeśli GPS nie planuje w miejscu użycia linii 0x2f wyświetlać żadnego komunikatu, to jej obecność tego nie spowoduje.

Czyli najpierw GPS decyduje, czy komunikat padnie, niezależnie od istnienia Podpowiedzi.
Dopiero po tej decyzji dodawana jest Podpowiedź, jeśli jest zdefiniowana za linii pomocą 0x2f

Dodatkowe komunikaty NIE DZIAŁAJĄ w wersji testowej mapy. Obsługiwane są wersje NI, ogonki i topo.

Technikalia

Jak to działa *technicznie*?

Linia 0x2f zamieniana jest na najnowszą nowinkę w kompilatorze:

[SIGN]
SignPoints=20448,20640,20618
SignRoads=9941,9828
SignParam=T,cośtam
[END]

Ograniczenia i możliwości

  • linia może mieć tylko trzy punkty, czyli dwa odcinki, a nie więcej (jak w przypadku zakazów)
  • w opisie linii 0x2f można pisać
    • Label=T,cośtam (T jak Toward - po polsku do ), jako najbardziej naturalny jest stosowany jako domyślny
    • Label=E,cośtam (E jak Exit- po polsku ??)
    • Label=O,cośtam (O jak Onto - po polsku ??)
  • nie działa w wersji roboczej, a tylko w wersjach ogonkowej, NI i topo

Opcja E,cośtam w label oznacza Exit – czyli wyjazd. Jeśli dodamy linię drogowskazową z Label=E,label, to w odbiorniku pojawi się informacja: Zjazd label w lewo. Może być przydatne na autostradach, do numerowania albo nazywania zjazdów, np: Zjazd 2 w lewo (Label=E,2), albo Zjazd EMILIA w lewo (Label=E,Emilia, emilia pojawi się kapitalikami, tak było przynajmniej u mnie (PW) podczas testów).

Równie przydatna może być opcja O, która też dosyć tajemniczo jest wyjaśniona jako Onto. A po polsku? A po polsku to oznacza ni mniej ni więcej tylko 'na' i może się przydać jeśli mamy strasznie długaśną nazwę ulicy. I tak, jeśli powiedzmy ulica nazywa się: aleja 1000-lecia Państwa Polskiego wtedy to 1000-lecie będzie wyświetlone na pasku nawigacji. Używając opcji O,Label możemy to zmienić i uzyskać informację Skręć w lewo/trzymaj się prawe w Label.

Dobre praktyki - standardy pisania komunikatów

Od momentu gdy UMP zaczęło być używalne w nawigacjach bazujących na OSM, zaistniała potrzeba ujednolicenia standardu nazywania podpowiedzi/komunikatów, tak aby podczas konwersji mp->xml można było rozpoznać czy podpowiedź dotyczy wyboru pasa ruchu, czy drogowskazu na który trzeba się kierować. Ponieważ w wersjach mapy bazujących na konwersji do xml (osm) komunikaty inne niż drogowskazy są ignorowane, dlatego stworzone zostały poniższe standardy, aby można było automatycznie rozróżnić podczas konwersji, czy brać pod uwagę tę podpowiedź czy nie.

  • Komunikaty będące drogowskazami np. Katowice, Kraków, 91 Gdańsk (gdzie 91 to numer drogi)
    • Jeśli drogowskaz nie zawiera numeru drogi, to w Label wpisz: T,MiastoA/MiastoB/MiastoC lub T,MiastoA,MiastoB,MiastoC. "T," jest automatycznie usuwane zarówno przez Garmina jak i konwerter, a MiastoA/MiastoB/MiastoC lub MiastoA,MiastoB,MiastoC jest automatycznie dzielone na odpowiednie wpisy w xml. Wyższy priorytet dla oddzielania miejscowości ma znak "/" dlatego gdy pojawią się w jednej linii i przecinek i slash to używany będzie "/".
    • Jeśli drogowskaz zawiera numer drogi to w Label wpisz [nr_drogi_1/nr_drogi2] Miasto1/Miasto2/Miasto3 lub [nr_drogi_1,nr_drogi2] Miasto1,Miasto2,Miasto3, lub [nr_drogi_1/nr_drogi2] Miasto1,Miasto2,Miasto3 lub [nr_drogi_1,nr_drogi2] Miasto1/Miasto2/Miasto3. Nie trzeba wtedy dodawać na początku "T," ale jest to dozwolone. Numer drogi i miasta są traktowane niezależnie, dlatego można użyć do rozdzielania numerów i miast zarówno "/" jak i ",", ważne aby zachować jednorodność w ramach numeru i miejscowości.
  • Wszelkie pozostałe komunikaty
    • W Label w takim przpadku wpisz po prostu co chcesz zobaczyć na belce Garmina np. lewy pas, prawy pas itd. W wersji xmlowej zostanie to zignorowane.

Pozostałe ustalenia:

  • Komunikaty powinny być krótkie. Wyświetlane są za nazwą drogi i na wąskich odbiornikach nie będą się mieścić.
  • Nie ma jeszcze standardu, co umieszczamy w komunikatach. Jak dotąd używamy:
    • lewy pas
    • prawy pas
    • środkowy pas
    • (do uzupełnienia...)
  • Linie 0x2f opisujące dodatkowe komunikaty umieszczamy w plikach src/*.znaki.txt

Prawdziwy LA dla 7ways i osmAnd oraz propozycje wykorzystania w garmnie

Dla garmina nie zostało to zaimplementowane, jednak korzystają z tego 7ways i osmAnd (i prawdopodobnie inne oparte na format osm)

Opis wraz z przykładami robi się w LA - wprowadzanie

Sposób opisu Lane Asistant, tag w extras:

LA

forma zapisu: dla lini jednokierunkowej

LA=|...| 

lub

LA=...

dla lini 2 kierunkowej

LA=+|...|,-|...|

gdzie ... to poszczególne pasy ruchu oddzielone "|" a łączenia kierunków na pasie oddzielone są "+" np LA=|Z+L|S|S|S+P| Wielkość liter bez znaczenia.

Co oznaczają literki (wielka litera to proponowany skrót):

  • Prawo
  • Lewo
  • proSto lub prosTo
  • Zawrotka
  • * (gwiazdka) pas ruchu bez oznaczenia
  • *Prawo - specjalny przypadek skrętu w prawo
  • *Zawrotka - specjalny przypadek zawrotki

tu poszukujemy lepszych skrótów

  • osP - ostro prawo
  • osL - ostro lewo
  • leP - lekko prawo - dla zjazdów A/S
  • leL - lekko lewo

dla łączonych:

  • L+S
  • S+P
  • ...

Rozróżniane czy lekki skręt czy ostry można sobie darować. - nie można jak chcemy by działały nie tylko na garminie.


dla 2 kierunkowych kierunki ruchu oznaczamy +/- np LA=+|L|S|P|,-|S|P| gdzie "+" to informacja dla zgodnej z kierunkiem polilini, "-" dla kierunku przeciwnego. Jedyne co trzeba pamiętać to że przy odwracaniu kierunku polilinii trzeba zmienić + na - i na odwrót . dla jednokierunkowych oznaczenie LA=|L|S|P| oraz LA=L|S|P (w domyśle brak +/- oznacza +)

Z tego na poziomie węzła można by wygenerować dowolną formę jaka jest potrzebna (dla osm to tylko odpowiednie "przepisanie" tagu, a dla sposobu po id drogi będzie trudniej ale też w zasadzie wszystkie informację są)

Problemy występują przy skrzyżowaniach złożonych z 5 i więcej dróg (czasem można rozrysować inaczej, ale nie zawsze), Nie jest też odporne na dorysowanie chodnika (tu w ramach przeciwdziałania można ograniczyć się tylko do wybranych typów dróg). Jeśli ma być uniwersalnie i działać na osm-owych (i nie tylko) nawigacjach to chodniki trzeba umieścić obok skrzyżowania.


Jest to na tyle czytelne że łatwo to zrozumieć, wprowadzać i poprawić (tylko po zapoznaniu się z opisami literek) znaki "|" pomiędzy kierunkami poprawiają IMHO znacznie czytelność.

dla Garmina

Taka informacja wyświetlałaby się na belce na górze i byłaby, po nauczeniu się jak to działa, dosyć czytelna.


Wcześniej proponowany napis "llssp" jest mało czytelny. Lepiej by było pokazywać na belce zamiast llSSp coś takiego: X|X|_|_|X