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:

Znak Widok na www Dozwolone wartości Sign=
Brak znaku BRAK,brak
Inna restrykcja Grafika:Znak-B-1.png B-1,B1,ZAKAZ,RESTRYKCJA
Zakaz na wprost Grafika:Znak-B-2.png B-2,B2,ZAKAZ_PROSTO,Z_PROSTO
Zakaz w prawo Grafika:Znak-B-21.png B-21,B21,ZAKAZ_LEWO,Z_LEWO
Zakaz w lewo Grafika:Znak-B-22.png B-22,B22,ZAKAZ_PRAWO,Z_PRAWO
Zakaz zawracania Grafika:Znak-B-23.png B-23,B23,ZAKAZ_ZAWRACANIA,Z_ZAWRACANIA,NO_UTURN
Nakaz w prawo Grafika:Znak-C-2.png C-2,C2,NAKAZ_PRAWO,N_PRAWO
Nakaz w lewo Grafika:Znak-C-4.png C-4,C4,NAKAZ_LEWO,N_LEWO
Nakaz prosto Grafika:Znak-C-5.png C-5,C5,NAKAZ_PROSTO,N_PROSTO
Nakaz prosto lub w prawo Grafika:Znak-C-6.png C-6,C6,NAKAZ_PRAWO_PROSTO,N_PRAWO_PROSTO,NAKAZ_PROSTO_PRAWO,N_PROSTO_PRAWO
Nakaz prosto lub w lewo Grafika:Znak-C-7.png C-7,C7,NAKAZ_LEWO_PROSTO,N_LEWO_PROSTO,NAKAZ_PROSTO_LEWO,N_PROSTO_LEWO
Nakaz w prawo lub w lewo Grafika:Znak-C-8.png C-8,C8,NAKAZ_LEWO_PRAWO,N_LEWO_PRAWO,NAKAZ_PRAWO_LEWO,N_PRAWO_LEWO

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.