Makefile.common
Z UMP
(Nie pokazano 10 wersji pośrednich.) | |||
Linia 10: | Linia 10: | ||
środowiskowych: | środowiskowych: | ||
- | * '''CVS''' - katalog ze źródłami (czyli ten właśnie z | + | * '''CVS''' - katalog ze źródłami (czyli ten właśnie z podkatalogiem narzedzia i innymi podkatalogami UMP-*) |
* '''DIR''' - jeden lub kilka umpów | * '''DIR''' - jeden lub kilka umpów | ||
np: | np: | ||
- | setenv DIR "UMP-Opole UMP-Katowice" | + | # csh, tcsh: |
+ | setenv DIR "UMP-PL-Opole UMP-PL-Katowice" | ||
setenv CVS /home/user/ump | setenv CVS /home/user/ump | ||
+ | |||
+ | # Bash, sh | ||
+ | export DIR="UMP-PL-Opole UMP-PL-Katowice" | ||
+ | export CVS=/home/user/ump | ||
Po czym najlepiej zrobić sobie: | Po czym najlepiej zrobić sobie: | ||
Linia 22: | Linia 27: | ||
mkdir tmp | mkdir tmp | ||
cd tmp | cd tmp | ||
- | ln -s ../Makefile.common Makefile | + | ln -s ../narzedzia/Makefile.common Makefile |
czyli utworzyć katalog roboczy "tmp" i tam pracować za pomocą: | czyli utworzyć katalog roboczy "tmp" i tam pracować za pomocą: | ||
Linia 37: | Linia 42: | ||
make close - generuje listę za bliskich węzłów | make close - generuje listę za bliskich węzłów | ||
make dead - generuje listę ślepych | make dead - generuje listę ślepych | ||
+ | make deadnm - generuje listę ślepych, ignoruje węzły brzegowe | ||
make wpt - generuje listę węzłów (odwrotnie niż "make x") | make wpt - generuje listę węzłów (odwrotnie niż "make x") | ||
make update - uaktualnia źródła edytowanego ump-a | make update - uaktualnia źródła edytowanego ump-a | ||
- | Cele "x", "wpt", "close", "dead" generują listę punktów zawsze do pliku | + | W przypadku zmontowania jednego obszaru wszystkie punkty brzegowe są zwykle także |
+ | punktami ślepymi z punktu widzenia routingu, dlatego zamiast "dead" sensowniejsze | ||
+ | jest sprawdzanie za pomocą "deadnm", które takie punkty odfiltrowuje, | ||
+ | Cele "x", "wpt", "close", "dead", "deadnm" generują listę punktów zawsze do pliku | ||
wynik-x.wpt, warto więc utworzyć plik "attach" z zawartością: | wynik-x.wpt, warto więc utworzyć plik "attach" z zawartością: | ||
Linia 53: | Linia 62: | ||
;@FILE,"Z:\home\USER\ump\tmp\chg.plt" | ;@FILE,"Z:\home\USER\ump\tmp\chg.plt" | ||
- | a także swoje własne często używane załączniki (np. pliki ze śladami, itp.) | + | a także swoje własne często używane załączniki (np. pliki ze śladami, itp.) Warto też umieścić tam definicje skryptów ściągających kafle: |
+ | |||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=GoogleSatProv.lua",0.000000,0.000000,80,0,1,"U:\Cache\googlesat" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=GoogleMapProv.lua",0.000000,0.000000,80,0,1,"U:\Cache\googlemap" | ||
+ | ;@WEBMAP,"Osm maps","",0.000000,0.000000,255,0,1,"U:\Cache\osm" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=EniroMapProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\navigo" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=MassTracks2.lua",0.000000,0.000000,255,0,1,"U:\Cache\tracks" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=UmpProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\ump" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=ZumiMapProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\zumimap" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=ZumiSatProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\zumisat" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=OsmBWProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\osm-bw" | ||
+ | ;@WEBMAP,"User Defined Maps","UserProviderScript=OsmTrailProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\trail" | ||
+ | |||
+ | YMMV - U:\Cache\ należy oczywiście zmienić na odwołanie do lokalnie istniejącego katalogu, w którym ME/ME++ może sobie keszować ściągane kafelki. | ||
Analogicznie doklejany jest plik bm.tmp (jeśli istnieje), w którym znajdować się mogą | Analogicznie doklejany jest plik bm.tmp (jeśli istnieje), w którym znajdować się mogą | ||
Linia 90: | Linia 112: | ||
update - aktualizacja źródeł | update - aktualizacja źródeł | ||
commit - wysłanie poprawek - wymaga uprawnień do zapisu w CVS | commit - wysłanie poprawek - wymaga uprawnień do zapisu w CVS | ||
+ | commit-g - wysłanie poprawek wraz z plikiem granice.txt w katalogu narzedzia | ||
wrzuta - pakuje wszystkie *.diff do pliku wrzuta.tgz – jeśli nie masz | wrzuta - pakuje wszystkie *.diff do pliku wrzuta.tgz – jeśli nie masz | ||
uprawnień do zapisu w CVS, wygeneruj taki plik i wrzuć go do FlySpray | uprawnień do zapisu w CVS, wygeneruj taki plik i wrzuć go do FlySpray | ||
- | ===Sprawdzanie mapy | + | ===Sprawdzanie mapy=== |
+ | Wymagany [[netgen]]. | ||
sprawdz - sprawdzenie poprawności mapy | sprawdz - sprawdzenie poprawności mapy | ||
dead - wykryj ślepe końce, przy okazji oflagowuje węzły "dociągane" | dead - wykryj ślepe końce, przy okazji oflagowuje węzły "dociągane" | ||
Linia 101: | Linia 125: | ||
number - szybkie wykrywanie podstawowych błędów numeracji (bez używania netgena) | number - szybkie wykrywanie podstawowych błędów numeracji (bez używania netgena) | ||
numbers - pełne wykrywanie błędów numeracji | numbers - pełne wykrywanie błędów numeracji | ||
- | bm - generuje bookmarki z tego, co wcześniej zostało sprawdzone. | + | miasta - sprawdza zgodność nazw miast z bazą TERYT. Wymagane narzędzie narzedzia/check_miasta |
+ | bm - generuje bookmarki z tego, co wcześniej zostało sprawdzone (wg pliky wynik-x.wpt). | ||
+ | bmextract - wyciąga bookmarki z pliku wynik.mp (poprawione po edycji mapy) i zapisuje ponownie w pliku bm.tmp | ||
+ | bmex - skrót do bmextract | ||
- | + | [[Bookmarki]] działają w połączeniu z innymi testami, przetwarzając plik wynikowy | |
''wynik-x.wpt'' na format bookmarków (plik tymczasowy ''bm.tmp'', który | ''wynik-x.wpt'' na format bookmarków (plik tymczasowy ''bm.tmp'', który | ||
- | zostanie użyty w kolejnym montowaniu mapy. Czyli sensowne jest np. zrobienie "make mont x bm; make mont", albo "make mont deadnm bm; make mont" itp. itd. | + | zostanie użyty w kolejnym montowaniu mapy). Czyli sensowne jest np. zrobienie "make mont x bm; make mont", albo "make mont deadnm bm; make mont" itp. itd. |
+ | |||
+ | Jeśli chcemy zachować bookmarki pomiędzy kolejnymi uruchomieniami mapedita oraz montowaniem/demontowaniem mapy (na przykład wtedy, gdy za pomocą bookmarków [[Bookmarki#3._Weryfikacja_POI_wg_zewnętrznych_źródeł|weryfikujemy punkty POI]] usuwając kolejne bookmarki wraz z usuwaniem/poprawianiem kolejnych POI i mamy rozgrzebaną do połowy robotę, ale wolimy ją skończyć kiedyś później), należy po pierwsze wyekstrahować bookmarki z pliku wynik.mp do bm.tmp (za pomocą "make bmex"), a być może także skopiować sobie ten plik w inne bezpieczne miejsce, żeby nie został nadpisany przy kolejnym uruchomieniu "make dead bm" lub innej opcji generującej listę błędów. Gdy chcemy wrócić do [[Bookmarki#3._Weryfikacja_POI_wg_zewnętrznych_źródeł|weryfikacji POI]], kopiujemy zachowany plik bookmarków do pliku bm.tmp i ponownie montujemy mapę. | ||
===Testy związane z routingiem=== | ===Testy związane z routingiem=== | ||
Linia 114: | Linia 143: | ||
test-jk - wygeneruj dane potrzebne do routingu - z włączonymi opcjami j i k netgena | test-jk - wygeneruj dane potrzebne do routingu - z włączonymi opcjami j i k netgena | ||
class - wygeneruj informacje o klasach routingu do osobnych plików (domyślnie bazuje na make test) | class - wygeneruj informacje o klasach routingu do osobnych plików (domyślnie bazuje na make test) | ||
+ | |||
+ | Każdy z tych testów wyświetla znalezione błędy na ekranie, ale generuje także plik wynik-x.wpt wskazujący współrzędne ich wystąpienia w postaci waypointów. Pisząc "make bm" możesz taki plik waypointów przerobić na format bookmarków, co pozwala na wygodniejszą ich edycję | ||
===Inne=== | ===Inne=== | ||
- | visual - na podstawie plików diff tworzy listę zmian dokonanych na mapie. '''Mapa musi | + | visual - na podstawie plików diff tworzy listę zmian dokonanych na mapie. '''Mapa musi zostać wcześniej rozmontowana!''' |
- | cum - wykonuje kolejno clean, update, | + | cum - wykonuje kolejno clean, update, mont |
cd - clean, demont | cd - clean, demont | ||
help - opis wszystkich zdefiniowanych funkcji | help - opis wszystkich zdefiniowanych funkcji |
Aktualna wersja
Narzędzie dla użytkowników systemów Unix i Linux służące do operowania na źródłach UMP.
Spis treści |
Podstawowa funkcjonalność
Poniższy opis przytaczam za Tomaszem Surmaczem, jego autorem.
Do działania Makefile wymaga ustawienia 2 zmiennych środowiskowych:
- CVS - katalog ze źródłami (czyli ten właśnie z podkatalogiem narzedzia i innymi podkatalogami UMP-*)
- DIR - jeden lub kilka umpów
np:
# csh, tcsh: setenv DIR "UMP-PL-Opole UMP-PL-Katowice" setenv CVS /home/user/ump
# Bash, sh export DIR="UMP-PL-Opole UMP-PL-Katowice" export CVS=/home/user/ump
Po czym najlepiej zrobić sobie:
cd $CVS mkdir tmp cd tmp ln -s ../narzedzia/Makefile.common Makefile
czyli utworzyć katalog roboczy "tmp" i tam pracować za pomocą:
make mont - montuje źródła. Na końcu dokleja plik "attach", jeśli taki istnieje make x - generuje listę niestyków (zmontowanego wynik.mp)
- uruchomić mapedita, poprawiać
make demont - rozmontowuje, każe uaktualnić źródła (copy&paste myszką) make commit - commituje poprawki
i tak w kółko, jak długo starcza chęci i materiału do poprawiania. Dodatkowo:
make clean - czyści pliki tymczasowe (diffy z rozmontowywania, itp.) make close - generuje listę za bliskich węzłów make dead - generuje listę ślepych make deadnm - generuje listę ślepych, ignoruje węzły brzegowe make wpt - generuje listę węzłów (odwrotnie niż "make x") make update - uaktualnia źródła edytowanego ump-a
W przypadku zmontowania jednego obszaru wszystkie punkty brzegowe są zwykle także punktami ślepymi z punktu widzenia routingu, dlatego zamiast "dead" sensowniejsze jest sprawdzanie za pomocą "deadnm", które takie punkty odfiltrowuje, Cele "x", "wpt", "close", "dead", "deadnm" generują listę punktów zawsze do pliku wynik-x.wpt, warto więc utworzyć plik "attach" z zawartością:
;@FILE,"Z:\home\USER\ump\tmp\wynik-x.wpt"
Plik attach jest automatycznie doklejany na końcu podczas montowania mapy i nie trzeba wtedy samemu za każdym razem wczytywać wynik-x.wpt po każdorazowym rozpoczęciu edycji. Często używanymi załącznikami są także pliki "new.plt", "old.plt" i chg.plt" generowane przez skrypt narzedzia/pltdiff, warto więc dopisać tam także:
;@FILE,"Z:\home\USER\ump\tmp\new.plt" ;@FILE,"Z:\home\USER\ump\tmp\old.plt" ;@FILE,"Z:\home\USER\ump\tmp\chg.plt"
a także swoje własne często używane załączniki (np. pliki ze śladami, itp.) Warto też umieścić tam definicje skryptów ściągających kafle:
;@WEBMAP,"User Defined Maps","UserProviderScript=GoogleSatProv.lua",0.000000,0.000000,80,0,1,"U:\Cache\googlesat" ;@WEBMAP,"User Defined Maps","UserProviderScript=GoogleMapProv.lua",0.000000,0.000000,80,0,1,"U:\Cache\googlemap" ;@WEBMAP,"Osm maps","",0.000000,0.000000,255,0,1,"U:\Cache\osm" ;@WEBMAP,"User Defined Maps","UserProviderScript=EniroMapProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\navigo" ;@WEBMAP,"User Defined Maps","UserProviderScript=MassTracks2.lua",0.000000,0.000000,255,0,1,"U:\Cache\tracks" ;@WEBMAP,"User Defined Maps","UserProviderScript=UmpProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\ump" ;@WEBMAP,"User Defined Maps","UserProviderScript=ZumiMapProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\zumimap" ;@WEBMAP,"User Defined Maps","UserProviderScript=ZumiSatProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\zumisat" ;@WEBMAP,"User Defined Maps","UserProviderScript=OsmBWProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\osm-bw" ;@WEBMAP,"User Defined Maps","UserProviderScript=OsmTrailProv.lua",0.000000,0.000000,255,0,1,"U:\Cache\trail"
YMMV - U:\Cache\ należy oczywiście zmienić na odwołanie do lokalnie istniejącego katalogu, w którym ME/ME++ może sobie keszować ściągane kafelki.
Analogicznie doklejany jest plik bm.tmp (jeśli istnieje), w którym znajdować się mogą bookmarki (feature najnowszych wersji ME++). Za pomocą bookmarków można na przykład oglądać niestyki i inne błędy routingu – żeby to zrobić należy zmontować mapę, wygenerować niestyki, z nich zrobić bookmarki, a następnie jeszcze raz zmontować mapę ze zrobionymi bookmarkami. Czyli:
make mont x bm make mont
Cele można łączyć (tak jak w przykładzie powyżej), czyli np. wykonać:
make clean mont x (wyczyści, zmontuje, wygeneruje niestyki) # edycja mapeditem (w osobnym oknie) make demont # kopiowanie plików, ponowna edycja make demont # skopiowanie reszty plików make clean mont close # ponowna edycja (nie zapomnieć ponownie wczytać wynik.mp w mapedicie!) make demont # skopiowanie poprawek make clean commit
Dostępne cele
Podstawowe operacje
mont - montowanie mapy mont-topo - montuje wersję topo mapy (do montowania włącza pliki *.topo.txt i *.topo.pnt) demont - rozmontowanie mapy, wykonanie diffów, pliki różniące się względem oryginału tworzone są w katalogu bieżącym clean - usuwa pozostałości po rozmontowanej mapie, pliki *.plt i wynik* zostawiane są w spokoju mrproper - pełne czyszczenie katalogu roboczego, kasuje to co clean oraz pliki tymczasowe, wynik* i *.plt
Interakcja z CVS
update - aktualizacja źródeł commit - wysłanie poprawek - wymaga uprawnień do zapisu w CVS commit-g - wysłanie poprawek wraz z plikiem granice.txt w katalogu narzedzia wrzuta - pakuje wszystkie *.diff do pliku wrzuta.tgz – jeśli nie masz uprawnień do zapisu w CVS, wygeneruj taki plik i wrzuć go do FlySpray
Sprawdzanie mapy
Wymagany netgen.
sprawdz - sprawdzenie poprawności mapy dead - wykryj ślepe końce, przy okazji oflagowuje węzły "dociągane" deadnm - j.w., ale odfiltrowuje część węzłów skrajnych mapy x - wykryj skrzyżowania bez węzłów close - wykryj zbyt blisko położone węzły number - szybkie wykrywanie podstawowych błędów numeracji (bez używania netgena) numbers - pełne wykrywanie błędów numeracji miasta - sprawdza zgodność nazw miast z bazą TERYT. Wymagane narzędzie narzedzia/check_miasta bm - generuje bookmarki z tego, co wcześniej zostało sprawdzone (wg pliky wynik-x.wpt). bmextract - wyciąga bookmarki z pliku wynik.mp (poprawione po edycji mapy) i zapisuje ponownie w pliku bm.tmp bmex - skrót do bmextract
Bookmarki działają w połączeniu z innymi testami, przetwarzając plik wynikowy wynik-x.wpt na format bookmarków (plik tymczasowy bm.tmp, który zostanie użyty w kolejnym montowaniu mapy). Czyli sensowne jest np. zrobienie "make mont x bm; make mont", albo "make mont deadnm bm; make mont" itp. itd.
Jeśli chcemy zachować bookmarki pomiędzy kolejnymi uruchomieniami mapedita oraz montowaniem/demontowaniem mapy (na przykład wtedy, gdy za pomocą bookmarków weryfikujemy punkty POI usuwając kolejne bookmarki wraz z usuwaniem/poprawianiem kolejnych POI i mamy rozgrzebaną do połowy robotę, ale wolimy ją skończyć kiedyś później), należy po pierwsze wyekstrahować bookmarki z pliku wynik.mp do bm.tmp (za pomocą "make bmex"), a być może także skopiować sobie ten plik w inne bezpieczne miejsce, żeby nie został nadpisany przy kolejnym uruchomieniu "make dead bm" lub innej opcji generującej listę błędów. Gdy chcemy wrócić do weryfikacji POI, kopiujemy zachowany plik bookmarków do pliku bm.tmp i ponownie montujemy mapę.
Testy związane z routingiem
Poniższe cele służą do wygenerowania informacji o routingu przydatnych np. do sprawdzenia ciągłości routingu w danym obszarze.
test - wygeneruj dane potrzebne do routingu test-j - wygeneruj dane potrzebne do routingu - z włączoną opcją j netgena test-k - wygeneruj dane potrzebne do routingu - z włączoną opcja k netgena test-jk - wygeneruj dane potrzebne do routingu - z włączonymi opcjami j i k netgena class - wygeneruj informacje o klasach routingu do osobnych plików (domyślnie bazuje na make test)
Każdy z tych testów wyświetla znalezione błędy na ekranie, ale generuje także plik wynik-x.wpt wskazujący współrzędne ich wystąpienia w postaci waypointów. Pisząc "make bm" możesz taki plik waypointów przerobić na format bookmarków, co pozwala na wygodniejszą ich edycję
Inne
visual - na podstawie plików diff tworzy listę zmian dokonanych na mapie. Mapa musi zostać wcześniej rozmontowana! cum - wykonuje kolejno clean, update, mont cd - clean, demont help - opis wszystkich zdefiniowanych funkcji
Zmienne środowiskowe
Wymagane do poprawnej pracy
CVS - położenie lokalnej kopii źródeł mapy (katalog główny) DIR - UMP który chcemy montować
Opcjonalne
MONTEXTRA - dodatkowe opcje dla mont-demont-multi2.pl, np. --extra-types NETGENEXTRA - dodatkowe opcje dla netgen-a, np. -p6
Dodatkowe informacje
Opiekunem narzędzia jest Tomasz Surmacz, wspomagany przez Tomasza Babczyńskiego.