* MapEdit cz.2 - Wykorzystujemy IMG
   Zdarza się, że nie robimy mapki od podstaw tak jak w artykule o MapEdit, a wykorzystujemy opracowania innych autorów. Jeżeli mamy plik w "formacie polskim", to żaden problem. Gorzej jeżeli mamy do dyspozycji mapkę *.img. Co wtedy ?
img_1.jpg (46093 bytes) Tu: wczytana mapka z poprzedniego przykładu, ale nie w "formacie polskim", lecz plik wynikowy czyli 48000000.img.

Na pierwszy rzut oka mapka wydaje się OK, ale naprowadzenie kursora na "puste" pole pokazuje, że pojawił się nowy obiekt: Background.

img_2.jpg (34242 bytes) Aby sprawdzić czy jeszcze coś się zmieniło zaglądamy do statystyki. Tu niespodzianka: backgroundy są aż 4, a ponadto pomimo że robiliśmy tylko 3 części jez.Góreckiego to teraz obiektów typu Lake jest aż 12. Ich ilość zwiększyła się 4-krotnie. To samo z lasem (tundra) - zamiast 2 mamy 8 obiektów.

Czy coś jeszcze ?

Naprowadźmy kursor na jezioro, potem prawy przycisk i Modify-->Extend all.....

Okazuje się że pomimo iż definiowaliśmy ten obiekt jako aktywny od level_3 teraz mamy level_0. Cuda ?

Nie. Po prostu plik wynikowy (img) to tak jakby cztery niezależne mapki. Jedna mapka dla jednego levela.

img_3.jpg (42039 bytes) Jakie są tego praktyczne konsekwencje ?

Wyobraźmy sobie, że mamy do przesunięcia jakiś obiekt. No powiedzmy przesuwamy naszą drogę w kierunku północno - wschodnim. Oczywiście pracujemy w level_0. Gdyby to był plik źródłowy byłoby OK, a tak zobaczmy jak wyglądają inne levele.

img_4.jpg (40343 bytes) Pomimo przesunięcia drogi w level_0, w level_1 nic się nie zmieniło - droga jest na "starym" miejscu. Tak samo w level_2 i level_3.

To oczywiste jeżeli każdy level jest osobną mapką taki efekt był do przewidzenia.

     Z powyższego wynika wniosek, że na plikach img nie można pracować tak samo, jak na plikach źródłowych. Podczas pracy na plikach img możemy rozpatrywać dwa różne przypadki:

Przypadek Pierwszy

     Będziemy wprowadzać niewielkie zmiany np. dodawać  pojedyńcze POI itd, ale nie będziemy modyfikować istniejących obiektów.

    Wówczas postępujemy w następujący sposób (dla przykładu wykorzystałem mały fragment mapy nr 00000062.img z emapy nawigotora). Wczytujemy mapę do mapedit. Wykonujemy zaznaczenie grupowe Edit-->Select-->By Type i podajemy 0x004b Background, a następnie klawiszem [Del] usuwamy wszystkie obiekty typu background. Taki plik zapisujemy np. jako 10000062.mp. Do pliku img już nie wracamy. Teraz interesuje nas wyłącznie mp.

img_5.jpg (30338 bytes) Pamiętając, że wszystkie operacje nanosimy na level_0 dodajemy interesujące nas obiekty i w zależności od typów modyfikujemy Extend all.... Emapa nawigator ma aż 6 leveli. Jak są zdefiniowane można sprawdzić w "właściwościach mapy". Jeżeli chcemy by ten zaprojektowany przez nas parking włączył się przy overzoom=300m to musimy go uaktywnić dla level_1. Teraz zapisujemy plik z nazwą 10000062.mp (dla bezpieczeństwa), a następnie z nazwą 00000062.mp  i kompilujemy.

Kompilowanie freewarowym cgpsmapperem niestety spowoduje utratę indeksacji POI.

Z serwera mapowego i pełnej wersji cgpsmappera z przyczyn oczywistych skorzystać nie możemy (Ustawa o prawie autorskim ...)

img_6.jpg (27979 bytes) Jeszcze podłączenie do MapSourca i .......
3.gif (5204 bytes) wgranie "zmodyfikowanej emapy" do GPSa.
 

Przypadek Drugi

     Planujemy poważne zmiany w tym przesuwanie ulic itd. Podobnie jak w pierwszym przypadku (dla przykładu wykorzystałem inny fragment mapy nr 00000062.img z emapy nawigotora) wczytujemy mapę do mapedit. Wykonujemy zaznaczenie grupowe Edit-->Select-->By Type i podajemy 0x004b Background, a następnie klawiszem [Del] usuwamy wszystkie obiekty typu background.

    Osobiście takie zabaway odradzam, ale jakby ktoś bardzo mocno chciał to moja propozycja jest następująca: zrezygnujmy z tej ilości leveli, którą proponuje emapa i dalej przerabiajmy mapkę już na własnej matrycy: arc.mp

img_7.jpg (42648 bytes) W ustawieniach wczytanej mapy ustawiamy level_0 wg takich samych parametrów jak nasze mapy - tzn. tak jak na ilustracji obok.

Tak przygotowaną mapkę zapisujem jako np. 10000062.mp i kompilujemy.

Następnie wczytujemy otrzymany plik 10000062.img do mapedita i usuwamy obiekty typu Background.

img_8.jpg (35933 bytes) Teraz wykonujemy zaznaczenie grupowe wg powierzchni (cała mapa) wszystkich obiektów i stosujemy funkcję Copy. (Tylko dla level_0)

Zamykamy mapę Close i wczytujemy naszą matrycę arc.pm

Usuwamy podkład n-33-142b i wykonujemy Paste. Zapisujemy mapkę pod jakąś roboczą nazwą np: 101.mp

Możemy już modyfikować obiekty, następnie musimy wykonać to co opisywałem w artykule o MapEdit tzn. sprawdzić w statystyce jakie obiekty posiadamy, zaplanować levele i przypisać poszczególne typy obiektów do odpowiednich leveli.

  Jak widać mamy tu sporo pracy i także tracimy indeksację POI, zatem może po prostu lepiej zrobić mapkę od podstaw samemu ?