Datum vytvoření: 7.3.2011,
aktualizace: 31.3.2011, 7.4.2011
7.4.2011: Nastala další změna, ke stažení je nyní jen verze 1.9 plain beta 2, která obsahuje jen Open Street Map. Autor uvádí, že další zdroje přidá, pokud bude mít souhlas vlastníka zdroje. Prosím sledujte stránky programu na http://mobac.sourceforge.net/ .
31.3.2011: Po cca týdenní
přestávce bylo obnoveno stahování
programu MOBAC , odkaz je na http://mobac.sourceforge.net/ . V nové verzi 1.9 beta je omezeno stahování OSM Mapnik v nejpodrobnějším
přiblížení (max 16), ale jsou tam zase přidány OpenStreetMap Bing layer
(Mapnik powered by Microsoft), které vypadají stejně a toto omezení
nemají.
Dále jsem doplnil tento návod v bodu 5. Tvorba velkého atlasu.
Úvod.
MOBAC (Mobile Atlas Creator, dříve nazývaný TrekBuddy Atlas Creator) je
vynikající program pro tvorbu map a celých atlasů pro mobilní
telefony a jiné přístroje. Mapy je možno vytvářet pro různé systémy a
programy,
zde bude popsán postup pro TrekBuddy. MOBAC a TrekBuddy tvoří ideální
sestavu pro tvorbu a prohlížení map na mobilu, vše je zdarma včetně
mnoha map z celého světa. Kromě známých Google maps jsou pro ČR a SR
bezplatně dostupné turistické a cyklistické mapy v měřitku 1:50.000.
Tyto mapy jsou ideální pro turisty i cykloturisty, jsou pravidelně
aktualizované a proto v dalším uvádím postup pro ně.
Jediný
problém jsem měl s dokumentací. Nápověda programu je stručná, nejvíce
mě pomohlo české fórum na http://www.trekbuddy.net/forum/viewtopic.php?t=3486
V tomto textu popisuji své
zkušenosti a postup, jak si vytvořit atlas map pro ČR a SR. Postup je
vyzkoušen pro Windows XP a 7 a telefon Nokia 6710. Návod je psán pro
úplné začátečníky a proto omluvte jeho upovídanost. Pokročilejším
doporučuji přeskočit na bod 5. Tvorba velkého atlasu.
Poznámky 20.3.2011:
1. Stažení a instalace
programu MOBAC (Mobile Atlas Creator).
Úvodní
stránka projektu je na
http://mobac.dnsalias.org/index.html
, je tam i odkaz na stažení poslední stabilní verze. Pozor,
současná stabilní verze 1.8. mě nepracovala s Cykloatlasem!
Proto jsem
si stáhl poslední Alfaverzi MOBAC 1.9 preview 11.zip z adresy - tato
verze již není ke stažení, více viz Poznámky 20.3.2011.
Kromě programu Mobac ještě potřebujete
mít instalováno JRE (Java Runtime Environment), což na většině
počítačů je. Pokud si nejste jisti pak, vice v příloze: Instalace JRE.
Na počítači si
vytvořte nějakou složku, třeba TvorbaMap. Do té rozbalte stažený
soubor . Po roybalení ve složce najdete jednak READ.ME a pak i
spustitelný
soubor Mobile Atlas Creator.exe. Spouští se tento .exe soubor
(obrázek modré zeměkoule), podobně nazvaný Mobile_Atlas_Creator.jar
nestartujte.
2. Vytvoření zkušební mapy.
Dobrý
atlas map se nepodaří vytvořit napoprvé. Proto doporučuji nejprve
vytvořit malý zkušební atlas, kde nebudou velké soubory a ušetří se
čas stahování. Zde popíši vytvoření jednoduchého cyklo atlasu Okolí
Prahy.
Při prvním startu Mobile Atlas Creator (dále MOBAC) se
zobrazí okénko pro určení jména atlasu (napište např. OkoliPrahy) a pro
určení formátu - pro TrekBuddy vyberte TrekBuddy tared atlas. Pak se
zobrazí úvodní obrazovka.
Minimálně musíte nastavit:
Timto je zkušební mapa vytvořena a doporučuji cvičně ukončit i program MOBAC.
3.Ověření funkčnosti zkušební mapy.
Vytvořená
mapa je velmi malá, je uložena v podsložce Atlases (ve stejné složce
jako MOBAC). Každý atlas má svoji vlastní složku se jménem atlasu
doplněným datem a časem vytvoření. Pokud jste například vytvořili
atlasy dva, budou tam 2 složky: OkoliPrahy_2011-03-05_131005 a
OkoliPrahy_2011-03-05_134324.
Mapu vyzkoušite
tak, že celou složku nahrajete do mobilu ( je malá, asi jen 0,1
Mb).
Kdo ještě v mobilu TrekBuddy nemá, může si ho nahrát podle
popisu v příloze, kde je i stručný popis ovládání.
Pokud už TrekBuddy v mobilu máte, pak do složky
Maps nahrajte celou nově vytvořenou složku atlasu, např. podle
příkladu jsem nahrál OkoliPrahy_2011-03-05_134324.
Mapu vyberete
takto:
4.
Přidání podrobných map.
Potřebná
podrobnost záleží na způsobu použití a kvalitě Vašich očí. Zde si
popíšeme přidání podrobných map v level=14.
Nastartuje MOBAC,
klikněte pravým tlačitkem na minule vytvořenou vrstvu Prehledova a
vyberte Display selected area,
tím se označí minule vybraný rozsah
mapy.
Nyní popíši vytvoření vrstvy Detailní, kde budou 4 mapy v
podrobném zobrazení level 14:
Poznámky. Pokud dodržíte
popsaný postup, budete moci mezi mapami plynule přecházet. Pokud
nastavíte v mobilu mapy špatně, nemusí přecházení mezi listy map
fungovat. Načtení nového listu mapy trvá na Nokii 6710 necelou
vteřinu. Po mapě se dá pohybovat navigačními tlačitky nebo "křížem"
z číslic 8462 na klávesnici. Mezi vrstvami se dá pohybovat pomocí
číslice 7, která zobrazí dostupné vrstvy. To je vhodné pro hledání
místa, kdy je dobré ho najít v Přehledové mapě a pak přepnout do
detailní.
Pokud nová mapa v mobilu dobře funguje, starou smažte.
Neměla by se ale mazat mapa, která je nastavena jako výchozí.
Popsaný postup slouží jako jednoduchý příklad a má některé nedostatky. Nepříjemné je, že při přechodu mezi listy Detailní mapy není vidět část předchozího listu. To je způsobeno tím, že listy byly vytvořeny bez překrytí. Také není ideální, že mapa má jen dvě vrstvy podrobnosti map. Tvorba dokonalejšího atlasu je proto popsána v dalším bodě.
5. Tvorba velkého atlasu.
Velký atlas by měl mít několik vrstev, jinak se člověk v mapách ztratí.
Pro celkovou mapu se mě osvědčila ZoomLevel10,
pro přehledovou 12 a pro detailní 14. Turistické značky jsou
zobrazovány od Zoom level
13, level 14 je větší, level 15 už zabírá moc paměti.
ČR+SR bez reliefu v level=14 zabere cca 1,6 GB paměti. Verze s reliefem
pak zabrala cca 2,9 GB, což už nepříjemě zpomalovalo prohlížení na
mobilu. Nejmenší soubory dosáhnete při výběru dvou vrstev, level=10 pro
Prehled a level=13 pro Detail.
Stahování mapových podkladů zabralo pro level 14 téměř 2 hodiny.
Generování dalších map je cca 2x rychlejší, program pak požívá data z Tile
store, což je rychlejší než přes internet. Osvědčilo se mě nastavit v Settings
TileUpdate na delší
dobu (1 měsíc), datové podklady se tak často nemění.
Data se stahovala bez problémů a chyb. Určitě se vyplatí zaškrtnout v
okně pro generování volbu Ignore
download errors and continue automatically.
U mě chyby vznikaly jen při nahrávání dat z přeshraničních oblastí, kde
nebyly dostupné mapové údaje. Při této volbě není nutno přesně hledat
mapové pokrytí v přeshraničí, data se prostě nestáhnou a výsledná část
mapy zůstane černá. Nezabírá to významě místo, černý segment má jen 270
byte proti cca 10 kB u normálního segmentu.
Nejdůležitější při tvorbě velkého atlasu
je určení velikosti segmetů mapy. Vyzkoušel jsem, že Nokia 6710 rozumě
zvládá zazipované soubory .TAR do velikosti 10 MB. Větší se natahují
znatelně pomalu, nad 50MB je to už nepřijatelné. Úplně nepoužitelná
byla detailní mapa v level 14 když jsem vybral 1 čtverec pro celé
Čechy. Tato mapa měla největší zapakovaný soubor TAR velký 288 MB
a mobil stále jen načítal a display byl černý. Zkoušel jsem také mapy
nekomprimovamé - UntaredAtlas. Prohlížení s velkých Untared map je
celkem rychlé (mobil nemusí nic rozbalovat), celková velikost souborů
je prakticky stejná ale obsazují 2x více místa na kartě a 10x pomaleji
se nahrávají do mobilu (způsobeno segmentací na malé soubory).
Osvědčilo se mě nejprve vyzkoušet co mobil zvládne. Doporučuji
vyzkoušet několik velikostí listů - například vyjít z výše uvedeného
obrázku OkolíPrahy, zvětšovat velikost listů a zkoušet co mobil snese.
Mě z toho vyšlo, že pro základní mapy v
level=14 bez reliefu může být největší velikost
segmetu(listu) mapy 24x20 čtverečků (grid) v level 14. Ukázka
kladu listů je vidět na obrázku níže. Zoom je nastaven na 10, jinak
jsem se v mapě ztrácel. Nastavení zoomu nemá na nic vliv, je to pouze
pomůcka pro práci s obrazovkou.
Dále jsem vybral překrytí listů mapy. Listy bez překrytí nejsou vhodné
pro prohlížení na mobilu. Když se načte nový list, tak kurzor zůstane
na hraně okna, překrývající oblast se pochopitelně nezobrazuje. Zvolil
jsem překrytí 2 čtverečky level 14, což je něco přes 3 km. Překrytí
znamená větší soubory listů mapy o duplicitní části map, v mém případě
o 16%. Pokud bych zvolil překrytí jen 1 čtvereček levelu 14 (cca 1,5
km), tak to způsobí zvětšení souborů jen asi o 9%. Už jsem ale nechtěl
předělávat rozložení mapy.
Pro zkoušení velikosti map a jejich překryti se mě osvědčil jednoduchý
program OffRoadNAVI, který emuluje mobil/PDA na PC. Nemusíte pracně
zkušební mapy stahovat do mobilu, prohlédnete si je přímo v PC a hned
vidíte, zda vybrané levely jsou šikovné a zda se v mapách neztratíte.
Popis OffRoadNAVI je uveden v samostatném bodu dále.
Důležité jsou také vhodné názvy jednotlivých výběrů. Na rozdíl od
automatického číslování popsaného v předchozím bodu jsem jednotlivé
řady listů mapy označoval písmeny a pak číslicemi. Pokud má označení
logiku, pak se snadno najde konkrétní list a může se případně opravit.
Postup jsem zrychlil prostým přidáváním výběrů bez přesouvání do složky
Detail. To jsem pak rychle udělal v programátorském editoru PSPad ( http://www.pspad.com/
), lze také použít Poznámkový blok. Rychle naklikanou mřížku mapy jsem
si uložil pod vhodně nazvaným profilem. Profil jsem otevřel a upravil
tak, aby vypadal takto:
<?xml version="1.0"
encoding="UTF-8" standalone="yes"?>
<atlas outputFormat="TaredAtlas" name="CZ" version="1">
<Layer name="CZ_SK">
<Map name="a 10"
zoom="10" mapSource="Cykloatlas" minTileCoordinate="139776/87296"
maxTileCoordinate="143615/88575"/>
<Map name="b1 10"
zoom="10" mapSource="Cykloatlas" minTileCoordinate="139264/88320"
maxTileCoordinate="141823/89855"/>
<Map name="b2 10"
zoom="10" mapSource="Cykloatlas" minTileCoordinate="141568/88320"
maxTileCoordinate="145151/89855"/>
......... atd ..........
</Layer>
<Layer name="Prehled">
<Map name="a1 12"
zoom="12" mapSource="Cykloatlas" minTileCoordinate="559104/349184"
maxTileCoordinate="562175/353279"/>
<Map name="a2 12"
zoom="12" mapSource="Cykloatlas" minTileCoordinate="561920/349184"
maxTileCoordinate="566783/353279"/>
<Map name="a3 12"
zoom="12" mapSource="Cykloatlas" minTileCoordinate="566528/349184"
maxTileCoordinate="571135/353279"/>
<Map name="a4 12"
zoom="12" mapSource="Cykloatlas" minTileCoordinate="570880/349952"
maxTileCoordinate="574975/353279"/>
<Map name="b1 12"
zoom="12" mapSource="Cykloatlas" minTileCoordinate="557824/353024"
maxTileCoordinate="562175/357631"/>
........ atd .......
</Layer>
<Layer name="Detail">
<Map name="b01 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2258432/1400320"
maxTileCoordinate="2267647/1402879"/>
<Map name="b02 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2267136/1400320"
maxTileCoordinate="2275327/1402879"/>
<Map name="c01 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2252800/1402368"
maxTileCoordinate="2258943/1406975"/>
<Map name="c02 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2258432/1402368"
maxTileCoordinate="2264575/1406975"/>
<Map name="c03 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2264064/1402368"
maxTileCoordinate="2269695/1406975"/>
<Map name="c04 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2269184/1402368"
maxTileCoordinate="2275327/1406975"/>
<Map name="c05 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2274816/1402368"
maxTileCoordinate="2280959/1406975"/>
<Map name="d01 14"
zoom="14" mapSource="Cykloatlas" minTileCoordinate="2242048/1406464"
maxTileCoordinate="2247679/1411071"/>
................ atd ........
</Layer>
</atlas>
Je to jednoduchý xml soubor, kde můžete
přehazovat podle potřeby řádky, měnit jejich jména a pod. Podstané
informace jsou vlastně jen TileCoordinate ve vazbě na zoom. Na
oststatní v zásadě nezáleží. Upravený soubor se znova načte pomocí
Load. Pravým klikem na jméno levelu a výběrem Display selected
areas se vše zobrazí a uvidíte případné chyby.
Koordináty jdou zadávat přímo číselně. Nechtělo se mě s tím ale
počítat. Klikání čtverečků trvalo asi hodinu, viděl jsem co vlastně
vybírám a mohl jsem si přidat zájmové oblasti i mimo ČR (Drážďany).
Profil má dlouhodobé využití při tvorbě aktualizovaných map.Na závěr
tohoto bodu přidávám ukázku naklikaného pokrytí Brna a okolí.
Kdybych atlas dělal znova, tak bych asi použil 4 vrstvy s
Zoom levels 8, 10, 12, 14 a koupil bych si 16GB kartu s usb adaptorem
pro rychlejší nahrávání. Dále bych pořádně vyzkoušel dvě varianty:
- velké listy uložené jako Untared = rychlé naklikání mapy, pomalejší
nahrávání do mobilu, větší obsazené místo, celkem rychlé prohlížení v
mobilu
- menší listy uložené jako Tared = pomalé naklikání mapy, rychlejší
nahrávání do mobilu, menší obsazené místo, pomalejší přecházení mezi
listy mapy
Doplněno
31.3.2011: To,
zda je nutné mapu dělit na menší listy závisí
na typu mobilu a použitém navigačním programu. Mám informaci, že
například pro RMaps (Android) to není zapotřebí, stačí
data uložit do formátu SQLite a mobil je schopen s databází pracovat.
Pro TrekBuddy na Nokia 6710 musí být ale mapa rozdělena na listy
tak, aby TAR archivy nebyly větší než 20
MB, jinak se mobil zasekává. Jde to dělat jednak jak jsem popsal výše,
ale jde to zjednodušit nastavením parametru Settings - Map size. Jeho
výchozí hodnota je 32767, pokud se nastaví menší hodnota, například
8192, tak MOBAC automaticky vytváří menší listy. Velikost výsledných
archivů závisí na
složitosti mapy, jednoduchá mapa pro velikost 8192 pak nepřesáhne 10
MB, fotomapa se
vejde do 20 MB. Velikost listu je možno upravit dle konkrétního mobilu,
doporučuji aby to byl násobek 256 (velikost dlaždice). Dále uvádím
příklad výpisu profilu, kde jsou pro Google
Hybrid generovány listy o velikosti 8192:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<atlas outputFormat="TaredAtlas" name="KladnoGoogle" version="1">
<Layer name="Det12">
<Map name="Det12 12"
zoom="12" mapSource="Google Hybrid" minTileCoordinate="564224/353792"
maxTileCoordinate="566527/356095"/>
</Layer>
<Layer name="Det14">
<Map name="Det14 14 (0)"
zoom="14" mapSource="Google Hybrid" minTileCoordinate="2256896/1415424"
maxTileCoordinate="2265087/1423614"/>
<Map name="Det14 14 (1)"
zoom="14" mapSource="Google Hybrid" minTileCoordinate="2265088/1415424"
maxTileCoordinate="2265342/1423614"/>
</Layer>
<Layer name="Det16">
<Map name="Det16 16 (00)"
zoom="16" mapSource="Google Hybrid" minTileCoordinate="9027584/5661696"
maxTileCoordinate="9035775/5669887"/>
<Map name="Det16 16 (01)"
zoom="16" mapSource="Google Hybrid" minTileCoordinate="9027584/5669888"
maxTileCoordinate="9035775/5678079"/>
<Map name="Det16 16 (02)"
zoom="16" mapSource="Google Hybrid" minTileCoordinate="9027584/5678080"
maxTileCoordinate="9035775/5686271"/>
<Map name="Det16 16 (03)"
zoom="16" mapSource="Google Hybrid" minTileCoordinate="9027584/5686272"
maxTileCoordinate="9035775/5694462"/>
<Map name="Det16 16 (04)"
zoom="16" mapSource="Google Hybrid" minTileCoordinate="9035776/5661696"
maxTileCoordinate="9043967/5669887"/>
... atd
Změna Map size se musí udělat před označením a uložením vrstvy,
MOBAC to pak sám rozdělí na listy mapy. Tyto listy se pochopitelně
nepřekrývají, při prohlížení v mobilu to pak "přeskakuje", což se dá
snést.
7. Layer settinds: custom tile processing.
Tato část slouží k nastavení formátu generovaných mapových segmentů. Aby se to dalo používat, je nutné do složky MOBAC nahrát jai_codec.jar a jai_core.jar. V README.HTM je uvedena adresa pro stažení íhttps://jai.dev.java.net/binary-builds.html , která však není funkční. Našel jsem ale na internetu složku zdrojů pro JAI a to na adrese http://download.java.net/media/jai/builds/release/1_1_3/ , konkrétně jsem stáhl soubor jai-1_1_3-lib.zip. Archiv obsahuje soubory jai_codec.jar a jai_core.jar s datem 11.9.2006 a MOBAC s nimi funguje. Zkoušel jsem generovat jak PNG s 16-ti barvami, tak snížit kvalitu JPEG na příkladu z GoogleMaps, ale nezjistil jsem zlepšení. PNG16 docela zabral více místa, nevím, jestli jsem ale neudělal někde chybu.Poděkování
a závěr.
Závěrem bych chtěl poděkovat autorům programů TrekBuddy, MOBAC,
OffRoadNAVI, komunitám projektů SourceForge ( http://sourceforge.net/ ) a
společnostem podporujícím příslušné platformy, v tomto případě
společnosti ORACLE ( http://www.oracle.com/index.html
)..
Doufám, že tento návod alespoň trochu pomůže uživatelům uvedených
programů. Pokud najdete v popisu nějaké chyby nebo budete mít náměty na
rozšíření, napište mě.
Přílohy
Stručný popis instalace a ovládání
programu TrekBuddy
Postup je popsán pro mobily Nokia se Symbianem, lonkrétně pro Nokia
6710.
Domovská stránka programu je na fóru http://www.trekbuddy.net/forum/
kde v 1 tématu jsou informace o dostupných verzích. Já jsem stáhl
poslední stabilní, což v únoru 2011 byla verze 1.0.11 na adrese http://www.trekbuddy.net/releases/1.0.11/index.html
.
Postupoval jsem takto:
Ovládání TrekBuddy je popsáno například česky na http://www.trekbuddy.net/forum/viewtopic.php?t=9
nebo anglicky na http://wiki.trekbuddy.net/index.php/Main_Page
.
Velmi stručný popis ovládání mapy:
Pokud by neungovalo GPS, zkontrolujte nastavení: Settings - Location:
zakliknuto Internal a Asisted GPS.
Lze toho nastavit a ovládat daleko více, ale to už se dá vzykoušet a
naučit praxí.
Instalace
JRE.
Na většině počítačů je
JRE (Java Runtime Environment) už instalováno. Ověříte to tak, že
kliknete ve Windows na Start, pak Ovládací
panely a tam by měla být známá ikonka Java. Proklikáním na About
zjistíte verzi.
Pokud JRE nemáte, tak si o to
počítač sám řekne po spuštění Mobac. Pokud si to chcete předem
připravit, tak navštívte stránku:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
kde klikněte na tlačítko Download JRE a postupujte podle návodu.
Postup downloadu se časem mění, když omylem stáknete verzi JDK (Java
Development Kit), tak se nic nestane, ten v sobě JRE obsahuje také.