Restrykcje
Z UMP
Spis treści |
Wstęp
Mam nadzieję wkrótce dorobimy się wizualizacji restrykcji na mapie www. Artykuł ten jest wstępnym opisem jak to będzie działać.
Restrykcje w źródłach
W naszym FAQ jest opisane jak definiowane są restrykcje A zakazy skrętów można ?
W plikach .txt przykładowy zakaz wygląda tak:
[POLYLINE] Type=0x19 Label=dubois-L-maxaborna Data0=(51.118068,17.028488),(51.117921,17.027980),(51.117682,17.028041) [END]
Niestety widać je tylko w źródłach mapy i w czasie wyznaczania trasy.
Jadąc drogą, mając podgląd mapy w odbiorniku albo na www, nie mamy szansy stwierdzić czy zakaz który widzimy już znajduje się na mapie.
Definiowanie znaków drogowych dla restrykcji
Niedługo zostanie uruchomione wyświetlanie znaków drogowych odpowiadające restrykcjom na mapie www.
Autor rysujący restrykcje będzie mógł dodać trzy nowe parametry w zakładce Extras
Sign=ZAKAZ_LEWO SignPos=(50.4567,21.12345) SignAngle=90
Sign to rodzaj znaku drogowego. Aktualne dozwolone rodzaje znaków i nazwy to:
SignPos to pozycja ustawienia znaku. Format standardowy (Długość,Szerokość) n.p. (52.123456,21.654321)
SignAngle to kąt obrotu znaku podany w stopniach w kierunku zgodnym z ruchem wskazówek zegara. Prawidłowe wartości z zakresu od -360° do 360°. Kąt obrotu zostanie zaokrąglony do wielokrotności 45°.
Automatyczne generowanie znaków
Aby uniknąć dużej ilości ręcznej pracy została rozszerzona funkcjonalność Netgena o automatyczne generowanie znaków dla restrykcji.
Wywołanie z parametrami netgen -R -S spowoduje dodanie znaków w przypadku gdy nie ma jeszcze zdefiniowanych parametrów Sign*=*. Gdy te parametry istnieją Netgen zachowa je.
Aktualnie netgen ustawia znaki zgodnie z następującymi regułami.
- Rodzaje znaków:
- restrykcja 3-elementowa, kąt pomiędzy segmentami (-180,-20) -> zakaz w lewo
- restrykcja 3-elementowa, kąt pomiędzy segmentami (20,180) -> zakaz w prawo
- restrykcja 3-elementowa, kąt pomiędzy segmentami (-20,20) -> zakaz prosto
- restrykcja 4-elementowa, dwa skręty w lewo -> zakaz zawracania
- restrykcja 4-elementowa, pozostałe przypadki -> inna restrykcja
- Umiejscowienie znaków
- zakaz zawracania - 5m po lewej stronie pierwszego segmentu, 10m przed zakazanym manewrem
- pozostałe przypadki - 5m po prawej stronie pierwszego segmentu, 10m przed zakazanym manewrem
- jeśli dwa znaki wypadają bardzo blisko siebie netgen stara się je odsunąć
Nie jest możliwe poprawne automatyczne ustawienie wszystkich znaków i nadanie im poprawnego typu. Dlatego prosimy autorów o dopisywanie parametrów Sign= tam gdzie automat nie jest wystarczająco sprytny.