Netgen
Z UMP
To nie jest kompletny opis netgena! Uzupełnienia mile widziane :)
Routing – na co to komu i po co
Pod pojęciem routingu kryją się mechanizmy odpowiedzialne za wyznaczanie tras na potrzeby nawigacji. Aby mogły poprawnie działać, ważne jest właściwe połączenie ze sobą dróg (np. umieszczenie lub nie węzłów na skrzyżowaniach). W wyznaczaniu trasy udział biorą tylko węzły routingu, zatem prawidłowe ich ustalenie ma kluczowe znaczenie dla wyznaczania tras na mapie.
W projekcie UMP nie korzystamy z możliwości MapEdita pozwalających na zaznaczanie wybranych węzłów
jako węzły routingowe. Nie ma to sensu, gdyż edytowana mapa jest składana z wielu plików źródłowych,
a po edycji rozmontowywana ponownie na mniejsze pliki i numeracja przypisana węzłom routingu oraz identyfikatory dróg tracą wówczas sens. Zamiast tego, dbamy o to, by punkty krzyżujących się dróg występowały idealnie w tych samych miejscach (były "podociągane" do siebie – opcja "Snap to neighbours" w Mapedicie), a budowaniem sieci routingu i uzupełnianiem odpowiednich informacji zajmuje się program netgen
uruchamiany przed kompilacją mapy. Programu tego można także używać w celu szukania różnego rodzaju błędów na mapie.
Więcej informacji na temat programu netgen można znaleźć na stronie dokumentacji przygotowanej przez jego autora. Stamtąd też można ściągnąć najnowszą wersję programu oraz poprzednie.
Program netgen
powinieneś mieć skompilowany i zainstalowany w omyślnej ścieżce uruchamiania programów
lub w katalogu narzedzia UMP-a, bo tam szuka go większość UMP-owych skryptów. Ściągnij źródła programu netgen, rozpakuj je, przeczytaj dokumentację w pliku README, zainstaluj kopiując program wykonywalny we właściwe miejsce.
Debugowanie routingu przy użyciu netgena
Netgen umożliwia wygenerowanie listy węzłów, w których wystąpiły błędy. Poniżej krótka ściąga z oznaczeń tak generowanych węzłów.
- A – węzły dociągane (minimalny niestyk korygowany na etapie kompilacji, ale dla czystości warto dociągnąć)
- B – ślepe końce, wygenerowane z opcją -b. Mogą oznaczać niestyk, a mogą po prostu oznaczać koniec ślepej ulicy – w takim wypadku koniec ten powinien zostać "zamaskowany" bojką SLEPY lub WATPLIWY, dzięki czemu netgen nie będzie ostrzegał przy kolejnym przebiegu. BX oznacza Ślepy początek drogi jednokierunkowej, a BE – ślepy koniec i te 2 przypadki zdecydowanie wymagają naprawy.
- C – węzły zbyt blisko położone (zbyt blisko siebie położone węzły routingu lub rzadziej niestyk)
- H – "dziura" w klasach routingu – izolowany odcinek drogi wysokiej kategorii, nie posiadający połączenia z drogami tej samej lub wyższej klasy (czasami tak być musi, choć nie powinno)
- I – niezamaskowane przecięcia bez węzła – niestyk albo wiadukt bez bojki WIADUKT.
- M – węzeł brzegowy mapy
- UB – bojka maskująca ślepy koniec, nie wykorzystana w przebiegu netgena (większość można zignorować)
- UI – bojka maskująca skrzyżowanie nie wykorzystana w przebiegu netgena (zwykle błąd)
Oznaczenie węzła składa się z jednej lub więcej liter i numeru kolejnego. Przy użyciu opcji -N pierwszą literą oznaczenia będzie zawsze N, a następne literki wskazują na kategorię węzła. I tak:
- NM – węzeł brzegowy
- NAM – węzeł brzegowy, dociągany (minimalny niestyk, z ktrym netgen sobie poradził)
- NC – węzły zbyt blisko położone
Większość z tych testów możesz wywoływać poprzez odpowiednie "opcje" programu make
, korzystając z UMP-owego Makefile.common.
Linki zewnętrzne
netgen – strona projektu