Pierwsze2

Z UMP

(Różnice między wersjami)
(Co dalej: rozszerzenie sekcji Co dalej)
Aktualna wersja (11:27, 15 sie 2022) (edytuj) (anuluj zmianę)
(Pobranie MapEdit++)
 
(Nie pokazano 24 wersji pośrednich.)
Linia 1: Linia 1:
 +
== Przygotowanie środowiska ==
 +
Kilka słów jak przygotować komputer do pracy - założenie - jesteś kompletnym lajkonikiem w materii IT - możesz nie wiedzieć co i jak zrobić, ale chcesz rysować. Ten rozdział ma odpowiedzieć co zrobić, jak przygotować środowisko.
 +
Istnieje kilka stron opisujących w dużym skrócie to samo, co ta strona, ale liczą one na Twoją inteligencję, ale pracując w IT wiem, że na inteligencję można liczyć o ile pracujesz w IT, bo "nie-informatycy" nie domyślą się wielu podstawowych rzeczy. W tym dokumencie liczymy na Twoją inteligencję, ale oczekujemy jej dopiero na etapie rysowania, a nie konfigurowania środowiska.
 +
=== System operacyjny ===
 +
Możesz bardzo lubić otwarte systemy, jednak najłatwiej pójść dalej, jeżeli posiadasz Windows. Teoretycznie możesz mieć dowolny system od Windows 2000 w górę, w rzeczywistości dowolny powyżej 2000:
 +
* XP - home lub professional
 +
* Server 2003/2003 R2
 +
* Vista
 +
* Windows 7
 +
* Server 2008/2008 R2
 +
* Windows 8
 +
* Server 2012/2012 R2 (za chwilę będzie)
 +
Linia serwerowa wymieniona jest dla formalności, ale kto wie czym kto dysponuje? Oczywiście system może być uruchomiony w środowisku wirtualnym - taki komputer w komputerze - wspomniany dla formalności - może być dobrym wyjściem jeżeli nie chcesz instalować Windows, a masz licencję i możesz jej użyć w środowisku wirtualnym.
 +
=== Katalogi vel foldery ===
 +
W systemach Windows dane trzymane są na dyskach - C:, D:, E: - musisz znaleźć dysk, na którym jest min. 10GB wolnego miejsca - UMP w bardziej ekstremalnym wydaniu może zająć nawet 5GB, a jeszcze trochę musi zostać dla systemu. Załóżmy dalej, że umieścisz dane na dysku D: (choć może być to C: jeżeli masz tam dużo miejsca).
 +
Dane UMP wrzucasz do jakiegoś folderu, proponuję, byś założył np. '''GARMIN''', czyli dokładnie '''D:\GARMIN'''. W środku załóż podkatalogi '''UMP''' oraz '''MapEdit'''.
 +
W folderze '''GARMIN''' w przyszłości możesz umieścić inne obiekty związane z mapami, ja tam trzymam wersję topo (mam podfolder '''UMP-topo''') oraz wersję NI (mam podfolder '''UMP-NI'''), trzymam tam również ślady (folder '''gpx''') i kilka narzędzi. I pojawiają się kolejne.
 +
=== Pobranie pakietu edycyjnego ===
 +
Operacja konfiguracji środowiska opisana jest też [[Pakiet_edycyjny|tu]]. Ściągnij [http://ump.waw.pl/pliki/instaluj.zip pakiet startowy] (110kB) i rozpakuj zawartość do folderu '''D:\GARMIN\UMP'''.
 +
Przeczytaj opis "instaluj.txt", szczególnie wtedy, jeśli masz słabsze łącze i nie chcesz ściągać wszystkich obszarów (ponad 1GB!), ale tylko 'swój' lub 'swoje' jeżeli miejsce Twojej początkowej edycji znajdzie się na kilku obszarach. Musisz kliknąć prawym klawiszem na pliku '''instaluj.bat''' i wybrać '''Edytuj'''. Może pojawić się ostrzeżenie i otworzy się plik notatnika. Znajdź linię zaczynającą się od '''set cosciagac''':
 +
set cosciagac=UMP-PL-Warszawa UMP-PL-Radom
 +
i wymień obszar lub obszary, które potrzebujesz, załóżmy, że będziesz edytować w obszarze '''UMP-PL-Suwalki''', to linia powinna mieć postać:
 +
set cosciagac=UMP-PL-Suwalki
 +
a całą Polskę ściągniesz wpisując
 +
set cosciagac=POLSKA
 +
Zamknij edytor (notatnik), zapisz zmiany. Uruchom instaluj.bat i poczekaj.
 +
'''W tym momencie masz pobrane dane - źródła - z nich będą montowane pliki map, na których będziesz pracować.'''
 +
=== Pobranie MapEdit++ ===
 +
 +
Do edycji map potrzebujesz programu Mapedit lub Mapedit++. Program działa wyłącznie w systemie operacyjnym Windows, więc jeśli twoim natywnym środowiskiem jest Linux, potrzebujesz dodatkowo narzędzia typu VirtualBox (ew. wine), aby w nim uruchomić widowsy, a w windowsach - mapedita. Szczegóły dotyczące pobrania i zainstalowania programu Mapedit opisane są [http://ump.fuw.edu.pl/wiki/Mapedit na osobnej stronie]
 +
 +
== Rysowanie - jak wygląda proces edycji? ==
 +
 +
Źródła mapy rozbite są na wiele plików. Podział jest zrobiony po pierwsze ze względu na obszar geograficzny (np. UMP-PL-Gdansk zawiera obszar od Helu po Gdańsk i okolice, a UMP-PL-Tczew to kolejny obszar znajdujący się na południe od UMP-PL-Gdansk). W obrębie obszaru także mamy osobne pliki na obiekty różnego typu - punkty, obszary, drogi i ulice. Plików takich może być bardzo dużo i wszystkie trzymane są na serwerach w systemie kontroli wersji CVS. Aby coś poprawić, za każdym razem trzeba:
 +
* ściągnąć z CVS-a pliki dla danego obszaru lub uaktualnić (cvs update) te, które już mieliśmy ściągnięte wcześniej
 +
* zmontować obszar, czyli jednym z dostępnych narzędzi (mdm-py, make/mont-demont-multi3.pl, mont.bat) zebrać wszystkie pliki źródłowe do jednego pliku mapy - wynik.mp
 +
* uruchomić program Mapedit/Mapedit++ na zmontowanym pliku i zrobić stosowne poprawki oraz zapisać zmiany
 +
* rozmontować mapę -- tym samym narzędziem, co do montażu: celem jest rozbicie pliku z mapą na elementy skłądowe i znalezienie różnic (diff-ów) oraz wygenerowanie nowszych wersji plików, które objęły zmiany zrobione Mapeditem.
 +
* przejrzeć w celu weryfikacji, czy nic się nie popsuło i czy zawierają tylko rzeczy, które sami edytowaliśmy, także - uruchomić skrypty szukające typowych błędów (narzędzia typu "sprawdz.awk" itp.)
 +
* wysłać dane na serwer CVS - robiąc cvs commit
 +
Cały ten proces powtarzamy przy każdej edycji. Jak już wiemy jak to działa, czasami można iść na skróty albo robić różne inne rzeczy (np. poprawki w źródłach edytorem tekstowym, edycja kilku obszarów naraz, itp.), ale generalnie sposób edycji zostaje podobny: bierzemy aktualne źródła, składamy w jeden plik, edytujemy, rozmontowujemy i wysyłamy zmodyfikowane pliki.
 +
== Rysowanie - pierwsza droga ==
== Rysowanie - pierwsza droga ==
=== Co narysować ===
=== Co narysować ===
Linia 12: Linia 54:
=== Zaczynamy ===
=== Zaczynamy ===
-
Posiadasz [[Mont-demont|zmontowane źródła]], uruchomiony MapEdit (lub MapEdit++, dalej będę nazywał je skrótem ME). '''Powiedzmy, że używasz tylko ME++'''
+
Masz otwartą stronę [[Co-czym]]. Posiadasz [[Mont-demont|zmontowane źródła]], uruchomiony MapEdit (lub MapEdit++, dalej będę nazywał je skrótem ME). '''Powiedzmy, że używasz tylko ME++'''.
Pierwsze kroki to:
Pierwsze kroki to:
* przybliżenie się do interesującego obszaru - narzędzie lupa lub klawisz '''Z'''(oom)
* przybliżenie się do interesującego obszaru - narzędzie lupa lub klawisz '''Z'''(oom)
Linia 69: Linia 111:
Lista części składowych obiektu - w 99% przypadków będzie to obiekt jednoelementowy. Dodatkowo tu można określić do jakiego poziomu droga/obiekt będzie widoczny ('''All elements are extended to levels up to''') - ustaw 1 dla dróg, by było je widać nie tylko na dużych zbliżeniach, ale nie więcej niż 1, by nie było zbyt zamazanej mapy przy bardzo dużych oddaleniach. Jeżeli ustawisz tu np. 9 to droga (nie sprawdzałem) będzie widoczna na mapie Świata.
Lista części składowych obiektu - w 99% przypadków będzie to obiekt jednoelementowy. Dodatkowo tu można określić do jakiego poziomu droga/obiekt będzie widoczny ('''All elements are extended to levels up to''') - ustaw 1 dla dróg, by było je widać nie tylko na dużych zbliżeniach, ale nie więcej niż 1, by nie było zbyt zamazanej mapy przy bardzo dużych oddaleniach. Jeżeli ustawisz tu np. 9 to droga (nie sprawdzałem) będzie widoczna na mapie Świata.
 +
 +
Jeżeli zdarzyło się, że narysowałeś/aś coś na poziomie innym niż 0 ('''a tego nie chcemy''') to na tej zakładce bardzo łatwo możesz to naprawić - używasz przycisku '''Copy...''', kopiujesz na poziom 0, usuwasz błędny obiekt i już. Aha, jak zamkniesz okno, a będziesz ciągle na poziomie widoczności obiektów, np. na poziomie 1 to oczywiście nowo przesunięty na poziom 0 obiekt zniknie - musisz przełączyć się na poziom 0 i dopiero go zobaczysz.
==== zakładka Address ====
==== zakładka Address ====
Linia 81: Linia 125:
Trzecia zakładka - ograniczenia routingu. Tu możesz określić kto może, a kto nie może się poruszać po danym typie drogi, np. zakaz ruchu dla ciężarówek. '''Tu nie określasz kierunkowości ulicy!'''
Trzecia zakładka - ograniczenia routingu. Tu możesz określić kto może, a kto nie może się poruszać po danym typie drogi, np. zakaz ruchu dla ciężarówek. '''Tu nie określasz kierunkowości ulicy!'''
 +
 +
'''Nie wolno też tutaj zmieniać parametrów drogi - klasy/nawierzchni/prędkości!!! To jest robione automatycznie. Istnieją odstępstwa, gdy trzeba wymusić klasę, ale musisz założyć, że na etapie nauki i później rysowania już jako edytor z taką sytuacją spotkasz się bardzo rzadko.'''
==== zakładka Source ====
==== zakładka Source ====
Linia 102: Linia 148:
* LUBLIN.drogi.txt.diff
* LUBLIN.drogi.txt.diff
-
Jeżeli powstał plik _nowosci.txt to znaczy dokładnie tyle, że zakładka Extras jest pusta lub zawiera błędy. Co można zrobić w tej sytuacji (gdy jest _nowosci.txt lub _nowosci.pnt (dla POI))? Wejść do edytora przy pomocy '''mont-demont edycja''', po edycji, zapisaniu i zamknięciu ponownie nastąpi rozmontowanie.
+
Jeżeli powstał plik _nowosci.txt to znaczy dokładnie tyle, że zakładka Extras jest pusta lub zawiera błędy. Co można zrobić w tej sytuacji (gdy jest _nowosci.txt lub _nowosci.pnt (dla POI))? Wejść do edytora przy pomocy '''mont-demont edycja''', po edycji, zapisaniu i zamknięciu ponownie nastąpi rozmontowanie. Możesz też po prostu wysłać pliki _nowosci licząc na przychylność osoby, która to wrzuci na mapę. Traktuj to jednak jako ostateczność. Nie namawiam do złego, ale jeżeli to Twoje pierwsze rysowanie to nikt nie powinien robić Ci z tego powodu wielkiego problemu, przy trzecim rysowaniu wysłanie _nowosci.txt i _nowosci.pnt będzie odbierane dziwnie.
 +
 
 +
'''A co się stanie jeżeli nie wyślesz plików _nowosci lub nie dodasz ich do właściwych plików?''' Nic, dane w nich zapisane ulegną zatarciu i będziesz zmuszony/a rysować to ponownie.
=== Co dalej ===
=== Co dalej ===
Linia 110: Linia 158:
==== Aspirujący do bycia edytorem ====
==== Aspirujący do bycia edytorem ====
-
W skrócie - nie masz prawa zapisu - diffy musisz komuś dostarczyć. W tym celu zbierasz wszystkie pliki diff plus _nowosci.txt oraz _nowosci.pnt - tych dwóch nie powinno być, ale jeżeli nie potrafisz sobie z nimi poradzić to je dołącz - ktoś z prawem do zapisu powinien Ci jasno wytłumaczyć dlaczego to powstało. A więc zbierasz i pakujesz (w Windows najprościej prawym klawiszem myszy, '''Send To->Compressed (zipped) folder''' - nie wiem jak to jest polsku, pewnie '''Wyślij do->Folder skompresowany''') i przez '''FlySpry''' zgłaszasz oznaczając, że to jest diff.
+
W skrócie - nie masz prawa zapisu - diffy musisz komuś dostarczyć. W tym celu zbierasz wszystkie pliki '''diff''' plus '''_nowosci.txt''' oraz '''_nowosci.pnt''' - tych dwóch nie powinno być, ale jeżeli nie potrafisz sobie z nimi poradzić to je dołącz - ktoś z prawem do zapisu powinien Ci jasno wytłumaczyć dlaczego to powstało. A więc zbierasz i pakujesz (w Windows najprościej prawym klawiszem myszy, '''Send To->Compressed (zipped) folder''' - nie wiem jak to jest polsku, pewnie '''Wyślij do->Folder skompresowany''') i przez '''FlySpry''' zgłaszasz oznaczając, że to jest diff.
-
'''Jedna uwaga:''' lepiej poczekać z kolejną edycją do momentu, gdy ktoś to obrobi, tzn. sprawdzi efekty Twojej pracy i powie - źle, dobrze, co jest do poprawy. Jeżeli zmontujesz nowe dane, zaczniesz edycję i rozmontujesz to zniszczysz swoje diffy - co prawda są sposoby by diffy ponownie wróciły na swoje miejsce, ale za dużo z tym zabawy dla celów czysto szkoleniowych. Dlatego lepiej poczekać.
+
'''Jedna uwaga:''' lepiej poczekać z kolejną edycją do momentu, gdy ktoś to obrobi, tzn. sprawdzi efekty Twojej pracy i powie - źle, dobrze, co jest do poprawy. Jeżeli zmontujesz nowe dane, zaczniesz edycję i rozmontujesz to zniszczysz swoje diffy i nie będziesz mógł tego od ręki poprawić, by od razu poznać przyczynę swoich błędów - co prawda są sposoby by diffy ponownie wróciły na swoje miejsce, ale za dużo z tym zabawy dla celów czysto szkoleniowych. Dlatego lepiej poczekać.
==== Edytor z prawem do zapisu ====
==== Edytor z prawem do zapisu ====
Linia 119: Linia 167:
Są dwie możliwości:
Są dwie możliwości:
-
- użycie [[paczuj]]
+
* użycie [[paczuj]]
-
- ręczne przeniesienie plików txt i pnt do podkatalogu src, np. plik '''...\UMP-PL-Lublin\LUBLIN.ulice.txt''' do '''...\UMP-PL-Lublin\src\LUBLIN.ulice.txt''' - tu już ten plik jest więc trzeba go nadpisać, zrobić aktualizację (cvs_update) i później commit (cvs com -m "komentarz")
+
* ręczne przeniesienie plików txt i pnt do podkatalogu src, np. plik '''...\UMP-PL-Lublin\LUBLIN.ulice.txt''' do '''...\UMP-PL-Lublin\src\LUBLIN.ulice.txt''' - tu już ten plik jest więc trzeba go nadpisać, zrobić aktualizację (cvs_update) i później commit (cvs com -m "komentarz")
Jeżeli nie było błędów (konflikty) i commit zadziałał możesz ponownie dane zmontować i ku chwale UMP coś nowego narysować :).
Jeżeli nie było błędów (konflikty) i commit zadziałał możesz ponownie dane zmontować i ku chwale UMP coś nowego narysować :).
Linia 127: Linia 175:
=== Dodanie węzła ===
=== Dodanie węzła ===
W trybie edycji węzłów (klawisz '''M''') prawym klikasz na linii/obszarze, gdzie ma powstać punkt i z menu kontekstowego wybierasz '''Insert node here'''. Jeżeli trafisz w węzeł to będzie dostępna opcja usunięcia węzła '''Delete node'''.
W trybie edycji węzłów (klawisz '''M''') prawym klikasz na linii/obszarze, gdzie ma powstać punkt i z menu kontekstowego wybierasz '''Insert node here'''. Jeżeli trafisz w węzeł to będzie dostępna opcja usunięcia węzła '''Delete node'''.
-
<gallery>
+
<gallery widths=250 heights=250>
Grafika:nodes020.png|Zaznaczasz linię
Grafika:nodes020.png|Zaznaczasz linię
Grafika:nodes021.png|Prawym klawiszem wywołujesz menu kontekstowe
Grafika:nodes021.png|Prawym klawiszem wywołujesz menu kontekstowe
Linia 145: Linia 193:
=== Przesunięcie węzła ===
=== Przesunięcie węzła ===
To najbardziej skomplikowana operacja :) Łapiesz i przesuwasz - jeżeli masz włączone dociąganie do punktów to dociągnie do najbliższego o ile za bardzo się zbliżysz.
To najbardziej skomplikowana operacja :) Łapiesz i przesuwasz - jeżeli masz włączone dociąganie do punktów to dociągnie do najbliższego o ile za bardzo się zbliżysz.
-
=== Dzielenie linii === [Dzielenie linii]
+
=== Dzielenie linii ===
 +
[Dzielenie linii]
Dlaczego tutaj? No, bo to operacja na węzłach. W trybie edycji węzłów (klawisz '''M''') prawy klawisz myszy na węźle, wybierasz opcję '''Split polyline''' i już. Jak cofnąć operację? '''Undo''', czyli '''Ctrl-Z'''. Jeżeli kiedyś, później będziesz chcieć to zrobić to można linie połączyć.
Dlaczego tutaj? No, bo to operacja na węzłach. W trybie edycji węzłów (klawisz '''M''') prawy klawisz myszy na węźle, wybierasz opcję '''Split polyline''' i już. Jak cofnąć operację? '''Undo''', czyli '''Ctrl-Z'''. Jeżeli kiedyś, później będziesz chcieć to zrobić to można linie połączyć.
=== Usuwanie nadmiarowych punktów - generalizacja ===
=== Usuwanie nadmiarowych punktów - generalizacja ===
-
'''Nim pierwszy raz użyjesz tej funkcji spróbuj narysować kilkaset dróg w standardowy sposób'''. Nie jest to coś złego, ale jest zbyt proste w użyciu i kuszące - jak schody ruchome prowadzące do ośrodka fitnes. Ślad możesz skonwertować do wybranego typu linii. Ślad zawsze posiada dużo za dużo punktów. Każdy punkt to obciążenie dla systemu. By się ich pozbyć, gdy droga powstała w wyniku konwersji ze śladu - wybierz opcję (w trybie edycji węzłów) '''Generalize nodes''' Po tej operacji pozostanie znacznie mniej punktów nadmiarowych.
+
'''Nim pierwszy raz użyjesz tej funkcji spróbuj narysować kilkaset dróg w standardowy sposób'''. Nie jest to coś złego, ale jest zbyt proste w użyciu i kuszące - jak schody ruchome prowadzące do ośrodka fitnes. Ślad możesz skonwertować do wybranego typu linii. Ślad zawsze posiada dużo za dużo punktów. Każdy punkt to obciążenie dla systemu. By się ich pozbyć, gdy droga powstała w wyniku konwersji ze śladu - wybierz opcję (w trybie edycji węzłów) '''Generalize nodes''' Po tej operacji pozostanie znacznie mniej punktów nadmiarowych, ale i tak ich będzie dużo za dużo.
 +
Dlatego jednak rysuj i nie korzystaj z konwersji śladów!
=== Odwracanie kierunku linii ===
=== Odwracanie kierunku linii ===
Linia 162: Linia 212:
=== Łączenie linii ===
=== Łączenie linii ===
Łączenie linii wykonywane jest w trybie wyboru obiektów '''S'''(elect). Pierwszą linię zaznaczasz klikając na niej, drugą trzymając klawisz '''Ctrl'''. Pierwsza zaznacza się na niebiesko (u mnie), druga na zielono (u mnie). Z menu kontekstowego wybierasz '''Merge Polylines''' i już.
Łączenie linii wykonywane jest w trybie wyboru obiektów '''S'''(elect). Pierwszą linię zaznaczasz klikając na niej, drugą trzymając klawisz '''Ctrl'''. Pierwsza zaznacza się na niebiesko (u mnie), druga na zielono (u mnie). Z menu kontekstowego wybierasz '''Merge Polylines''' i już.
-
<gallery>
+
<gallery widths=250 heights=250>
Grafika:nodes040.png|Zaznaczasz obie linie
Grafika:nodes040.png|Zaznaczasz obie linie
Grafika:nodes041.png|Merge Polylines
Grafika:nodes041.png|Merge Polylines
Linia 173: Linia 223:
Dzielenie linii wykonujesz w trybie edycji węzłów ('''M'''). Zaznaczasz punkt, w którym nastąpi podział, z menu kontekstowego (prawy klawisz myszy) wybierasz '''Split Polyline'''.
Dzielenie linii wykonujesz w trybie edycji węzłów ('''M'''). Zaznaczasz punkt, w którym nastąpi podział, z menu kontekstowego (prawy klawisz myszy) wybierasz '''Split Polyline'''.
-
<gallery>
+
<gallery widths=250 heights=250>
Grafika:nodes030.png|W trybie edycji węzłów zaznaczasz punkt podziału, wybierasz Split Polyline
Grafika:nodes030.png|W trybie edycji węzłów zaznaczasz punkt podziału, wybierasz Split Polyline
Grafika:nodes031.png|Są dwie linie
Grafika:nodes031.png|Są dwie linie
Linia 228: Linia 278:
A więc jakbym to zrobił, kolejne kroki:
A więc jakbym to zrobił, kolejne kroki:
'''(zapomniałem przejść do sztywnego poziomu 0, to błąd, zmienię w trakcie)'''
'''(zapomniałem przejść do sztywnego poziomu 0, to błąd, zmienię w trakcie)'''
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:editroad001.png|1. usunięte bojki
Grafika:editroad001.png|1. usunięte bojki
Grafika:editroad002.png|2. wybór (M) drogi do wyciągnięcia
Grafika:editroad002.png|2. wybór (M) drogi do wyciągnięcia
Linia 237: Linia 287:
** dla systemu to więcej zmian
** dla systemu to więcej zmian
** musisz wtedy również wypełnić Extras, które w wyciąganej drodze jest już wypełnione
** musisz wtedy również wypełnić Extras, które w wyciąganej drodze jest już wypełnione
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:editroad003.png|3. pierwsze dociągnięcie drogi
Grafika:editroad003.png|3. pierwsze dociągnięcie drogi
Grafika:editroad004.png|4. przeciągnięcie drogi - powstaje punkt
Grafika:editroad004.png|4. przeciągnięcie drogi - powstaje punkt
Linia 245: Linia 295:
* '''krok 4''' - krok pośredni, który jest tylko po to, by pokazać, że jak zaczynamy łamać drogę to punkty same się pojawiają na drodze :) i droga jest dociągana do śladu oraz do obiektów, priorytet zawsze mają obiekty, ale czasami dociąga się do śladu zamiast do obiektów
* '''krok 4''' - krok pośredni, który jest tylko po to, by pokazać, że jak zaczynamy łamać drogę to punkty same się pojawiają na drodze :) i droga jest dociągana do śladu oraz do obiektów, priorytet zawsze mają obiekty, ale czasami dociąga się do śladu zamiast do obiektów
* '''krok 5''' - dokładne wyciągnięcie drogi - dociągnięcie do śladu - powstało moim zdaniem wystarczająco dużo punktów - niektórzy powiedzą - za dużo, inni - za mało - dla mnie ok
* '''krok 5''' - dokładne wyciągnięcie drogi - dociągnięcie do śladu - powstało moim zdaniem wystarczająco dużo punktów - niektórzy powiedzą - za dużo, inni - za mało - dla mnie ok
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:editroad006.png|6. wyłączenie podkładu, a-ha!
Grafika:editroad006.png|6. wyłączenie podkładu, a-ha!
Grafika:editroad007.png|7. zbliżamy się tam, gdzie nie ma styku
Grafika:editroad007.png|7. zbliżamy się tam, gdzie nie ma styku
Linia 259: Linia 309:
* '''krok 9''' - dodajemy punkt - dzięki niemu unikniemy zmiany geometrii drogi; nie jest to aż tak ważne przy krótkich odcinkach, ale lepiej sobie to przyswój, bo przesunięcie drogi może mieć wpływ na inne obiekty, a drogi zaczynają wyglądać jak węże
* '''krok 9''' - dodajemy punkt - dzięki niemu unikniemy zmiany geometrii drogi; nie jest to aż tak ważne przy krótkich odcinkach, ale lepiej sobie to przyswój, bo przesunięcie drogi może mieć wpływ na inne obiekty, a drogi zaczynają wyglądać jak węże
* '''krok 10''' - w końcu dociągamy
* '''krok 10''' - w końcu dociągamy
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:editroad011.png|11. oddalamy się
Grafika:editroad011.png|11. oddalamy się
Grafika:editroad012.png|12. usuwamy {tmp}
Grafika:editroad012.png|12. usuwamy {tmp}
Linia 284: Linia 334:
Jak narysować drogę/drogi korzystając ze śladu. Samodzielnie przygotowałeś(aś) ślad lub ktoś inny pociął ślad, wrzucił na FlySpry, ładnie opisał - to będzie źródłem dla nowych dróg - wykonasz konwersję ze śladu. Miejsce to samo - Lublin - kilkadziesiąt metrów na południe od poprzedniego miejsca - sytuacja realna.
Jak narysować drogę/drogi korzystając ze śladu. Samodzielnie przygotowałeś(aś) ślad lub ktoś inny pociął ślad, wrzucił na FlySpry, ładnie opisał - to będzie źródłem dla nowych dróg - wykonasz konwersję ze śladu. Miejsce to samo - Lublin - kilkadziesiąt metrów na południe od poprzedniego miejsca - sytuacja realna.
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:tracks001.png|1. rzut oka ogólny
Grafika:tracks001.png|1. rzut oka ogólny
Grafika:tracks002.png|2. zoom do dróg
Grafika:tracks002.png|2. zoom do dróg
Linia 291: Linia 341:
* '''krok 2''' - no to zbliżmy się do dróg, by móc nad nimi pracować
* '''krok 2''' - no to zbliżmy się do dróg, by móc nad nimi pracować
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:tracks003.png|3. konwersja do linii
Grafika:tracks003.png|3. konwersja do linii
Grafika:tracks004.png|4. na których poziomach będą obiekty
Grafika:tracks004.png|4. na których poziomach będą obiekty
Linia 302: Linia 352:
* '''krok 6''' - rzut oka co mamy - nie wiele się zmieniło - gdybyśmy wyłączyli "podkład ze śladów" (klawisz '''E''') to będzie na razie jedna nowa droga
* '''krok 6''' - rzut oka co mamy - nie wiele się zmieniło - gdybyśmy wyłączyli "podkład ze śladów" (klawisz '''E''') to będzie na razie jedna nowa droga
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:tracks007.png|7. properties - edycja
Grafika:tracks007.png|7. properties - edycja
Grafika:tracks008.png|8. properties - już ok
Grafika:tracks008.png|8. properties - już ok
Linia 324: Linia 374:
*** Z powyższego wynika, że można dodać ulicę Lublina do LUBLIN.drogi (z tagiem Miasto=Lublin) oraz ulicę innego miasta do LUBLIN.ulice (z tagiem Miasto=xxx), ale wtedy powstaje bałagan
*** Z powyższego wynika, że można dodać ulicę Lublina do LUBLIN.drogi (z tagiem Miasto=Lublin) oraz ulicę innego miasta do LUBLIN.ulice (z tagiem Miasto=xxx), ale wtedy powstaje bałagan
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:tracks013.png|13. rzut oka
Grafika:tracks013.png|13. rzut oka
Grafika:tracks014.png|14. drogi skonwertowane na 0x0a
Grafika:tracks014.png|14. drogi skonwertowane na 0x0a
Linia 333: Linia 383:
* '''krok 14''' - jak u Adama Słodowego - drogi się narysowały, czy to już koniec? Niestety - brak połączeń między drogami.
* '''krok 14''' - jak u Adama Słodowego - drogi się narysowały, czy to już koniec? Niestety - brak połączeń między drogami.
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:tracks015.png|15. zbliżenie do skrzyżowania bez połączenia
Grafika:tracks015.png|15. zbliżenie do skrzyżowania bez połączenia
Grafika:tracks016.png|16. wybór drogi - tu będzie punkt
Grafika:tracks016.png|16. wybór drogi - tu będzie punkt
Linia 350: Linia 400:
=== Ślad - stawiamy punkt ===
=== Ślad - stawiamy punkt ===
Dodanie punktu ze śladu.
Dodanie punktu ze śladu.
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:poi001.png|1. rzut oka ogólny
Grafika:poi001.png|1. rzut oka ogólny
Grafika:poi002.png|2. konwersja do punktu
Grafika:poi002.png|2. konwersja do punktu
Linia 378: Linia 428:
Konwersja śladu do obszaru jest banalna, ale dla formalności rzuć okiem. Gwoli ścisłości - obszar będzie oparty na pewnych punktach, które ktoś wskaże, czy to będzie jezioro, czy budynek, czy boisko - to zawsze będą punkty - możesz to narysować, możesz konwertować (linię), jak wolisz.
Konwersja śladu do obszaru jest banalna, ale dla formalności rzuć okiem. Gwoli ścisłości - obszar będzie oparty na pewnych punktach, które ktoś wskaże, czy to będzie jezioro, czy budynek, czy boisko - to zawsze będą punkty - możesz to narysować, możesz konwertować (linię), jak wolisz.
-
<gallery>
+
<gallery widths=300 heights=300>
Grafika:polygon001.png|1. Rzut oka na sytuację
Grafika:polygon001.png|1. Rzut oka na sytuację
Grafika:polygon002.png|2. Zoom do obszaru, który będziemy rysować
Grafika:polygon002.png|2. Zoom do obszaru, który będziemy rysować

Aktualna wersja

Spis treści

Przygotowanie środowiska

Kilka słów jak przygotować komputer do pracy - założenie - jesteś kompletnym lajkonikiem w materii IT - możesz nie wiedzieć co i jak zrobić, ale chcesz rysować. Ten rozdział ma odpowiedzieć co zrobić, jak przygotować środowisko. Istnieje kilka stron opisujących w dużym skrócie to samo, co ta strona, ale liczą one na Twoją inteligencję, ale pracując w IT wiem, że na inteligencję można liczyć o ile pracujesz w IT, bo "nie-informatycy" nie domyślą się wielu podstawowych rzeczy. W tym dokumencie liczymy na Twoją inteligencję, ale oczekujemy jej dopiero na etapie rysowania, a nie konfigurowania środowiska.

System operacyjny

Możesz bardzo lubić otwarte systemy, jednak najłatwiej pójść dalej, jeżeli posiadasz Windows. Teoretycznie możesz mieć dowolny system od Windows 2000 w górę, w rzeczywistości dowolny powyżej 2000:

  • XP - home lub professional
  • Server 2003/2003 R2
  • Vista
  • Windows 7
  • Server 2008/2008 R2
  • Windows 8
  • Server 2012/2012 R2 (za chwilę będzie)

Linia serwerowa wymieniona jest dla formalności, ale kto wie czym kto dysponuje? Oczywiście system może być uruchomiony w środowisku wirtualnym - taki komputer w komputerze - wspomniany dla formalności - może być dobrym wyjściem jeżeli nie chcesz instalować Windows, a masz licencję i możesz jej użyć w środowisku wirtualnym.

Katalogi vel foldery

W systemach Windows dane trzymane są na dyskach - C:, D:, E: - musisz znaleźć dysk, na którym jest min. 10GB wolnego miejsca - UMP w bardziej ekstremalnym wydaniu może zająć nawet 5GB, a jeszcze trochę musi zostać dla systemu. Załóżmy dalej, że umieścisz dane na dysku D: (choć może być to C: jeżeli masz tam dużo miejsca). Dane UMP wrzucasz do jakiegoś folderu, proponuję, byś założył np. GARMIN, czyli dokładnie D:\GARMIN. W środku załóż podkatalogi UMP oraz MapEdit. W folderze GARMIN w przyszłości możesz umieścić inne obiekty związane z mapami, ja tam trzymam wersję topo (mam podfolder UMP-topo) oraz wersję NI (mam podfolder UMP-NI), trzymam tam również ślady (folder gpx) i kilka narzędzi. I pojawiają się kolejne.

Pobranie pakietu edycyjnego

Operacja konfiguracji środowiska opisana jest też tu. Ściągnij pakiet startowy (110kB) i rozpakuj zawartość do folderu D:\GARMIN\UMP. Przeczytaj opis "instaluj.txt", szczególnie wtedy, jeśli masz słabsze łącze i nie chcesz ściągać wszystkich obszarów (ponad 1GB!), ale tylko 'swój' lub 'swoje' jeżeli miejsce Twojej początkowej edycji znajdzie się na kilku obszarach. Musisz kliknąć prawym klawiszem na pliku instaluj.bat i wybrać Edytuj. Może pojawić się ostrzeżenie i otworzy się plik notatnika. Znajdź linię zaczynającą się od set cosciagac:

set cosciagac=UMP-PL-Warszawa UMP-PL-Radom

i wymień obszar lub obszary, które potrzebujesz, załóżmy, że będziesz edytować w obszarze UMP-PL-Suwalki, to linia powinna mieć postać:

set cosciagac=UMP-PL-Suwalki

a całą Polskę ściągniesz wpisując

set cosciagac=POLSKA

Zamknij edytor (notatnik), zapisz zmiany. Uruchom instaluj.bat i poczekaj. W tym momencie masz pobrane dane - źródła - z nich będą montowane pliki map, na których będziesz pracować.

Pobranie MapEdit++

Do edycji map potrzebujesz programu Mapedit lub Mapedit++. Program działa wyłącznie w systemie operacyjnym Windows, więc jeśli twoim natywnym środowiskiem jest Linux, potrzebujesz dodatkowo narzędzia typu VirtualBox (ew. wine), aby w nim uruchomić widowsy, a w windowsach - mapedita. Szczegóły dotyczące pobrania i zainstalowania programu Mapedit opisane są na osobnej stronie

Rysowanie - jak wygląda proces edycji?

Źródła mapy rozbite są na wiele plików. Podział jest zrobiony po pierwsze ze względu na obszar geograficzny (np. UMP-PL-Gdansk zawiera obszar od Helu po Gdańsk i okolice, a UMP-PL-Tczew to kolejny obszar znajdujący się na południe od UMP-PL-Gdansk). W obrębie obszaru także mamy osobne pliki na obiekty różnego typu - punkty, obszary, drogi i ulice. Plików takich może być bardzo dużo i wszystkie trzymane są na serwerach w systemie kontroli wersji CVS. Aby coś poprawić, za każdym razem trzeba:

  • ściągnąć z CVS-a pliki dla danego obszaru lub uaktualnić (cvs update) te, które już mieliśmy ściągnięte wcześniej
  • zmontować obszar, czyli jednym z dostępnych narzędzi (mdm-py, make/mont-demont-multi3.pl, mont.bat) zebrać wszystkie pliki źródłowe do jednego pliku mapy - wynik.mp
  • uruchomić program Mapedit/Mapedit++ na zmontowanym pliku i zrobić stosowne poprawki oraz zapisać zmiany
  • rozmontować mapę -- tym samym narzędziem, co do montażu: celem jest rozbicie pliku z mapą na elementy skłądowe i znalezienie różnic (diff-ów) oraz wygenerowanie nowszych wersji plików, które objęły zmiany zrobione Mapeditem.
  • przejrzeć w celu weryfikacji, czy nic się nie popsuło i czy zawierają tylko rzeczy, które sami edytowaliśmy, także - uruchomić skrypty szukające typowych błędów (narzędzia typu "sprawdz.awk" itp.)
  • wysłać dane na serwer CVS - robiąc cvs commit

Cały ten proces powtarzamy przy każdej edycji. Jak już wiemy jak to działa, czasami można iść na skróty albo robić różne inne rzeczy (np. poprawki w źródłach edytorem tekstowym, edycja kilku obszarów naraz, itp.), ale generalnie sposób edycji zostaje podobny: bierzemy aktualne źródła, składamy w jeden plik, edytujemy, rozmontowujemy i wysyłamy zmodyfikowane pliki.

Rysowanie - pierwsza droga

Co narysować

Najlepiej coś, co znasz, do czego masz źródła. Najlepiej dwie, trzy drogi na początek i muszą być z czymś połączone. Mogą być to ścieżki, może być fragment drogi - może akurat obok Ciebie jest blisko droga prosta jak drut, której nie ma, a która jest między punktami A i B, które już są na mapie, np. dwa skrzyżowania, między którymi powinna być droga, ale nie ma jej na mapie. Może być to ścieżka leśna, polna droga, cokolwiek, co masz, nada się.

Jeżeli chcesz - narysuj drogę jak w przykładzie. Nie ma jej tam, ale możesz powtórzyć dokładnie to samo co ja - po prostu wybrałem takie miejsce na mapie. Jeżeli ktoś nawet to umieści przez pomyłkę na mapie to powiedz mu o tym, że tutaj drogi nie ma, to ją usunie.

Od czego nie zaczynać

Od rond (nie są trudne, ale mają wpływ na inne drogi). Od autostrad, zjazdów z autostrad i różnych wymyślnych ślimaków - nie są trudne, ale one też mają wpływ na dużo innych rzeczy. Od kilku gęsto położonych dróg/ścieżek - jeżeli będziesz chciał nanieść co 5-10 metrów drogi - są pewnie takie miejsca - to natrafisz na inne problemy. Nie warto od tego zaczynać.

Zaczynamy

Masz otwartą stronę Co-czym. Posiadasz zmontowane źródła, uruchomiony MapEdit (lub MapEdit++, dalej będę nazywał je skrótem ME). Powiedzmy, że używasz tylko ME++. Pierwsze kroki to:

  • przybliżenie się do interesującego obszaru - narzędzie lupa lub klawisz Z(oom)
  • włączenie stałego poziomu rysowania = 0 - klawisz 0(zero!) - w pasku ME będzie widoczna informacja o stałym poziomie *Level0

Widzisz w przybliżeniu taki układ dróg (N51°18.276' E22°33.603' lub 51.30555, 22.56033 lub na www). Jak w ME znaleźć się w konkretnym miejscu? Ctrl-G i podajesz współrzędne, później tylko się zbliż, po zbliżeniu możesz ponownie podać współrzędne (po Ctrl-G), bo zbliżanie minimalnie Cię przesunie - kwestia zaokrąglenia. ME "lubi" drugi format (najłatwiej jest go wprowadzać).

Grafika:Nodes001.png

Droga, którą narysujesz, nie będzie wisieć w przestrzeni, zwykle można do niej dojechać i pojechać gdzieś dalej, więc początek i koniec musi mieć połączenie z innymi drogami (poza drogami ślepymi rzecz jasna). Na ekranie nie widać żadnych konkretnych punktów, do których możesz się podłączyć. Musisz przejść w tryb edycji węzłów - klawisz M(odify nodes) lub ikona po lewej stronie ikony z magiczną pałeczką. Kliknij na jedną z dróg.

Grafika:Nodes002.png

Punkty na drodze to węzły, które mogą być początkiem lub końcem Twojej drogi. Kliknij na drugą drogę.

Grafika:Nodes003.png

Analogicznie - Twoja droga może mieć początek lub koniec tylko w tych punktach. Jeżeli brak punktu to można go dodać (lub usunąć, jeżeli jest punktów za dużo). Załóżmy, że sytuacja jest idealna, że narysujemy między dwoma istniejącymi punktami. Przejdź w tryb rysowania - przy pomocy magicznej pałeczki lub klawiszem B(nie wiem dlaczego B, ale tak jest). Zmieni się kursor. W ME++ możesz jeszcze włączyć przyciąganie do punktu. Tak, powinieneś włączyć przyciąganie do punktu, ale nie przyciąganie do siatki.

Grafika:Nodes004.png

Na ekranie widać włączony tryb przyciągania do punktu (pasek narzędziowy Snap to... z pierwszą włączoną ikonką). Kursorem już najechałem na punkt i zmienił się w kwadrat otaczający punkt, od którego nastąpi rysowanie. Klikamy i puszczamy klawisz myszy. Początek drogi już jest.

Grafika:Nodes005.png

Teraz należy narysować drogę właściwą - tu każda droga jest inna, nie należy przesadzać z ilością punktów. Więcej punktów to więcej danych, dłużej czasu nawigacja to rysuje, podobnie i mapa na www jest dłużej rysowana. Droga powinna mieć jednak kształt zbliżony do śladu. Gdy przejedziesz pierwszy raz swoją własną drogą to zobaczysz, których szczegółów nie widać, a które tak.

Grafika:Nodes006.png

Narysowane. Kliknąłem w punkt docelowy - jak zakończyć drogę? Enter (Backspace na klawiaturze wycofuje ostatni węzeł - można tak się cofać, Cancel - otwiera menu podręczne kontekstowe - można drogę usunąć lub wybrać np. usunięcie ostatniego węzła) - naciskamy jednak Enter

Grafika:Nodes007.png

Pojawia się okno z pytaniem o typ obiektu - w tym wypadku drogi. Nie mam zaznaczonego pola Show only used types więc widzę wszystkie możliwe zdefiniowane typy obiektów, gdybym miał zaznaczone to pole to widziałbym tylko typy używane w pobliżu - na danym obszarze. Warto zaznaczyć. Wybrałem drogę asfaltową typu 0x0006, w skrócie 0x06 lub 0x6 (Zobacz przykłady). Enter

Grafika:Nodes008.png

Przy obiekcie pojawiło się pole wprowadzania danych - możemy od razu nadać nazwę drodze (o ile posiada) lub obiektowi, który narysowaliśmy (POI lub obszar). Jeżeli nazwy brak to Enter.

Edycja parametrów drogi

Jest droga, co dalej? Proponuję przejrzeć jej parametry lub właściwości - klawisz S(elect) przechodzi w tryb selekcji obiektów (strzałka), dwuklik na drodze.

Otwiera się okno z zakładką Properties (domyślnie otwiera się ostatnio otwierana - pomocne przy wielu edycjach podobnych obiektów).


zakładka Properties

Grafika:Nodes009.png

To pierwsza zakładka - wartości podstawowe obiektu - nazwa ulicy czy POI znajduje się w polu Label. Polyline has direction oznacza dokładnie to, co oznacza, czyli że jest to droga jednokierunkowa - jeżeli zaznaczysz to pole i zamkniesz okno na drodze pojawi się strzałka kierunkowa - w tym miejscu definiujemy kierunkowość ulic.

zakładka Elements

Grafika:Nodes010.png

Lista części składowych obiektu - w 99% przypadków będzie to obiekt jednoelementowy. Dodatkowo tu można określić do jakiego poziomu droga/obiekt będzie widoczny (All elements are extended to levels up to) - ustaw 1 dla dróg, by było je widać nie tylko na dużych zbliżeniach, ale nie więcej niż 1, by nie było zbyt zamazanej mapy przy bardzo dużych oddaleniach. Jeżeli ustawisz tu np. 9 to droga (nie sprawdzałem) będzie widoczna na mapie Świata.

Jeżeli zdarzyło się, że narysowałeś/aś coś na poziomie innym niż 0 (a tego nie chcemy) to na tej zakładce bardzo łatwo możesz to naprawić - używasz przycisku Copy..., kopiujesz na poziom 0, usuwasz błędny obiekt i już. Aha, jak zamkniesz okno, a będziesz ciągle na poziomie widoczności obiektów, np. na poziomie 1 to oczywiście nowo przesunięty na poziom 0 obiekt zniknie - musisz przełączyć się na poziom 0 i dopiero go zobaczysz.

zakładka Address

Grafika:Nodes011.png

Parametry adresowe - wymagane przy POI, dla obiektów typu droga - bez znaczenia. Jeżeli obiekt ma dane - podajemy tylko nazwę ulicy i numer. Czasami nazwą ulicy jest nazwa miejscowości, zwykle wsi. Innych parametrów nie definiujemy w tej zakładce.

zakładka Routing

Grafika:Nodes012.png

Trzecia zakładka - ograniczenia routingu. Tu możesz określić kto może, a kto nie może się poruszać po danym typie drogi, np. zakaz ruchu dla ciężarówek. Tu nie określasz kierunkowości ulicy!

Nie wolno też tutaj zmieniać parametrów drogi - klasy/nawierzchni/prędkości!!! To jest robione automatycznie. Istnieją odstępstwa, gdy trzeba wymusić klasę, ale musisz założyć, że na etapie nauki i później rysowania już jako edytor z taką sytuacją spotkasz się bardzo rzadko.

zakładka Source

tu na razie nie ma nic ciekawego - tu znajdą się informacje o źródle, skąd pochodzi droga, np. została skonwertowana ze śladu.

zakładka Extras

Grafika:Nodes013.png

Ostatnia zakładka, chyba najważniejsza - definiujemy z czym powiązany jest dany obiekt. W tym wypadku droga w obrębie UMP-PL-Lublin leży poza miastem więc jest przypisana do dróg nienazwanych - powinna być umieszczona w pliku src\LUBLIN.drogi.txt (gdyby leżała w obszarze UMP-PL-Katowice to powinna być umieszczona w pliku... tak! src\KATOWICE.drogi.txt - to musisz jednak sprawdzić, są odstępstwa). By nie wpisywać tego z palca zrób dwuklik na górnym polu, którego nie możesz edytować i wybierz z podpowiedzi - właściwą lub najbliższą i tylko uzupełnij. Jeżeli droga miałaby nazwę, czyli byłaby ulicą to musisz uzupełnić - dodać tag Miasto=<nazwa miasta>. Jeżeli ulica należy do większego miasta, które ma swój własny plik, np. src\LUBLIN.ulice.txt to nie musisz dodawać tagu Miasto=Lublin, bo ten tag jest już zdefiniowany globalnie w pliku Lublina.

Opis wszystkich parametrów w Extras.

Rozmontowanie

Narysowałeś, zakończyłeś edycję, zapisałeś (Ctrl-S lub ikona dyskietki), zamykasz MapEdit. Zależnie od sposobu uruchomienia MapEdit albo nastąpi automatyczne rozmontowanie, albo nie. Jeżeli (w systemie Windows) uruchomiłeś MapEdit przez mont-demont bez parametrów lub z parametrem edycja to nastąpi automatyczne rozmontowanie, w innym wypadku musisz ręcznie rozmontować używając mont-demont z parametrem demont.

Jeżeli narysowałeś(aś) drogę tak jak ja to po rozmontowaniu powinny powstać dwa pliki:

  • LUBLIN.drogi.txt
  • LUBLIN.drogi.txt.diff

Jeżeli powstał plik _nowosci.txt to znaczy dokładnie tyle, że zakładka Extras jest pusta lub zawiera błędy. Co można zrobić w tej sytuacji (gdy jest _nowosci.txt lub _nowosci.pnt (dla POI))? Wejść do edytora przy pomocy mont-demont edycja, po edycji, zapisaniu i zamknięciu ponownie nastąpi rozmontowanie. Możesz też po prostu wysłać pliki _nowosci licząc na przychylność osoby, która to wrzuci na mapę. Traktuj to jednak jako ostateczność. Nie namawiam do złego, ale jeżeli to Twoje pierwsze rysowanie to nikt nie powinien robić Ci z tego powodu wielkiego problemu, przy trzecim rysowaniu wysłanie _nowosci.txt i _nowosci.pnt będzie odbierane dziwnie.

A co się stanie jeżeli nie wyślesz plików _nowosci lub nie dodasz ich do właściwych plików? Nic, dane w nich zapisane ulegną zatarciu i będziesz zmuszony/a rysować to ponownie.

Co dalej

Zależnie od tego kim jesteś - czy masz prawa zapisu czy przygotowujesz diffy masz następujące możliwości.

Aspirujący do bycia edytorem

W skrócie - nie masz prawa zapisu - diffy musisz komuś dostarczyć. W tym celu zbierasz wszystkie pliki diff plus _nowosci.txt oraz _nowosci.pnt - tych dwóch nie powinno być, ale jeżeli nie potrafisz sobie z nimi poradzić to je dołącz - ktoś z prawem do zapisu powinien Ci jasno wytłumaczyć dlaczego to powstało. A więc zbierasz i pakujesz (w Windows najprościej prawym klawiszem myszy, Send To->Compressed (zipped) folder - nie wiem jak to jest polsku, pewnie Wyślij do->Folder skompresowany) i przez FlySpry zgłaszasz oznaczając, że to jest diff.

Jedna uwaga: lepiej poczekać z kolejną edycją do momentu, gdy ktoś to obrobi, tzn. sprawdzi efekty Twojej pracy i powie - źle, dobrze, co jest do poprawy. Jeżeli zmontujesz nowe dane, zaczniesz edycję i rozmontujesz to zniszczysz swoje diffy i nie będziesz mógł tego od ręki poprawić, by od razu poznać przyczynę swoich błędów - co prawda są sposoby by diffy ponownie wróciły na swoje miejsce, ale za dużo z tym zabawy dla celów czysto szkoleniowych. Dlatego lepiej poczekać.

Edytor z prawem do zapisu

Masz prawo do zapisu i nie wiesz co zrobić z diffami? Ja też nie wiedziałem gdy dostałem prawo do zapisu. Zakładamy, że masz skonfigurowane środowisko, że cvs ma już poprawnie wpisane parametry konta, że zalogowałeś się przez cvs i masz teraz diffy (oraz pliki z zaaplikowanymi diffami).

Są dwie możliwości:

  • użycie paczuj
  • ręczne przeniesienie plików txt i pnt do podkatalogu src, np. plik ...\UMP-PL-Lublin\LUBLIN.ulice.txt do ...\UMP-PL-Lublin\src\LUBLIN.ulice.txt - tu już ten plik jest więc trzeba go nadpisać, zrobić aktualizację (cvs_update) i później commit (cvs com -m "komentarz")

Jeżeli nie było błędów (konflikty) i commit zadziałał możesz ponownie dane zmontować i ku chwale UMP coś nowego narysować :).

Rysowanie - edycja węzłów

Dodanie węzła

W trybie edycji węzłów (klawisz M) prawym klikasz na linii/obszarze, gdzie ma powstać punkt i z menu kontekstowego wybierasz Insert node here. Jeżeli trafisz w węzeł to będzie dostępna opcja usunięcia węzła Delete node.

Do punktu możesz dociągnąć inną drogę - punkt sam w sobie nie jest później widoczny poza trybem edycji węzłów i może służyć dodatkowo do definiowana adresacji na danej ulicy.

Usunięcie węzła

Opisane w poprzednim punkcie - prawy klawisz myszy w istniejący węzeł i z menu kontekstowego wybierasz Delete node, jeżeli nie trafisz to zobaczysz opcję Insert node here czyli tworzenie nowego węzła.

Jakie konsekwencje niesie usunięcie punktu:

  • likwidacja punktu adresowego - bardzo poważne zagrożenie - na etapie, gdy nie masz uprawnień do zapisu - osoba wrzucająca za Ciebie dane na serwer będzie musiała Cię wspomóc; też możesz to naprawić, ale być może tak będzie szybciej; do sprawdzania błędów adresowych (i innych) służy sprawdz_bledy.bat
  • likwidacja punktu styku dla innej drogi - tu musisz wykazać się ignorancją... lub ... być na poziomie innym niż 0 i być przekonanym, że usuwasz punkt, który nie ma żadnego sensu;
  • zmiana geometrii drogi.

Przesunięcie węzła

To najbardziej skomplikowana operacja :) Łapiesz i przesuwasz - jeżeli masz włączone dociąganie do punktów to dociągnie do najbliższego o ile za bardzo się zbliżysz.

Dzielenie linii

[Dzielenie linii] Dlaczego tutaj? No, bo to operacja na węzłach. W trybie edycji węzłów (klawisz M) prawy klawisz myszy na węźle, wybierasz opcję Split polyline i już. Jak cofnąć operację? Undo, czyli Ctrl-Z. Jeżeli kiedyś, później będziesz chcieć to zrobić to można linie połączyć.

Usuwanie nadmiarowych punktów - generalizacja

Nim pierwszy raz użyjesz tej funkcji spróbuj narysować kilkaset dróg w standardowy sposób. Nie jest to coś złego, ale jest zbyt proste w użyciu i kuszące - jak schody ruchome prowadzące do ośrodka fitnes. Ślad możesz skonwertować do wybranego typu linii. Ślad zawsze posiada dużo za dużo punktów. Każdy punkt to obciążenie dla systemu. By się ich pozbyć, gdy droga powstała w wyniku konwersji ze śladu - wybierz opcję (w trybie edycji węzłów) Generalize nodes Po tej operacji pozostanie znacznie mniej punktów nadmiarowych, ale i tak ich będzie dużo za dużo. Dlatego jednak rysuj i nie korzystaj z konwersji śladów!

Odwracanie kierunku linii

Koniec staje się początkiem, początek końcem. Wykonywane w trybie edycji węzłów - Reverse polyline.

Kiedy odwracamy linię:

  • gdy droga jest jednokierunkowa i ma niewłaściwy kierunek (wtedy też może zmienić się adresacja);
  • gdy robimy autostradę, mamy jedną nitkę, drugą kopiujemy i zmieniamy kierunek nitki na odwrotny - to taka uwaga na wyrost, w końcu nie codzień dodaje się autostradę, ale dobrze o tym wiedzieć;
  • gdy łączymy dwie linie - wtedy kierunek ma znaczenie... chyba.

Rysowanie - edycja linii

Łączenie linii

Łączenie linii wykonywane jest w trybie wyboru obiektów S(elect). Pierwszą linię zaznaczasz klikając na niej, drugą trzymając klawisz Ctrl. Pierwsza zaznacza się na niebiesko (u mnie), druga na zielono (u mnie). Z menu kontekstowego wybierasz Merge Polylines i już.

Kusząco wygląda opcja Join Objects. Wbrew pozorom to nie jest to samo - po operacji join otrzymujesz obiekty zgrupowane, które możesz razem przesuwać, które funkcjonują jako jeden obiekt (na zakładce Elements' będą wtedy połączone obiekty wyszczególnione). Przy operacji merge obiekty będą stanowiły jedność - linie zostaną dociągnięte.

Dzielenie linii

Dzielenie linii wykonujesz w trybie edycji węzłów (M). Zaznaczasz punkt, w którym nastąpi podział, z menu kontekstowego (prawy klawisz myszy) wybierasz Split Polyline.

Kiedy wykonujemy dzielenie linii:

  • gdy droga ma różne rodzaje nawierzchni na swojej długości - np. część to 0x06 (asfalt), a część to 0x07 (płyty), dalej przechodzi w 0x0a (gruntową) - będą co najmniej trzy odcinki, każdy powinien nosić tę samą nazwę (by nawigacja kierowała nas do każdego z odcinków ulicy) - nazwa i pozostałe parametry są dziedziczona przez dwa nowe odcinki powstałe z podziału;
  • gdy się okazuje, że część za skrzyżowaniem to już nie jest Iksińskiego, ale Kowalskiego;
  • gdy jest remont i nie da się przejechać - wtedy powstaje dziura:
    • dodajesz dwa węzły na początku i końcu odcinka do usunięcia;
    • w węzłach robisz podział;
    • tak otrzymany odcinek usuwasz bez skrępowania (operację zawsze możesz cofnąć);
    • wstawiasz bojki i rejestrujesz na FlySpry zgodnie z Remonty.

Negatywne skutki podziału linii:

  • więcej danych;
  • jeżeli nie ma informacji o punktach adresowych to nawigacja będzie proponować każdy z odcinków.

Rysowanie ze śladu

Masz ślad - swój lub od kogoś innego - np. wziąłeś jakiś ślad ze zgłoszenia na FlySpry - testowo lub z zamiarem narysowania. Czytając ten dokument prawdopodobnie nie jesteś jeszcze edytorem = nie masz prawa do przejęcia zgłoszenia, co zabezpiecza przed narysowaniem tego przez kogoś innego - w takim wypadku przynajmniej napisz komentarz, że chcesz to narysować i poczekać na czyjąś reakcję lub zaryzykować narysownie (w końcu się uczysz).

Jeżeli chcesz narysować coś od kogoś i są to początki - nie rysuj niczego dużego - to jest męczące, dopiero jako 3-4 pracę bez błędów bierz się za coś większego.

Dodanie śladu

Możesz dodać z kilku źródeł:

  • plik gpx - może zawierać wiele dróg, wiele POI;
  • plik gdb - natywny Garmina - podobnie wiele dróg, wiele POI;
  • inne formaty - temat na później - na tym etapie tego nie wykorzystasz.

Jak dodajemy - pierwsza ikonka - otwierający się folder z czerwonym plusem lub File -> Add.... Po wybraniu pliku możesz otrzymać ostrzeżenie, że od tego momentu nie będzie można cofnąć dotychczas wykonanych operacji - Yes akceptujesz to, No odrzucasz, ale wiesz co robisz - zaakceptuj.

Mapa "odjedzie" do jakiegoś wysokiego poziomu, np. Level 4 - musisz ponownie się zbliżyć. Gdzie masz się przybliżyć? Jeżeli wiesz gdzie, zbliż się, jeżeli nie wiesz - naciśnij E, które pokazuje dodatki - włącza je i wyłącza (mogą przeszkadzać w pewnych warunkach). Kilka razy włącz i wyłącz, coś gdzieś powinno migać. Widzisz gdzie są te zmiany? U mnie mają one kolor czerwony.

Grafika:attach001.png

Mówiąc szczerze to i tak jest zbliżone - jesteśmy na poziomie 4 - widzisz czerwoną zmianę na granicach miasta? Czasami ta zmiana jest jeszcze mniejsza. Przy małych zmianach musisz wiedzieć gdzie tego szukać.

Grafika:attach002.png

Tu oznaczyłem kółkiem - jeżeli nie zauważyłeś wcześniej - teraz jest jak na dłoni. Przybliżmy się - tak zgrubnie (Z(oom)).

Grafika:attach003.png

Widzisz gdzie będą zmiany? To jakieś dwie drogi. Na poziomie drugim część dróg nie styka się z innymi... dlaczego? Bo ich fragmenty nie są widoczne na poziomie 2, choć inne są widoczne. To właśnie daje EndLevel=2 lub wyższy - to jest ewidentnie do korekty. Co więcej - obszar miasta (szara plama) zniknie jak się zbliżymy jeszcze bardziej (jest widoczna od 1-2 do 2-4), więc zróbmy to - zbliżmy się do jednej z dróg.

Grafika:attach004.png

Widzisz? Są bojki tęczowe oznaczające niepewny koniec drogi (taki mają zresztą typ, NIEPEWNY), jest słoneczko - zielone - że potrzeba dokończyć, że potrzeba śladu - jechałem na rowerze i widziałem w prawo drogę, którą zresztą jechałem już kilka razy, ale tak się złożyło, że nie mam śladu - nie zapisały się na karcie (limit 255 plików w głównym katalogu karty, ech...), więc zostawiłem słoneczko - by ktoś tu dorysował brakujący fragment.

Teraz musisz się zastanowić co z tym fantem począć. Co bym zrobił ja:

  • usunąłbym bojki i słoneczko - już nie będą potrzebne;
  • chwyciłbym za fragment drogi typu 0x07 (w trybie M) i dociągnął do śladu, więc... zróbmy to. W kolejnych oknach kolejne etapy. Pamiętaj - ślad/podkład wyłączamy klawiszem E.

Ślad - wykorzystanie istniejącego odcinka - edycja

A więc jakbym to zrobił, kolejne kroki: (zapomniałem przejść do sztywnego poziomu 0, to błąd, zmienię w trakcie)

  • krok 1 - usunięcie bojek - bojki nie będą już potrzebne, wybieramy, klawisz delete, nie ma bojek, w razie pomyłki zawsze jest Undo, czyli Ctrl-Z
  • krok 2 - wyciągniemy drogę, która najbardziej (z mojego punktu widzenia) nadaje się do wyciągania - jest krótka, na niej trzeba zrobić najmniej zmian (zaznaczyłem ją w trybie edycji węzłów). Można oczywiście rysować nową drogę, ale:
    • musimy ją połączyć z drogą, którą teraz wyciągamy - statycznie przez merge lub dynamicznie - bez połączenia - dodatkowa praca;
    • dla systemu to więcej zmian
    • musisz wtedy również wypełnić Extras, które w wyciąganej drodze jest już wypełnione
  • krok 3 - pierwszy duży krok ludzkości - docelowe dociągnięcie
  • krok 4 - krok pośredni, który jest tylko po to, by pokazać, że jak zaczynamy łamać drogę to punkty same się pojawiają na drodze :) i droga jest dociągana do śladu oraz do obiektów, priorytet zawsze mają obiekty, ale czasami dociąga się do śladu zamiast do obiektów
  • krok 5 - dokładne wyciągnięcie drogi - dociągnięcie do śladu - powstało moim zdaniem wystarczająco dużo punktów - niektórzy powiedzą - za dużo, inni - za mało - dla mnie ok
  • krok 6 - klawiszem E wyłączyłem dodatki, czyli podkład do rysowania - jedna z dróg nie jest dociągnięta do naszej nowej powyginanej drogi, a-ha! mamy ją - kompilator później zgłosiłby błąd
    • kompilator zgłosi błąd, ale nie to jest najgorsze - dwie niepołączone drogi skutkują nie prowadzeniem tędy trasy - nawigacja ominie skrzyżowanie, które formalnie nie jest połączone
    • jeżeli ma pozostać nie dociągnięte to stawiamy bojkę, ale też nie wszędzie - tylko tam, gdzie sprawdz_bledy.bat zgłosi problem
  • krok 7 - robimy zoom w tę okolicę - Z i wybór myszką obszaru
  • krok 8 - w trybie edycji węzła - wybieramy drogę, którą będziemy dociągać, ale jeszcze tego nie robimy - tu odcinek jest krótki, ale by jej nie zniszczyć potrzebujemy punktu
  • krok 9 - dodajemy punkt - dzięki niemu unikniemy zmiany geometrii drogi; nie jest to aż tak ważne przy krótkich odcinkach, ale lepiej sobie to przyswój, bo przesunięcie drogi może mieć wpływ na inne obiekty, a drogi zaczynają wyglądać jak węże
  • krok 10 - w końcu dociągamy
  • krok 11 - oddalamy się i rzut oka jak to wygląda - co nas razi, co jeszcze nie zostało zrobione?
  • krok 12 - żegnaj napisie {tmp} który sugeruje ślad robiony z dziwnych źródeł, rysowany by coś było - dwuklik na drogę i czyszczenie pola label - Extras jest wypełnione, więc tam możemy, ale nie musimy zajrzeć, można rzucić okiem na Elements, czy EndLevel to 1
  • krok 13 - dzielimy drogę (split polyline), bo część to 0x07, część to 0x0a
  • krok 14 - zmieniamy typ drogi na 0x0a

A co z poziomem 0, nie ustawionym na sztywno? Ano dopiero w kroku 11 to skorygowałem - niezły samouczek, nie? Poziom 0 ustawiony na sztywno jest dobrym zwyczajem, bo jak się zapomni i narysuje na poziomie 1 sieć dróg, to później trzeba je będzie edytować, a po co dodatkowe kroki?

Zakładając, że drugi ślad został obrobiony można:

  • zapisać
  • uruchomić sprawdz_bledy.bat
  • usunąć błędy (najpierw swoje - inne może są na chwilę...)
  • zapisać
  • zamknąć ME
  • jak się "samo" nie rozmontuje to rozmontować i wysłać pliki na FS.

Ślad - rysowanie drogi

Jak narysować drogę/drogi korzystając ze śladu. Samodzielnie przygotowałeś(aś) ślad lub ktoś inny pociął ślad, wrzucił na FlySpry, ładnie opisał - to będzie źródłem dla nowych dróg - wykonasz konwersję ze śladu. Miejsce to samo - Lublin - kilkadziesiąt metrów na południe od poprzedniego miejsca - sytuacja realna.

  • krok 1 - ogólny rzut oka - po zbliżeniu - widzimy co mamy do narysowania - trzy drogi, wszystkie 0x0a, obiekty dodatkowe w innym punkcie
  • krok 2 - no to zbliżmy się do dróg, by móc nad nimi pracować
  • krok 3 - konwertujemy do linii - w trybie S(elekcji) prawy klawisz myszy, z menu kontekstowego wybieramy Convert to ... i dalej Polyline
  • krok 4 - pojawia się okno - wskazujemy, że obiekt będzie na poziomie 0
  • krok 5 - jaki typ drogi - potrzebujemy gruntową, czyli 0x0a, zatwierdzamy
  • krok 6 - rzut oka co mamy - nie wiele się zmieniło - gdybyśmy wyłączyli "podkład ze śladów" (klawisz E) to będzie na razie jedna nowa droga
  • krok 7 - dwuklik na drodze i co mamy? śmietnik
  • krok 8 - korygujemy nazwę ulicy, czyścimy komentarz
  • krok 9 - zakładka Elements - ustwawiamy widoczność do poziomu 1
  • krok 10 - zakładka Extras - pusto, wiatr hula
  • krok 11 - dwuklik na polu górnym - otrzymujemy podpowiedź (tylko w ME++)
  • krok 12 - po wybraniu właściwego - potwierdzamy OK
    • A dlaczego nie src\LUBLIN.drogi.txt?
      • Odpowiedź tu, a w skrócie pliki z frazą "drogi" należą do danego obszaru (tu UMP-PL-Lublin), a LUBLIN to nazwa obszaru, a nie miasta.
      • Dodaliśmy ulicę, więc jest src\LUBLIN.ulice.txt
    • Czym się różni LUBLIN.ulice od LUBLIN.drogi?
      • W LUBLIN.ulice na początku jest tag Miasto=Lublin
      • W LUBLIN.drogi takiego tagu nie ma - jeżeli dodasz dowolną ulicę, czyli drogę nazwaną, to musisz ją przypisać do jakiegoś miasta - tag Miasto= dla danej drogi.
      • Z powyższego wynika, że można dodać ulicę Lublina do LUBLIN.drogi (z tagiem Miasto=Lublin) oraz ulicę innego miasta do LUBLIN.ulice (z tagiem Miasto=xxx), ale wtedy powstaje bałagan
  • krok 13 - rzut oka na stan - zostały dwie drogi - jedna krótka, druga trochę dłuższa
    • obie 0x0a
    • obie powinny kończyć się bojkami oznaczającymi brak przejazdu lub przejazd wątpliwy, inaczej będą zgłaszane błędy przez system, jeżeli system nie zgłasza błedu (sprawdz_bledy.bat) to nie stawiaj - więcej bojek - więcej danych
  • krok 14 - jak u Adama Słodowego - drogi się narysowały, czy to już koniec? Niestety - brak połączeń między drogami.
  • krok 15 - zbliżamy się do skrzyżowania - system by to zaraportował jako przecięcie, czyli skrzyżowanie bez punktu
  • krok 16 - wybieramy drogę, gdzie postawimy węzeł - na tej lepiej - nie psujemy istniejącej dobrej, nową dociągniemy - ale też bez wielkiej straty
  • krok 17 - węzeł dodany
  • krok 18 - dociągamy drogę

Kroki 15-18 trzeba powtórzyć dla pozostałych dwóch dróg (jak u Adama Słodowego).

Jeżeli dłużej przyjrzałeś(aś) się obrazkom to pewnie dostrzegasz czerwoną, przerywaną linię o nazwie Barcickiego. Co to jest? To droga tymczasowa w budowie (a nawet planowana - w nawigacji najwięcej jest takich obwodnic oraz autostrad w budowie) - narysowana z jak największą dokładnością na podstawie kiepskiego wydruku - jako boczna innej bocznej - droga tymczasowa, którą trzeba oznaczyć (ktoś może jej szukać), a narysować, gdy się tamtędy przejedzie, gdy będzie fizycznie dostępna. Urząd Miasta planuje z wyprzedzeniem 2-3 letnim, czasami dłuższym, drogi, które będą na danym obszarze. Teraz droga się zmaterializowała - jak widać jej przebieg ma mało wspólnego z położeniem ad-hoc wykonanym pewnego razu przeze mnie w trakcie szukania braków na mapie Lublina. Droga tymczasowa jest do usunięcia - można by ten odcinek wykorzystać do narysowania nowej drogi o prawidłowym przebiegu, ale nie o to chodziło w tym punkcie, tu ważna była konwersja śladu.

Ślad - stawiamy punkt

Dodanie punktu ze śladu.

  • krok 1 - orientujemy się w sytuacji rzut oka - widzimy punkt do dodania, przybliżamy się w razie potrzeby
  • krok 2 - w trybie S(elekcji) prawy klawisz myszy na punkcie z podkładu, wybór opcji Convert To -> Point
    • dodatkowy krok - na którym poziomie rysujemy - wybieramy 0
  • krok 3 - wybór typu punktu - najtrudniejsze - trzeba znaleźć typ właściwy, wykorzystywany w UMP (Co-czym)
    • może nie najtrudniejsze, ale najbardziej męczące - o ile obiekty często dodawane w końcu zaczniesz odnajdywać (sortowanie po nazwie lub po typie) o tyle rzadko spotykane to prawdziwe wyzwanie
    • tylko część punktów może mieć dane adresowe - przy wodzie nie ma to znaczenia, przy obiektach typu hotel - jak najbardziej
    • dodajesz POI, z którego inni skorzystają? Uzupełnij, o ile możesz adres, telefon, adres strony internetowej
  • krok 4 - stan po dodaniu punktu - dwuklik, by go wyedytować, bez tego POI nie będzie miało zdefiniowanych najważniejszych parametrów
  • krok 5 - właściwości - korygujemy parametry, przede wszystkim czyścimy komentarz, który mówi o źródle importu punktu
  • krok 6 - extras - wskazanie poprawnego pliku, gdzie obiekt będzie zlokalizowany
    • nie zdefiniowanie tej wartości spowoduje wygenerowanie pliku _nowosci.pnt, musi być jasno określona lokalizacja pliku
  • krok 7 - wyłączenie podkładu i rzut oka na narysowane obiekty

POI nie musi być z niczym połączone, powinno być blisko drogi.

Ślad - obszar

Konwersja śladu do obszaru jest banalna, ale dla formalności rzuć okiem. Gwoli ścisłości - obszar będzie oparty na pewnych punktach, które ktoś wskaże, czy to będzie jezioro, czy budynek, czy boisko - to zawsze będą punkty - możesz to narysować, możesz konwertować (linię), jak wolisz.

  • Oczywiście patrzymy co jest do narysowania, robimy zoom
  • Konwertujemy do obszaru - wielokąta
  • Nie ma obrazka, ale wskazujemy, że to na poziomie 0
  • Wybieramy typ obszaru - niektóre są kuszące - inne kolory - ale stosujemy tylko te używane w UMP
  • Po potwierdzeniu jest narysowane
  • Trzeba jeszcze zrobić małą korektę - przypisanie do obszaru (Extras) i w przypadku konwersji wyczyścić komentarz oraz ew. zmienić opis.

Efekty rysowania

Zaczynaliśmy od tego:

Grafika:polygon010.png

Otrzymaliśmy to:

Grafika:polygon009.png