Pierwsze2

Z UMP

Wersja z dnia 21:45, 7 lis 2011; Micra (Dyskusja | wkład)
(różn) ← Poprzednia wersja | Aktualna wersja (różn) | Następna wersja → (różn)

Spis treści

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 jest 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

Posiadasz zmontowane źródła, uruchomiony MapEdit (lub MapEdit++, dalej będę nazywał je skrótem 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.

zakładka Address

Grafika:Nodes011.png

Parametry adresowe - wymagane przy POI, dla obiektów typu droga - bez znaczenia.

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!

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.

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.

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.

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 jeżeli musisz to zrobić - 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). 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.

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, 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 rysować jako 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
  • 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
  • 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;
  • 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 lub ktoś pociął ślad, wrzucił na FlySpry, ładnie opisał, narysujesz drogi. Miejsce to samo - Lublin - kilkadziesiąt metrów na południe - 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
  • 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
  • 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).

Ślad - stawiamy punkt

Ślad - obszar