Kompilacja mapy mkgmap

Z UMP

Wstęp

Kompilacja mapy dla Garminów odbywa się na serwerze przy pomocy cgpamappera. Niestety, mapa generowana w ten sposób ma niepoprawne komunikaty (brak trzymaj się lewej/prawej) w nowych urządzeniach Garmina, dlatego mapy nie są do końca używalne. Rozwiązaniem jest własnoręczna kompilacja mapy przy pomocy mkgmap - program stworzony do kompilacji mapy na danych OSM, ale równie dobrze kompilujący mapy na bazie UMP.

Wymagania

  1. działające środowisko uruchomieniowe java (ściągnąć javę pod windowsa, lub zainstalować odpowiednie pakiety dla linuksa)
  2. działające środowisko uruchomieniowe perl
  3. należy ściągnąć kompilator mkgmap: [1]. Po ściągnięciu rozpakuj progam do katalogu z UMP

Tworzenie własnej mapy

Aby tworzenie map sprawnie działało, skonfiguruj sobie mont_demont.py. Dalsze kroki będą zakładały, że masz poprawnie skonifgurowane środowisko mont_demont.py i będą dotyczyć trybu wsadowego. Jeśli wolisz sobie wyklikać mapę, to wszystkie te etapy można wykonać przy pomocy odpowiedniego kreatora w mdm-py.

1) zamontuj obszary które chcesz skompilować: mont_demont.py montuj-mkgmap lista_obszarow. Dodatkowe opcje montażu:

  • -a, --dodaj-adresy - dodaje punkty adresowe z plikow adr
  • -r, --dodaj-routing - dodaje dane routingowe do mapy, potrzebne w celu skompilowania mapy z routingiem
  • -w, --uruchom-wojka - dodaje informacje o przynależności punktów i ulic do województwa przy pomocy programu wojek.exe (w katalogu narzędzia)
  • -p, --podnies-poziom - ustawia poprawne dane o prędkościach routingowych, podnosi poziomy niektórych obiektów (podnies-poziom.pl w katalog narzędzia)
  • -wt, --wlasne-typy - plik z własnymi definicjami typów, jeśli chcesz aby ATM był czymś innym niż bankomat i miał odpowiednio przedrostek i przyrostek w nazwie, tutaj możesz to osiągnąć.

Zalecane polecenie w celu zamontoania całej Polski: z poziomu katalogu ze źródłami UMP

python narzedzia/mont_demont.py montuj-mkgmap -r -w -p  UMP-PL-*

Powyższe polecenie spowoduje utworzenie w katalogu roboczym plikow mp w formacie Nazwa_id_mkgmap.mp, gdzie id to 48420001 lub podobne.

2) skompiluj obszary: mont_demont.py kompiluj-mape. Dodatkowe opcje kompilacji

  • -m, --mkgmap-path - ścieżka do probramu mkgmap.java
  • -fi, --family-id - family id mapy, domyślnie 6324. Jeśli nie wiesz co z tym zrobić zostaw domyślną wartość.
  • -cp, --code=page - kodowanie mapy, na chwilę obecną działa tylko cp1250, radziłbym to zostawić, ascii zostanie kiedyś dopisane
  • -nt, --nazwa-typ - dołącz plik typ do mapy. Plik zostanie skompilowany ze źródeł i dołączony do mapy. Możliwe opcje to: brak, domyslny, rzuq, olowos, reczniak.
  • -uw, --uwzglednij-warstwice - na razie nic nie robi
  • -fm, --format-mapy - format do którego jest mapa kompilowana, gmapsupp.img (gotowy plik img do wgrania do Garmina), albo gmapii - katalog z mapą dla Mapsource/Basecamp. W windowsie należy skopiować do c:\\ProgramData\Garmin\Maps
  • -r, --dodaj-routing - skompiluj mapę z routingiem. Uwaga jeśli chcesz wykorzystać tę opcję, musisz też dodać dane routingowe na etapie montowania mapy (patrz powyżej)
  • -i, --index - generuj indeks do wyszukiwania adresów.
  • -Xmx, --maksymalna-pamiec - opcja dla środowiska java, ile pamięci wykorzystać do kompilacji. Polecam użyć przynajmniej 2G
  • -mj, --max-jobs - ile wątków użyć do kompilacji, domyślnie jest auto

Zalecane polecenie w celu kompilacji całej Polski: z poziomu katalogu ze źródłami UMP

python narzedzia/mont_demont.py kompiluj-mape -cp cp1250 -nt domyslny -fm gmapi -r -i -Xmx 4G

Powyższe polecenie spowoduje powstanie w kagalogu roboczym mapy w postaci gmapi - gotowej do skopiowania do mapsource lub basecampa.