Asystent Pasa Ruchu
Z UMP
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)
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.
Asystent Pasa Ruchu by UMP-pcPL
W mapach projektu UMP-pcPL 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:
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ę.
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
- 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
Nowa proprozycja
No to może ja spróbuję zaproponować sposób opisu Lane Asistant tag w extras: LA forma zapisu: dla lini jednokierunkowej LA=|...| dla lini 2 kierunkowej LA=+|...|,-|...|
gdzie ... to poszczególne pasy ruchu oddzielone "|" a łączenia kierunków na pasie oddzielone są "+" np LP=|Z+L|S|S|S+P| Wielkość liter bez znaczenia.
kwestia dogadania odpowiednich literek na poszczególne kierunki (wielka litera to proponowany skrót) Prawo,Lewo,proSTo,Zawrotka,L+S,S+P,...
Rozróżniane czy lekki skręt czy ostry można sobie darować.
(pełne nazwy jak w OSM - no cóz mi się nie podobają, ze względu na wrodzone lenistwo)
dla 2 kierunkowych kierunki ruchu można oznaczać +/- np LA=+|L|S|P|,-|S|P| gdzie "+" to informacja zgodna 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| (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).
Jest to na tyle czytelne że łatwo to zrozumieć, wprowadzać i poprawić
(tylko po zapoznaniu się z opisami literek)
znaki "|" pomiedzy kierunkami poprawiają IMHO znacznie czytelność.
Taka informacja wyświetlałaby się na belce na górze i byłaby, po nauczeniu się jak to działa, dosyć czytelna.
jednak taki llssp jest mało czytelny. Lepiej by było pokazywać na
belce zamiast llSSp coś takiego: X|X|_|_|_ - tam chyba i tak problem
był, bo te teksty idą do czytania przez tts ?