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.

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


Linki zewnętrzne

netgen – strona projektu