Sprawdz bledy
Z UMP
d (sklejki) |
(pogrubione) |
||
(Nie pokazano 11 wersji pośrednich.) | |||
Linia 1: | Linia 1: | ||
[[Kategoria:Narzędzia]] | [[Kategoria:Narzędzia]] | ||
+ | |||
+ | Do sprawdzania błędów służą skrypty występujące pod ogólną nazwą "sprawdz". W systemach Windows to będzie skrypt ''sprawdz_bledy.bat'', natomiast w środowisku Unix jest odpowiedni ''sprawdz.awk'', którego można wywołać np. za pomocą ''make sprawdz''. Wyniki wszystkich tych sprawdzeń wyglądają podobnie -- skrypty przedstawiają wyniki działania na ekranie w postaci komunikatów mówiących co jest nie tak, a ponadto generują pliki WPT zawierające pozycje raportowanych komunikatów. | ||
+ | |||
[[Grafika:Sprawdz bledy.png|thumb|Przykład wyniku działania skryptu sprawdz_bledy.bat]] | [[Grafika:Sprawdz bledy.png|thumb|Przykład wyniku działania skryptu sprawdz_bledy.bat]] | ||
'''Skrypt ''sprawdz_bledy.bat'' analizuje niektóre błędy''' w narysowanej mapie. | '''Skrypt ''sprawdz_bledy.bat'' analizuje niektóre błędy''' w narysowanej mapie. | ||
Linia 16: | Linia 19: | ||
=== Ślepe === | === Ślepe === | ||
- | Skrypt wypisuje liczbę nieoznakowanych końców dróg. Na każdym końcu dróg, które nie | + | Skrypt wypisuje liczbę nieoznakowanych końców dróg. Na każdym końcu dróg, które nie prowadzą dalej (i są zgłaszane przez skrypt), trzeba wstawić bojkę WATPLIWY albo SLEPY. |
- | '''Naprawa:''' W [[mapedit|mapedicie]] dodać (''Add...'') plik ''netgen-slepe.wpt'', który został wygenerowany przez ''sprawdz_bledy.bat''i sprawdzić, gdzie się pojawiły punkty i na | + | Błąd pojawi się jeśli w promieniu ok. 20 metrów od krańcowego węzła będzie jakikolwiek węzeł lub linia drogi. |
+ | |||
+ | '''Naprawa:''' W [[mapedit|mapedicie]] dodać (''Add...'') plik ''netgen-slepe.wpt'', który został wygenerowany przez ''sprawdz_bledy.bat''i sprawdzić, gdzie się pojawiły punkty i jeśli w tym miejscu powinno być skrzyżowanie, to dociągnąć ulicę do skrzyżowania (lub na poprzecznej dodać brakujący punkt), a jeśli skrzyżowania nie ma, tylko ulica kończy się ślepo, to dodać w tym miejscu właściwy znacznik. Szczegóły w artykule [[Znaczniki#Bojki|o znacznikach]]. | ||
+ | |||
+ | '''Uwaga!!! Nie każdy odcinek drogi ślepy musi kończyć się bojką - tylko te odcinki, które są zgłaszane przez ''sprawdz_bledy.bat'' lub te, które chcemy wskazać innym edytorom, że w tym miejscu jest prawdziwy ślepy odcinek'''. W miejscach, gdzie ślepa jest dlatego, że są barierki/krawężnik, ale od innej drogi jest kilka-kilkanaście metrów i jest przejście dla pieszych (i/lub rowerów), zamiast stawiać bojkę, dorysuj brakujący fragment typem "chodnik" (0x16) | ||
=== Za bliskie === | === Za bliskie === | ||
- | Podana liczba węzłów, które są zbyt blisko siebie. Do poprawnej nawigacji odległość między węzłami powinna wynosić co najmniej | + | Podana liczba węzłów, które są zbyt blisko siebie. Do poprawnej nawigacji odległość między węzłami powinna wynosić co najmniej 5.5 metra. |
+ | |||
+ | '''Przypadek nr 1''' Prawie poprawnie narysowane drogi są zbyt blisko siebie, czyli węzły są zbyt blisko. Jeżeli narysujemy dwie nitki drogi (np. dwa kierunki) z węzłami położonymi naprzeciwko - pomiędzy którymi przechodzi inna droga, np. do zawracania, to może się okazać, że węzły zostaną zgłoszone jako położone za blisko. | ||
+ | |||
+ | '''Naprawa:''' W [[mapedit|mapedicie]] dodać (''Add...'') plik ''netgen-za_bliskie.wpt'', który został wygenerowany przez ''sprawdz_bledy.bat'' i sprawdzić, gdzie się pojawiły punkty i w tych miejscach poprawić odległość węzłów rozsuwając je. Zdarza się, że za bliskie pojawiają się także tam, gdzie wzdłuż drogi głównej równolegle rysowana jest ścieżka rowerowa (0xd) lub chodnik (0x16). W takim przypadku również pomoże odsunięcie ścieżki/chodnika od drogi, można też przesunąć punkt ścieżki wzdłuż (zamiast w poprzek) - odległość od drogi pozostanie ta sama, ale odległość punktów się zwiększy, co powinno wystarczyć. | ||
+ | |||
+ | '''Przypadek nr 2''' Podczas rysowania nie połączono dwóch odcinków drogi - są bardzo blisko lub nawet się mijają - oba końce zostaną zgłoszone jako położone zbyt blisko. | ||
+ | |||
+ | '''Naprawa:''' dociągnąć do siebie dwa odcinki drogi lub uznać, że nie ma połączenia i postawić bojki (jeżeli tak jest w rzeczywistości). | ||
+ | |||
+ | '''Przypadek nr 3''' Dotyczy rond. Zajrzyj na stronę o [[Rondo|rondach]]. | ||
+ | |||
+ | '''Naprawa:''' rozciąć rondo zgodnie z sugestią na stronie o rondach. | ||
+ | |||
+ | '''Przypadek nr 4''' Też dotyczy rond. Nie musisz rysować wszędzie rozdzielonych wjazdów/zjazdów na ronda, zwłaszcza te malutkie, bo nie zmieścisz się z węzłami routingu. | ||
- | '''Naprawa:''' | + | '''Naprawa:''' zrezygnuj z rozgałęzionych wjazdów/zjazdów lub... powiększ rondo. |
=== Zygzaki === | === Zygzaki === | ||
[[Grafika:Zygzaki.png|thumb|Jak unikać zbyt ostrych skrętów]] | [[Grafika:Zygzaki.png|thumb|Jak unikać zbyt ostrych skrętów]] | ||
- | Podana liczba zbyt ostrych skrętów. | + | Podana liczba zbyt ostrych skrętów. To może dotyczyć również zjazdów z rond rysowanych jedną kreską - jeżeli z ronda jest wyjazd i oddzielny wjazd to nie można rysować tego jedną linią - to powinny być dwie osobne linie. W takim wypadku wystarczy podzielić linię. Podział można też zrobić dla dowolnego zygzaka, ale wtedy wyjdzie poszatkowana ulica - sprawdź, czy jest ona na pewno dobrze narysowana, lepiej skorzystać z sugestii naprawy. |
'''Naprawa:''' W [[mapedit|mapedicie]] dodać (''Add...'') plik ''netgen-zygzaki.wpt'', który został wygenerowany przez ''sprawdz_bledy.bat'' i sprawdzić, gdzie się pojawiły punkty i w tych miejscach poprawić skręty według obrazka obok. | '''Naprawa:''' W [[mapedit|mapedicie]] dodać (''Add...'') plik ''netgen-zygzaki.wpt'', który został wygenerowany przez ''sprawdz_bledy.bat'' i sprawdzić, gdzie się pojawiły punkty i w tych miejscach poprawić skręty według obrazka obok. | ||
+ | |||
+ | '''Naprawa zygzaka przy rondzie:''' Podzielić zygzak na dwie linie. | ||
=== Błędy === | === Błędy === | ||
Linia 43: | Linia 66: | ||
== sprawdz.awk == | == sprawdz.awk == | ||
- | |||
- | |||
- | |||
Jest on uruchamiany przez sprawdz_bledy.bat, netgen2.bat i mont-demont-multi2.pl | Jest on uruchamiany przez sprawdz_bledy.bat, netgen2.bat i mont-demont-multi2.pl | ||
Linia 54: | Linia 74: | ||
* '''NazBMiast''' sprawdz--nazwy_bez_miast.wpt | * '''NazBMiast''' sprawdz--nazwy_bez_miast.wpt | ||
- | Brak wpisu Miasto dla drogi której nadano nazwę. Aby można było wyszukać nazwę ulicy musi mieć przypisane miasto. | + | Brak wpisu Miasto dla drogi, której nadano nazwę. Aby można było wyszukać nazwę ulicy, musi mieć przypisane miasto. |
* '''BadPhone''' sprawdz--zle_nr_telefonu.wpt | * '''BadPhone''' sprawdz--zle_nr_telefonu.wpt | ||
Linia 100: | Linia 120: | ||
* '''ClsRondo''' sprawdz--nie_zamkniete_rondo.wpt | * '''ClsRondo''' sprawdz--nie_zamkniete_rondo.wpt | ||
Wyłączone. Nie zamknięte rondo. | Wyłączone. Nie zamknięte rondo. | ||
+ | |||
+ | === Autostrady bez kierunku === | ||
+ | |||
+ | Raportowane są także odcinki autostrad, dróg szybkiego ruchu i ramp wjazdowych/zjazdowych, które nie mają ustawionego atrybutu drogi jednokierunkowej. Dla autostrad (typ 0x1) i ramp szybkkich (0x9) zdecydowanie jest to błędem, w przypadku dróg dla pojazdów samochodowych (0x2) oraz ramp wolnych (0x8) zdarzają się odcinki jednojezdniowe, które są dwukierunkowe. W takim wypadku należy dodać komentarz "''';TwoWay'''", aby odcinek nie był raportowany jako brak jednokierunkowości. W przypadku rampy wolnej (0x8) w pierwszym rzędzie należy się zastanowić, czy użyty typ jest właściwy. Częstym przypadkiem jest rysowanie zjazdów z autostrad w ten sposób, że od autostrady odchodzą 2 nitki jednokierunkowe 0x8 (zjazd i wjazd), które dalej prowadzone sa wspólnie jako odcinek dwukierunkowy. Choć jest to poprawne formalnie (bo zjazd w obu kierunkach jest prowadzony drogą jednojezdniową z przeciwbieżnymi pasami rozdzielonymi podwójną linią ciągłą), to warto rozważyć rozrysowanie zjazdu/wjazdu jako dwóch niezależnych nitek jednokierunkowych. Wbrew pozorom, upraszcza to rysowanie mapy, bo można pominąć kilka zakazów, które w przeciwnym razie byłyby konieczne w celu zachowania poprawnych zasad routingu. |
Aktualna wersja
Do sprawdzania błędów służą skrypty występujące pod ogólną nazwą "sprawdz". W systemach Windows to będzie skrypt sprawdz_bledy.bat, natomiast w środowisku Unix jest odpowiedni sprawdz.awk, którego można wywołać np. za pomocą make sprawdz. Wyniki wszystkich tych sprawdzeń wyglądają podobnie -- skrypty przedstawiają wyniki działania na ekranie w postaci komunikatów mówiących co jest nie tak, a ponadto generują pliki WPT zawierające pozycje raportowanych komunikatów.
Skrypt sprawdz_bledy.bat analizuje niektóre błędy w narysowanej mapie.
Na koniec biegu skrypt wypisze wyniki analizy, liczbę błędów, które należy usunąć. Przykładowo:
Statystyka granica 9 slepe 61 za_bliskie 31 zygzaki 30 bledy 2 przeciecia 15
Spis treści |
Granica
Ślepe
Skrypt wypisuje liczbę nieoznakowanych końców dróg. Na każdym końcu dróg, które nie prowadzą dalej (i są zgłaszane przez skrypt), trzeba wstawić bojkę WATPLIWY albo SLEPY.
Błąd pojawi się jeśli w promieniu ok. 20 metrów od krańcowego węzła będzie jakikolwiek węzeł lub linia drogi.
Naprawa: W mapedicie dodać (Add...) plik netgen-slepe.wpt, który został wygenerowany przez sprawdz_bledy.bati sprawdzić, gdzie się pojawiły punkty i jeśli w tym miejscu powinno być skrzyżowanie, to dociągnąć ulicę do skrzyżowania (lub na poprzecznej dodać brakujący punkt), a jeśli skrzyżowania nie ma, tylko ulica kończy się ślepo, to dodać w tym miejscu właściwy znacznik. Szczegóły w artykule o znacznikach.
Uwaga!!! Nie każdy odcinek drogi ślepy musi kończyć się bojką - tylko te odcinki, które są zgłaszane przez sprawdz_bledy.bat lub te, które chcemy wskazać innym edytorom, że w tym miejscu jest prawdziwy ślepy odcinek. W miejscach, gdzie ślepa jest dlatego, że są barierki/krawężnik, ale od innej drogi jest kilka-kilkanaście metrów i jest przejście dla pieszych (i/lub rowerów), zamiast stawiać bojkę, dorysuj brakujący fragment typem "chodnik" (0x16)
Za bliskie
Podana liczba węzłów, które są zbyt blisko siebie. Do poprawnej nawigacji odległość między węzłami powinna wynosić co najmniej 5.5 metra.
Przypadek nr 1 Prawie poprawnie narysowane drogi są zbyt blisko siebie, czyli węzły są zbyt blisko. Jeżeli narysujemy dwie nitki drogi (np. dwa kierunki) z węzłami położonymi naprzeciwko - pomiędzy którymi przechodzi inna droga, np. do zawracania, to może się okazać, że węzły zostaną zgłoszone jako położone za blisko.
Naprawa: W mapedicie dodać (Add...) plik netgen-za_bliskie.wpt, który został wygenerowany przez sprawdz_bledy.bat i sprawdzić, gdzie się pojawiły punkty i w tych miejscach poprawić odległość węzłów rozsuwając je. Zdarza się, że za bliskie pojawiają się także tam, gdzie wzdłuż drogi głównej równolegle rysowana jest ścieżka rowerowa (0xd) lub chodnik (0x16). W takim przypadku również pomoże odsunięcie ścieżki/chodnika od drogi, można też przesunąć punkt ścieżki wzdłuż (zamiast w poprzek) - odległość od drogi pozostanie ta sama, ale odległość punktów się zwiększy, co powinno wystarczyć.
Przypadek nr 2 Podczas rysowania nie połączono dwóch odcinków drogi - są bardzo blisko lub nawet się mijają - oba końce zostaną zgłoszone jako położone zbyt blisko.
Naprawa: dociągnąć do siebie dwa odcinki drogi lub uznać, że nie ma połączenia i postawić bojki (jeżeli tak jest w rzeczywistości).
Przypadek nr 3 Dotyczy rond. Zajrzyj na stronę o rondach.
Naprawa: rozciąć rondo zgodnie z sugestią na stronie o rondach.
Przypadek nr 4 Też dotyczy rond. Nie musisz rysować wszędzie rozdzielonych wjazdów/zjazdów na ronda, zwłaszcza te malutkie, bo nie zmieścisz się z węzłami routingu.
Naprawa: zrezygnuj z rozgałęzionych wjazdów/zjazdów lub... powiększ rondo.
Zygzaki
Podana liczba zbyt ostrych skrętów. To może dotyczyć również zjazdów z rond rysowanych jedną kreską - jeżeli z ronda jest wyjazd i oddzielny wjazd to nie można rysować tego jedną linią - to powinny być dwie osobne linie. W takim wypadku wystarczy podzielić linię. Podział można też zrobić dla dowolnego zygzaka, ale wtedy wyjdzie poszatkowana ulica - sprawdź, czy jest ona na pewno dobrze narysowana, lepiej skorzystać z sugestii naprawy.
Naprawa: W mapedicie dodać (Add...) plik netgen-zygzaki.wpt, który został wygenerowany przez sprawdz_bledy.bat i sprawdzić, gdzie się pojawiły punkty i w tych miejscach poprawić skręty według obrazka obok.
Naprawa zygzaka przy rondzie: Podzielić zygzak na dwie linie.
Błędy
Przecięcia
Podana liczna nieoznakowanych przecięć dróg. Możliwe są dwie przyczyny:
- W miejscu przecięcia trzeba zrobić skrzyżowanie dwóch dróg
- W miejscu przecięcia jest wiadukt i trzeba tam wstawić bojkę WIADUKT (zielona, kod 0x1709).
Naprawa: W mapedicie dodać (Add...) plik netgen-przeciecia.wpt, który został wygenerowany przez sprawdz_bledy.bati sprawdzić, gdzie się pojawiły punkty i w tych miejscach zrobić albo skrzyżowanie, albo wstawić właściwy znacznik.
sprawdz.awk
Jest on uruchamiany przez sprawdz_bledy.bat, netgen2.bat i mont-demont-multi2.pl
Konwencja zapisu:
- Początek nazwy punktu plik który powstaje ze sprawdz_bledy i netgen2
krótki opis
- NazBMiast sprawdz--nazwy_bez_miast.wpt
Brak wpisu Miasto dla drogi, której nadano nazwę. Aby można było wyszukać nazwę ulicy, musi mieć przypisane miasto.
- BadPhone sprawdz--zle_nr_telefonu.wpt
Zły numer telefonu, prawidłowy format to +48kknnnnnnn, +48kkknnnnnn, dopuszczone są wyjątki dla numerów specjalnych 3 i 5 cyfrowych (alarmowe, taxi, infolinie, itp) w postaci: nnn, +48kknnnnnn. Gdzie: +48 - prefix kraju(dla polski); kk - numer kierunkowy; nnn - pozostałe cyfry
- NoFile sprawdz--elementy_bez_pliku.wpt
Elementy które po zapisaniu pracy trafią do pliku !nowosci. We właściwościach w zakładce "extras" dopisz właściwą pozycje Plik= aby trafiły tam gdzie trzeba.
- RondBKier sprawdz--ronda_bez_kierunku.wpt
Wykazuje ronda dla których nie ustawiono kierunku. Routing może cie skierować pod prąd na rondzie.
- Ele0x0 sprawdz--elementy_0x0.wpt
Elementy bez ustawionego typu, w mapedicie nowe pozycje dostają domyślnie typ 0x0. Ustaw właściwy typ.
- Drog~Poz0 sprawdz--drogi_wyzej_niz_0.wpt
Znaleziono drogi na innym poziomie niż 0, co najczęściej jest błędem.
- ElPoz1 sprawdz--elementy_na_poziomie_1.wpt
Elementy na poziomie 1 w plikach. (?) Niektóre polygony wyjątkowo są na innym poziomie niż 0.
- ObszWDrog sprawdz--obszary_w_plikach_drog.wpt
- POIwDrog sprawdz--POI_w_plikach_drog.wpt
Obszary(polygon) / punkty(poi) w plikach OBSZAR.drogi.txt lub MIASTO.ulice.txt. Przenieś elementy do odpowiednich plików.
- OneWay sprawdz--OneWay_w_zakl_routing.wpt
Ustawienia One Way w zakładce Routing dla dróg, mapedit nie dodaje tych fajnych strzałek przy ustawionej tylko tej opcji. Użyj tylko (i wyłacznie) "Polyline has direction" na zakładce "properties" we właściwościach drogi.
- WpisyRou sprawdz--smieci_z_polacz_wezly.wpt
Wpisy routingowe (RoadID) w pliku. Użycie 'Generate routing graph' i 'Connect to nearest Nodes' psuje źródła. Po użyciu tych opcji raczej trudno jest przywrócić dane do użytku. Zacznij pracę od początku.
- Joined sprawdz--elementy_joined.wpt
Wielokrotne Data0 w pliku. Używaj 'Merge' zamiast 'Join', Join nie łączy fizycznie dróg, często można zrobić na nich zapętlenia, ale nie będzie tego widać. "Extract element" pomaga w tym wypadku.
- Lab2Only sprawdz--Label2_bez_Label.wpt
Obecny Label1= lub Label2= bez Label=, komunikaty w navi szaleją. Teraz Label1 i Label2 są najczęściej zbędne bo są robione przez automat.
- NoRouteKom sprawdz--brak_komentarza_RouteParam.wpt
Brak komentarza do zmiany RouteClass i/lub SpeedLimit w zakładce Routing. Takie zmiany bardzo trudno zauważyć podczas normalnej pracy, wiec powinny być one komentowane. Komentarz powinien zaczynać się od słowa Routing:
Wyłączone po dyskusjach, istnieje możliwość włączenia.
- BigNodNo sprawdz--duza_ilosc_nodow.wpt
Wyłączone. Za duża ilość nodów w jednej polilini(drodze)
- ClsRondo sprawdz--nie_zamkniete_rondo.wpt
Wyłączone. Nie zamknięte rondo.
Autostrady bez kierunku
Raportowane są także odcinki autostrad, dróg szybkiego ruchu i ramp wjazdowych/zjazdowych, które nie mają ustawionego atrybutu drogi jednokierunkowej. Dla autostrad (typ 0x1) i ramp szybkkich (0x9) zdecydowanie jest to błędem, w przypadku dróg dla pojazdów samochodowych (0x2) oraz ramp wolnych (0x8) zdarzają się odcinki jednojezdniowe, które są dwukierunkowe. W takim wypadku należy dodać komentarz ";TwoWay", aby odcinek nie był raportowany jako brak jednokierunkowości. W przypadku rampy wolnej (0x8) w pierwszym rzędzie należy się zastanowić, czy użyty typ jest właściwy. Częstym przypadkiem jest rysowanie zjazdów z autostrad w ten sposób, że od autostrady odchodzą 2 nitki jednokierunkowe 0x8 (zjazd i wjazd), które dalej prowadzone sa wspólnie jako odcinek dwukierunkowy. Choć jest to poprawne formalnie (bo zjazd w obu kierunkach jest prowadzony drogą jednojezdniową z przeciwbieżnymi pasami rozdzielonymi podwójną linią ciągłą), to warto rozważyć rozrysowanie zjazdu/wjazdu jako dwóch niezależnych nitek jednokierunkowych. Wbrew pozorom, upraszcza to rysowanie mapy, bo można pominąć kilka zakazów, które w przeciwnym razie byłyby konieczne w celu zachowania poprawnych zasad routingu.