* MapEdit cz.5 - Routing w "Turystyce"
   W artykule Nowości 2005 opisałem ogólne zasady przygotowania mapki z routingiem. Przypominam, że w trakcie przygotowywania danych do routingu mapka zostaje przekształcona do postaci ESRI - wskutek czego tracimy wszystkie informacje o levelach. Ponadto - z moich doświadczeń wynika, że mapka przygotowana GPSMapeditem traci informacje o przypisaniu obiektów (ulic) do poszczególnych miejscowości.
   Z tego wynika, że na etapie przygotowywania mapki, która docelowo ma być mapką z routingiem nie należy sobie zbytnio zaprzątać głowy tego typu informacjami jak np. levele. Pisałem też, że sprawę leveli docelowo rozwiązuje wygenerowana przez program maproute sekcja DICTIONARY - automatyzująca wyświetlanie obiektów oraz ..... że będąc wierny swoim przyzwyczajeniom ja tę sprawę rozwiązałem inaczej.
   Cały proces przygotowania mapki z routingiem w "stylu GPSManiaka" sprowadza się do następujących etapów:
  • Przygotowanie mapki "drogowej" (u mnie to głównie szlaki turystyczne) o nazwie: autorout.mp.
  • Przygotowanie mapki o nazwie: bez_drog.mp zawierającej pozostałe elementy.
  • Automatyczne "połączenie" obu mapek do postaci build.mp. Podczas tego procesu - niejako w tle - generowane są dane do routingu oraz wykonywane jest (konfigurowalne) ustawienie leveli dróg, a także (opcjonalnie) zamiana pewnych obiektów i "cieniowanie" oraz "tabliczkowanie" szlaków.
  • Ewentulana indeksacja  ulic w wynikowym pliku build.mp (przypisanie do miast) - dodam, że w moich mapkach tego nie stosuję. Z racji typowo outdoorowego charakteru moich mapek - nie używam w ogóle nazw ulic.
  • Kompilacja wersją personal cgpsmappera (np. poprzez posłanie jej na: MapCenter )
   Przygotowanie niezależnej mapki "drogowej" ma tę dodatkową zaletę, że opcja "snap to ..." nie powoduje przyciągania kursora do przypadkowych, innych niż drogi obiektów.   Aby prześledzić proces tworzenia mapki z routingiem proponuję pobrać odpowiedni soft wraz z przykładowymi mapkami - *   DOWNLOAD  *
Po rozpakowaniu zipa do dowolnego katalogu otrzymamy:

101.jpg (62423 bytes)

  • !GPSMAN.EXE - DOS_owy programik w 100% automatyzujący cały proces
  • autorout.mp - przykładowa mapka - drogi i szlaki
  • bez_drog.mp - przykladowa mapka - pozostałe obiekty
  • C-FREE.EXE - freewarowa wersja cgpsmappera autorstwa Stanisława Kozickiego
  • MAP.EXE - freewarowe program generujący dane do routingu (maproute) - autorstwa Stanisława Kozickiego
  • map.ini - plik konfiguracyjny do programu MAP.EXE

    A oto co zawiera mapka autorout.mp

102.jpg (92362 bytes)

 

  Jak widać mapka jest bardzo "uboga". Zawiera tylko obiekty typu drogowego. Są też nazwy (tu: szlaków). Jeszcze rzut oka na statystykę w celu potwierdzenia, że w mapce "nic" nie ma:

103.jpg (43147 bytes)

  Dodatkowe informacje związane z mapką autorout.mp:

  • mapka posiada obiekty wyłącznie w level_0
  • nazwa mapki oraz jej ID są nieistotne

    Druga mapka zawiera pozostałe obiekty - już prawidłowo przypisane do odpowiednich leveli. Zwracam też uwagę, że mapka o nazwie bez_drog.mp   jest "mapką główną", do której będą doklejone routowalne drogi. Zatem właśnie w niej musimy prawidłowo ustawić nazwę oraz ID mapy. Ponadto należy ustawić następujące parametry nagłówka:

104.jpg (104076 bytes)

Mapki składowe gotowe - zatem ...... możemy wykonać generację pliku build.mp.

    Uruchamiamy naszego DOS-owego !GPSMAN-a.

    Program w pierwszej kolejności sprawdza, czy w katalogu są wszystkie niezbędne pliki, tj. autorout.mp, bez_drog.mp, c-free.exe, map.exe i map.ini. Brak któregokolwiek z plików wywołuje stosowny komunikat oraz ..... zakończenie pracy programu. Stąd wniosek, że mapki składowe muszą nazywać się odpowiednio: autorout.mp i bez_drog.mp. Jeżeli wszystkie pliki są na miejscu to w okienku DOS zobaczymy coś takiego ....

105.jpg (77353 bytes)

   Ostrzegam: programik jest "ubożuchny" w formie, wolny w działaniu, a na dodatek wykonuje 3 przebiegi co przy większych mapach powoduje że spokojnie można iść do lodówki po piwo ......  Mimo swoich wad - ma jednak jedną wielką zaletę:    działa - (przynajmniej u mnie) - i po naciśnięciu jednego klawisza generuje gotowy plik build.mp !!!
 

  Krótkie wyjaśnienie funkcji programu:

  • Klawisz ESC - wyjście z Menu (koniec)
  • Klawisz A: przełączanie funkcji: zamiana obiektów 0x0006 na 0x0005 (Residential Street w niektórych levelach wyświetla się w 60CS wg. mojego gustu zbyt grubo. Zatem w moich mapkach w wersji color zamieniam ten typ na Arterial thin)
  • Klawisz B: przełączanie funkcji: zamiana obiektów 0x0007 na 0x0005 (Alley w 60cs wyświetla się praktycznie tak samo jak Unpaved road (dla mnie za cienko). Zatem w moich mapkach w wersji color zamieniam to na Arterial thin)
  • Klawisz C: przełączanie funkcji: zamiana obiektów 0x6616 na 0x6608 (Sprawa oczywista. Na mapkach górskich, duże zagęszczenie szczytów powoduje, że Summit jest nie do przyjęcia. Zamieniam to na Crater - mała niebieska kropka, indeksowana podobnie jak Summit jako punkt geograficzny)
  • Klawisz D: przełączanie funkcji: zamiana obiektów 0x6402 na 0x2c09 (To też kwesta "gustu". Po prostu chcę aby w kolorowym odbiorniku budynek wyglądał jak domek, a nie jak bunkier)
  • Klawisz E: przełączanie funkcji: kopiowanie obiektów 0x16 na dodatkowy 0x1c (Nazywam to "podcieniowaniem szlaków" - obiekty typu Trail automatycznie w level_0 i level_1 otrzymują grubszą - szarą kreskę przez równoczesne wyświetlanie obiektu typu Bounduary)
  • Klawisz F: przełączanie funkcji: dodaj "prefix" ~[0x2d] do nazwy szlaku (Nazywam to "dodawaniem tabliczek". Jeżeli wybraliśmy "podcieniowanie" to także boundary przed nazwą otrzymuje "prefix")
  • Klawisze 1-9:  przełączanie leveli od których (patrząc od najwyższego) mają się wyświetlać odpowiednie typy dróg. (Zakres obejmuje 6 leveli: od level_0 do level_5)
  • Klawisz M: zerowanie ustawień  (aktualne ustawienia, w tym ustawienia "wyzerowane" są zapamiętywane jako domyślne przy następnym uruchomieniu programu)
  • Klawisz S:   START - uruchomienie programu

Po wystartowaniu programu wykonywane są następujące czynności:

  • uruchamiany jest cgpsmapper i mapka drogowa jest przekształcana do formatu ESRI
  • uruchamiany jest program maproute i generowana jest mapka drogowa z danymi do routingu
  • po tych czynnościach następuje działanie programu !gpsman - mapki są łączone, a obiekty modyfikowane zgodnie z parametrami zadanymi przez użytkownika. Na tym etapie istnieje możliwość przerwania pracy programu przez naciścięcie klawisza 0 (zero).

    Końcowym efektem pracy programu jest w 100% funkcjonalny plik build.mp, który w takiej postaci możemy skompilować wersją Personal cgpsmappera ( np. posyłając go na MapCenter )

    Kompilację możemy też wykonać dopiero po zadeklarowaniu ulic (indeksacja przypisana do miejscowości). Tę ostatnią czynność można wykonać w GPSMapedit (sprawdzałem w ver. 1.021 - dane do routingu w pliku build.mp pozostają niezmienione). Tu natrafiamy jednak na inny problem. Otóż w próbach, które wykonywałem, ulice z routingiem przypisane do miejscowości są podzielone w wyszukiwarce odbiornika na odcinki od skrzyżowania do skrzyżowania. Zatem ulica posiadająca np. 10 skrzyżowań nagle znajduje się w wyszukiwarce ...... 10 razy ! Być może jest to związane z tym, że mapki z routingiem powinny mieć numerację budynków - właśnie na poszczególnych odcinkach ? Tak wynikałoby to z opisu kolegów zajmujących się "miejskimi" UMP-ami. Zobacz porady kolegów z UMP_Warszawa.

  Na koniec jeszcze jedna sprawa.  Podłączanie mapek do MapSource W tej materii odsyłam do artykułu: Routowalne pliki IMG, a MapSource