Restrykcje
Z UMP
Spis treści |
Wstęp
Od 22.12.2012 na mapie www pokazujemy znaki zakazu, generowane automatycznie z zakazów stosowanych do tej pory do wyliczania tras (routing). Poniżej zasady tworzenia takich znaków, oraz jak temu automatowi pomóc.
Restrykcje w źródłach
W naszym FAQ jest opisane jak definiowane są restrykcje.
W plikach .txt przykładowy zakaz wygląda tak:
[POLYLINE] Type=0x19 Label=(ulica którą jedziesz) < (ulica w którą nie możesz skręcić w lewo) Data0=(49.99950,20.00000),(50.00000,20.00000),(50.00000,19.99950) [END]
Takiego zakazu nie widać na mapie www ani w odbiornikach.
Definiowanie znaków drogowych dla restrykcji
Autor rysujący restrykcje może dodać trzy nowe parametry w zakładce Extras
Sign=ZAKAZ_LEWO SignPos=(50.45678,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.
Znaki generowane są zgodnie z następującymi regułami:
- rodzaje znaków:
- restrykcja 3-elementowa, kąt pomiędzy segmentami (-150°,-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 3-elementowa, kąt pomiędzy segmentami (-180°,-150°) -> zakaz zawracania
- restrykcja 4-elementowa, dwa skręty w lewo o więcej niż 45° każdy -> zakaz zawracania
- restrykcja 4-elementowa, pozostałe przypadki -> inna restrykcja
- umiejscowienie znaków
- zakaz zawracania - 5 m po lewej stronie pierwszego segmentu, 10 m przed zakazanym manewrem
- pozostałe przypadki - 5 m po prawej stronie pierwszego segmentu, 10 m przed zakazanym manewrem
- jeśli dwa znaki wypadają bardzo blisko siebie, netgen stara się je odsunąć
- jeśli pierwszy segment restrykcji ma pomiędzy 10 a 15 m, to znak przesuwamy o długość tego segmentu + 5m
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.