Restrykcje
Z UMP
d (zamiana czasu przyszłego na teraźniejszy, poprawki) |
(→Restrykcje w źródłach: uzupełnienie) |
||
(Nie pokazano 8 wersji pośrednich.) | |||
Linia 4: | Linia 4: | ||
== Restrykcje w źródłach == | == Restrykcje w źródłach == | ||
W naszym FAQ [[FAQ#A_zakazy_skr.C4.99t.C3.B3w.2C_mo.C5.BCna.3F|jest opisane]] jak definiowane są restrykcje. | W naszym FAQ [[FAQ#A_zakazy_skr.C4.99t.C3.B3w.2C_mo.C5.BCna.3F|jest opisane]] jak definiowane są restrykcje. | ||
+ | |||
+ | Dodatkowe informacje jak rysować zakazy [[Jak_rysowac_drogi#Zakazy_skr.C4.99tu|tutaj]]. | ||
W plikach .txt przykładowy zakaz wygląda tak: | W plikach .txt przykładowy zakaz wygląda tak: | ||
Linia 27: | Linia 29: | ||
| Brak znaku | | Brak znaku | ||
| | | | ||
- | | BRAK,brak | + | | BRAK,NAKAZ_BRAK,brak |
|- | |- | ||
| Inna restrykcja | | Inna restrykcja | ||
Linia 37: | Linia 39: | ||
| B-2,B2,ZAKAZ_PROSTO,Z_PROSTO | | B-2,B2,ZAKAZ_PROSTO,Z_PROSTO | ||
|- | |- | ||
- | | Zakaz w | + | | Zakaz w lewo |
| [[Grafika:Znak-B-21.png]] | | [[Grafika:Znak-B-21.png]] | ||
| B-21,B21,ZAKAZ_LEWO,Z_LEWO | | B-21,B21,ZAKAZ_LEWO,Z_LEWO | ||
|- | |- | ||
- | | Zakaz w | + | | Zakaz w prawo |
| [[Grafika:Znak-B-22.png]] | | [[Grafika:Znak-B-22.png]] | ||
| B-22,B22,ZAKAZ_PRAWO,Z_PRAWO | | B-22,B22,ZAKAZ_PRAWO,Z_PRAWO | ||
Linia 75: | Linia 77: | ||
'''SignPos''' to pozycja ustawienia znaku. Format standardowy (Długość,Szerokość) n.p. (52.123456,21.654321) | '''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°. | + | '''SignAngle''' to kąt obrotu znaku podany w stopniach w kierunku zgodnym z ruchem wskazówek zegara, liczony od północy. Prawidłowe wartości z zakresu od -360° do 360°. Kąt obrotu zostanie zaokrąglony do wielokrotności 45°. Przykładowo: 0° to wartość dla znaku stojącego przy drodze idącej z południa na północ, 45° - w kierunku NE, 90° (albo -270°) - z zachodu a wschód, itd. |
== Automatyczne generowanie znaków == | == Automatyczne generowanie znaków == | ||
Linia 85: | Linia 87: | ||
Znaki generowane są zgodnie z następującymi regułami: | Znaki generowane są zgodnie z następującymi regułami: | ||
* rodzaje znaków: | * rodzaje znaków: | ||
- | ** restrykcja 3-elementowa, kąt pomiędzy segmentami (- | + | ** 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°,180°) -> '''zakaz w prawo''' | ||
** restrykcja 3-elementowa, kąt pomiędzy segmentami (-20°,20°) -> '''zakaz prosto''' | ** restrykcja 3-elementowa, kąt pomiędzy segmentami (-20°,20°) -> '''zakaz prosto''' | ||
- | ** restrykcja 4-elementowa, dwa skręty w lewo o więcej niż | + | ** 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''' | ** restrykcja 4-elementowa, pozostałe przypadki -> '''inna restrykcja''' | ||
* umiejscowienie znaków | * umiejscowienie znaków | ||
Linia 95: | Linia 98: | ||
** jeśli dwa znaki wypadają bardzo blisko siebie, netgen stara się je odsunąć | ** 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 | ** jeśli pierwszy segment restrykcji ma pomiędzy 10 a 15 m, to znak przesuwamy o długość tego segmentu + 5m | ||
+ | * kąt obrotu znaku | ||
+ | ** generowany automatycznie na podstawie fragmentu drogi którym dojeżdżamy do punktu restrykcji (zaokrąglany oczywiście do wielokrotności 45°) | ||
Nie jest możliwe poprawne automatyczne ustawienie wszystkich znaków i nadanie im poprawnego typu. | 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. | + | Dlatego prosimy autorów o dopisywanie parametrów ''Sign='' tam gdzie automat nie jest wystarczająco sprytny, jak również tam, gdzie zgodnie ze stanem faktycznym lub zdroworozsądkowym należy wybrać lepszą alternatywę - np. nakaz skrętu w prawo (albo na wprost) zamiast zakazu w lewo na wydzielonym pasie skrętu dochodzącym do drogi głównej itp. Analogicznie w przypadku "kumulacji" - jeśli na skrzyżowaniu typu "X" występują 2 zakazy - np. na wprost i w prawo, to jeden z nich można opatrzyć opisem "Sign=NAKAZ_LEWO", a drugi "BRAK". |
+ | |||
+ | == Zakaz nie dotyczy == | ||
+ | Czasami zakaz skrętu nie dotyczy (albo dotyczy) wybranych rodzajów pojazdów. Typowo: nie dotyczy pojazdów komunikacji miejskiej, dotyczy samochodów ciężarowych. W takim wypadku do linii zakazu trzeba dodać ręcznie odpowiedni parametr (zakładka Extras): | ||
+ | * nie dotyczy komunikacji miejskiej | ||
+ | RestrParam=1,0,0,1,1,1,1,0 | ||
+ | * dotyczy samochodów ciężarowych (i autobusów) | ||
+ | RestrParam=1,0,1,0,1,1,1,0 |
Aktualna wersja
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.
Dodatkowe informacje jak rysować zakazy tutaj.
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, liczony od północy. Prawidłowe wartości z zakresu od -360° do 360°. Kąt obrotu zostanie zaokrąglony do wielokrotności 45°. Przykładowo: 0° to wartość dla znaku stojącego przy drodze idącej z południa na północ, 45° - w kierunku NE, 90° (albo -270°) - z zachodu a wschód, itd.
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
- kąt obrotu znaku
- generowany automatycznie na podstawie fragmentu drogi którym dojeżdżamy do punktu restrykcji (zaokrąglany oczywiście do wielokrotności 45°)
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, jak również tam, gdzie zgodnie ze stanem faktycznym lub zdroworozsądkowym należy wybrać lepszą alternatywę - np. nakaz skrętu w prawo (albo na wprost) zamiast zakazu w lewo na wydzielonym pasie skrętu dochodzącym do drogi głównej itp. Analogicznie w przypadku "kumulacji" - jeśli na skrzyżowaniu typu "X" występują 2 zakazy - np. na wprost i w prawo, to jeden z nich można opatrzyć opisem "Sign=NAKAZ_LEWO", a drugi "BRAK".
Zakaz nie dotyczy
Czasami zakaz skrętu nie dotyczy (albo dotyczy) wybranych rodzajów pojazdów. Typowo: nie dotyczy pojazdów komunikacji miejskiej, dotyczy samochodów ciężarowych. W takim wypadku do linii zakazu trzeba dodać ręcznie odpowiedni parametr (zakładka Extras):
- nie dotyczy komunikacji miejskiej
RestrParam=1,0,0,1,1,1,1,0
- dotyczy samochodów ciężarowych (i autobusów)
RestrParam=1,0,1,0,1,1,1,0