Restrykcje
Z UMP
(→Automatyczne generowanie znaków) |
d (zamiana czasu przyszłego na teraźniejszy, poprawki) |
||
Linia 1: | Linia 1: | ||
== Wstęp == | == 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 == | == Restrykcje w źródłach == | ||
- | W naszym FAQ | + | W naszym FAQ [[FAQ#A_zakazy_skr.C4.99t.C3.B3w.2C_mo.C5.BCna.3F|jest opisane]] jak definiowane są restrykcje. |
- | [[FAQ#A_zakazy_skr.C4.99t.C3.B3w.2C_mo.C5.BCna.3F| | + | |
W plikach .txt przykładowy zakaz wygląda tak: | W plikach .txt przykładowy zakaz wygląda tak: | ||
[POLYLINE] | [POLYLINE] | ||
Type=0x19 | Type=0x19 | ||
- | Label= | + | Label=(ulica którą jedziesz) < (ulica w którą nie możesz skręcić w lewo) |
- | Data0=( | + | Data0=(49.99950,20.00000),(50.00000,20.00000),(50.00000,19.99950) |
[END] | [END] | ||
- | + | Takiego zakazu nie widać na mapie www ani w odbiornikach. | |
- | + | ||
- | + | ||
- | + | ||
== Definiowanie znaków drogowych dla restrykcji == | == Definiowanie znaków drogowych dla restrykcji == | ||
- | + | Autor rysujący restrykcje może dodać trzy nowe parametry w zakładce [[Parametry_w_Extras|Extras]] | |
- | + | ||
- | Autor rysujący restrykcje | + | |
Sign=ZAKAZ_LEWO | Sign=ZAKAZ_LEWO | ||
- | SignPos=(50. | + | SignPos=(50.45678,21.12345) |
SignAngle=90 | SignAngle=90 | ||
'''Sign''' to rodzaj znaku drogowego. Aktualne dozwolone rodzaje znaków i nazwy to: | '''Sign''' to rodzaj znaku drogowego. Aktualne dozwolone rodzaje znaków i nazwy to: | ||
Linia 86: | Linia 79: | ||
== Automatyczne generowanie znaków == | == Automatyczne generowanie znaków == | ||
- | Aby uniknąć dużej ilości ręcznej pracy została rozszerzona funkcjonalność [[Netgen|Netgena]] o automatyczne generowanie znaków dla restrykcji. | + | Aby uniknąć dużej ilości ręcznej pracy, została rozszerzona funkcjonalność [[Netgen|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. | + | 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 (-180°,-20°) -> '''zakaz w lewo''' | ** 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°,180°) -> '''zakaz w prawo''' | ||
Linia 97: | Linia 90: | ||
** restrykcja 4-elementowa, dwa skręty w lewo o więcej niż 20° każdy -> '''zakaz zawracania''' | ** restrykcja 4-elementowa, dwa skręty w lewo o więcej niż 20° każdy -> '''zakaz zawracania''' | ||
** restrykcja 4-elementowa, pozostałe przypadki -> '''inna restrykcja''' | ** restrykcja 4-elementowa, pozostałe przypadki -> '''inna restrykcja''' | ||
- | * | + | * umiejscowienie znaków |
- | ** '''zakaz zawracania''' - | + | ** '''zakaz zawracania''' - 5 m po lewej stronie pierwszego segmentu, 10 m przed zakazanym manewrem |
- | ** '''pozostałe przypadki''' - | + | ** '''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 dwa znaki wypadają bardzo blisko siebie, netgen stara się je odsunąć |
- | ** jeśli pierwszy segment restrykcji ma pomiędzy 10 a | + | ** 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. | 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. |
Wersja z dnia 19:59, 22 gru 2012
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 (-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 o więcej niż 20° 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.