Netgen

Z UMP

(Różnice między wersjami)
Aktualna wersja (22:50, 15 cze 2010) (edytuj) (anuluj zmianę)
 
(Nie pokazano 3 wersji pośrednich.)
Linia 1: Linia 1:
-
''To nie jest kompletny opis netgena! Uzupełnienia mile widzane :)''
+
''To nie jest kompletny opis netgena! Uzupełnienia mile widziane :)''
-
==Debugowanie routingu przy użycu netgena==
+
==Routing – na co to komu i po co==
-
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.
+
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ęzeł routingu|węzły routingu]],
 +
zatem prawidłowe ich ustalenie ma kluczowe znaczenie dla wyznaczania tras na mapie.
-
A - węzły dociągane
+
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 &ndash; opcja "Snap to neighbours" w Mapedicie), a budowaniem sieci routingu i uzupełnianiem odpowiednich informacji zajmuje się program <code>netgen</code> uruchamiany przed kompilacją mapy. Programu tego można także używać w celu szukania różnego rodzaju błędów na mapie.
-
B - ślepe, wygenerowane z opcją -b
+
Więcej informacji na temat programu netgen można znaleźć na [http://umplodz.republika.pl/netgen.html stronie dokumentacji] przygotowanej przez jego autora. Stamtąd też można ściągnąć [http://umplodz.republika.pl/netgen.html#pobieranie najnowszą wersję programu] oraz poprzednie.
-
C - zbyt bliskie węzły
+
Program <code>netgen</code> powinieneś mieć skompilowany i zainstalowany w omyślnej ścieżce uruchamiania programów
 +
lub w katalogu <i>narzedzia</i> 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.
-
I - niezamaskowane przecięcia bez węzła
+
==Debugowanie routingu przy użyciu netgena==
-
M - węzeł brzegowy mapy
+
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 &ndash; węzły dociągane (minimalny niestyk korygowany na etapie kompilacji, ale dla czystości warto dociągnąć)
 +
 
 +
*B &ndash; ślepe końce, wygenerowane z opcją -b. Mogą oznaczać niestyk, a mogą po prostu oznaczać koniec ślepej ulicy &ndash; 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 &ndash; ślepy koniec i te 2 przypadki zdecydowanie wymagają naprawy.
 +
 
 +
*C &ndash; węzły zbyt blisko położone (zbyt blisko siebie położone węzły routingu lub rzadziej niestyk)
 +
 
 +
*H &ndash; "dziura" w klasach routingu &ndash; 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 &ndash; niezamaskowane przecięcia bez węzła &ndash; niestyk albo wiadukt bez bojki WIADUKT.
 +
 
 +
*M &ndash; węzeł brzegowy mapy
 +
 
 +
*UB &ndash; bojka maskująca ślepy koniec, nie wykorzystana w przebiegu netgena (większość można zignorować)
 +
 
 +
*UI &ndash; 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.
Oznaczenie węzła składa się z jednej lub więcej liter i numeru kolejnego.
Linia 19: Linia 41:
I tak:
I tak:
-
NM - węzeł brzegowy
+
*NM &ndash; węzeł brzegowy
 +
 
 +
*NAM &ndash; węzeł brzegowy, dociągany (minimalny niestyk, z ktrym netgen sobie poradził)
-
NAM - węzeł brzegowy, dociągany (minimalny niestyk, z ktrym netgen sobie poradził)
+
*NC &ndash; węzły zbyt blisko położone
-
NC - węzły zbyt blisko położone
+
Większość z tych testów możesz wywoływać poprzez odpowiednie "opcje" programu <code>make</code>, korzystając z UMP-owego [[Makefile.common]].
==Linki zewnętrzne==
==Linki zewnętrzne==
-
[http://umplodz.republika.pl/netgen.html netgen] - strona projektu
+
[http://umplodz.republika.pl/netgen.html netgen] &ndash; strona projektu
-
[[Kategoria:Rysowanie]] [[Kategoria:Narzędzia]]
+
[[Kategoria:Rysowanie]] [[Kategoria:Narzędzia]] [[Kategoria:Routing]]

Aktualna wersja

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