Jak vytvořit vlastní mapu pro Magellan?

Na tvorbu map slouží program MobileMapper Office (dále jen MMO). Jde o software přímo od firmy Thales Navigation. Byl (je?) k dispozici ke stažení přímo na jejich FTP serveru, ale bohužel je tam jen nová verze, která pro naše účely není vhodná. Tato standardní verze totiž umí vytvářet jen mapy ve formátu, který bez konverze není použitelný v GPS Sportrak/Meridian, a navíc generuje jen jednoduché mapy bez rozdělení vrstev do skupin atd.
Chytří lidé z www.msh-tools.com ale objevili, že součástí MMO jsou i DLL, která obsahují funkce na tvorbu rozšířených map. Také zjistili že výstupy z MMO se dají zkonvertovat, aby je akceptovaly GPS Sportrak/Meridian. A tím se otevřela cesta k tvorbě map, které jsou co se funkčnosti týče od těch originálních k nerozeznání.

Pro tvorbu map proto vřele doporučuji nejstarší verzi MMO, tedy verzi 1.0. Firma Thales si totiž zřejmě všimla co se děje, a v MMO verze 2.0 (aktuálně dostupná verze) už funkce pro tvorbu rozšířených map vůbec nejsou. Verze 1.1 je sice teoreticky také použitelná, ale zatím neexistuje způsob jak v ní tyto pokročilé funkce aktivovat. Odkaz na stažení MMO verze 1.0 je v sekci "download".

Budu předpokládat, že máte nainstalován MMO 1.0, a že jste si aspoň zběžně přečetli postupy z www.msh-tools.com (obzvlášť "Advanced maps"). To je základ, bez kterého nemá příliš smysl se do map pouštět. Princip tvorby map pro Magellan je zhruba tento:

Příprava dat:

Musíme mít k dispozici nějaká data ve formátu SHP (alias ESRI). Ta získáme buď z veřejně dostupných zdrojů, nebo si je zkonvertujeme z formátu Garmin.

Konverze z formátu Garmin IMG

Ideálním programem je cGPSmapper. Nám bohatě stačí free verze. Použití je triviální:
cGPSmapper soubor.img
Vznikne soubor s příponou .MP, což je takzvaný "polský formát". Následně tento soubor zkonvertujeme do formátu SHP:
cGPSmapper SHP soubor.mp
Výsledkem budou čtyři sady souborů (point, line, polygon a poi), a v každé z nich tři soubory s příponami .dbf, .shp a .shx. S těmi budeme dále pracovat. Sady "point" a "poi" obsahují body (města, kopce, ...), sada "line" obsahuje čáry (silnice, řeky, ...) a v sadě "polygon" jsou plochy (parky, města, vodní plochy, ...). Soubory si můžeme libovolně přejmenovat, je jen důležité aby celá sada (.dbf+.shx+.shp)měla stejný název.
Pozor, cGPSmapper vyrábí DBF soubory, ve kterých jsou názvy sloupečků malými písmeny. To se nelíbí MMO, který pak při generování mapy padá se zavádějící chybovou zprávou. Možností nápravy je několik:
  1. Upravit hexeditorem program cGPSmapper.exe, a změnit v něm texty 'label', 'type', atd. na velká písmena. Pokud víte co je to hexeditor, je úprava triviální :).
  2. Upravit hexeditorem názvy sloupečků ve vytvořených DBF souborech.
  3. Načíst DBF soubor do Excelu, změnit název sloupečků, a opět uložit.
Oproti strašnému programu TXT2SHP, který spousta lidí doporučuje, je použití cGPSmapperu bezproblémové a hlavně velice rychlé.

Samotná tvorba mapy

Použijte program "MMOfficeGRP.EXE" namísto "MMOffice.EXE". Pouze MMOfficeGRP umí vytvářet rozšířené mapy, ve kterých jsou objekty dělené do skupin. Na serveru www.msh-tools.com doporučují použít program "addSTDgrp.exe", který do MMO zavede standardní skupiny vrstev (silnice, vodstvo, železnice, parky). Původně jsem ho také používal, ale pak jsem narazil na několik chyb které má, a nakonec jsem zjistil že používat standardní skupiny je naprosto zbytečné. Mnohem lepší je vytvořit si skupiny vlastní, a to proto že: Nadefinujte si tedy skupiny podle vlastního uvážení, v nich vytvořte vrstvy, a propojte všechno se SHP soubory. Nezapomeňte u DBF souborů vybrat sloupeček ve kterém se vyskytují názvy objektů, jinak se názvy nebudou nikde zobrazovat.

Význam jednotlivých položek je následující:

Je dobré mít pod kontrolou pořadí vrstev. Vrstvy se totiž vykreslují postupně, od nejnižšího pořadí k nejvyššímu. A pokud byste měli třeba plochy měst úplně nahoře, tak překryjí vše co je pod nimi (silnice, ulice, ...). Pořadí vrstev se sice přímo v MMO měnit nedá, ale ruční oprava je naštěstí triviální:

Před exportem mapy (tzn. jejím skutečným generováním) je potřeba odpojit aktuálni background mapu v menu "Operations/Setup Attached maps/Detach map", jinak bude MMO hlásit že mapa není kompatibilní s připojenou mapou.

Po exportu mapy doporučuji ukončit MMOfficeGRP, spustit standardní MMOffice, a v menu "Tools/Background maps" čerstvě vygenerovanou mapu odpojit (detach) a hned znovu připojit (attach). Pokud to neuděláte, MMO si bude chybně pamatovat název regionu a jeho hranice, a do GPSky pak může poslat jiné údaje než chcete. Název vaší mapy by po této operaci měl být vidět v toolbaru, na konci seznamu u tlačítka s ikonkou zeměkoule.

Aby v GPS fungovalo vyhledávání, ukončete MMO, otevřte si v editoru soubor MAP\EXPORT.CFG, a do sekce [GROUPS] doplňte parametr SEARCH_GROUPS. Ten říká GPSce, které skupiny se mají nabízet v menu "Database", tzn. ve kterých skupinách bude fungovat vyhledávání. Formát parametru SEARCH_GROUPS je tento:

SEARCH_GROUPS = pocet_skupin skupina1 skupina2 ... skupinaN
Sekce [GROUPS] tedy může vypadat například takto:
[GROUPS]
NUMBER=6
0=Mesta 0
1=Vodstvo 0
2=Letiste 0
3=Parky 0
4=Zeleznice 0
SEARCH_GROUPS=3 0 1 4
a znamená to že pro hledání se v GPS mají nabízet skupiny č. 0, 1 a 4 (v tomto pořadí), tzn. "Města", "Vodstvo" a "Zeleznice".

Autorouting

Zní to dobře, že? GPS Magellan v posledních verzích firmwaru podporují routovatelné mapy, tzn. mapy na kterých si řeknete "chci jet z bodu A do bodu B", a samo vás to donaviguje po cestách necestách, a nikoli jen vzdušnou čarou. Výroba vlastní routovatelné mapy ale naráží na tři překážky:
  1. Legální: součástí routovatelné mapy musí být soubor routing.dat, který zřejmě obsahuje ikonky pro navigaci. Bez něj se GPS i k routovatelné mapě chová jako by to byla mapa obyčejná. Jenže tenhle soubor se nedá nikde sehnat, a dá se buď vyextrahovat z existujícího IMG souboru, nebo prostě zkopírovat třeba z MapSend Direct Route. Takový soubor ale nemůžu dát do volně šiřitelných map :(.
  2. Dopravní: bez doplňujících informací typu "tohle je jednosměrka", "tady se nesmí odbočovat vlevo", případně "tady je mimoúruvňové křížení, takže silnice nejsou propojené" je routování k ničemu. Ty informace by do mapy musel někdo doplnit a aktualizovat je.
  3. Technickou: myslel jsem si že vím jak vyrobit routovatelnou mapu, ale při bližším zkoumání se ukázalo, že GPS tvrdošíjně odmítá k navigaci využít dálnice a silnice 1. třídy, a naviguje jen po okreskách a ulicích. Ve free mapě pak routování nefungovalo vůbec :(, GPS se pořád tvářila že jsem mimo dosah silniční sitě. Originální mapy využívají k routování kromě běžných vrstev se silnicemi i 3 další speciální vrstvy (typu 17, tzn. nikde nedokumentovaného), a kromě LAY+CLT souborů ještě využívají soubory s příponami CAR+CCT. CCT je evidentně pouze něco jako CLT, a dal by se snadno vygenerovat. Ale CAR je kdoví co (zřejmě obsahuje právě informace o zákazech a přikázaných směrech), a nemám bohužel čas ani chuť zjišťovat jeho strukturu. Za ušetřené peníze si raději koupím Garmin :(((.
U volně šiřitelných map tedy autorouting nečekejte.

Řešení známých chyb


[zpět na úvodní stranu]