Hezký večer, konečně přidávám, co jsem slíbil. Je to takové zdrcnuté to hlavní, co jsem jednotlivě lovil různě po fórech a manuálech, třeba to někomu pomůže...
Tvorba vektorové mapy pro Locus v systému Windows
Nutná funkční Java (java.com)
stažení Osmosis z http://wiki.openstreetmap.org/wiki/Osmosis a nainstalování. Instalací se myslí rozbalení staženého souboru ZIP do určitého adresáře, já budu používat adresu Z:/osmosis, pokud ho budete rozbalovat jinam, je potřeba patřičně upravit popisované cesty dále.
Stažení writer pluginu z adresy https://github.com/mapsforge/mapsforge/blob/master/docs/Downloads.md kde stáhneme “Writer plugin” pro aktuální release
Stažený soubor (aktuálně mapsforge-map-writer-0.5.1.jar) nakopírujeme do adresáře osmosisu (v mém případě z:/osmosis/lib/default/ )
V adresáři Z:/osmosis/bin upravíme soubor osmosis.bat takto:
smažeme celý řádek, který začíná "REM # JAVACMD_OPTIONS - The options to append…." a místo něj vložíme pouze "set JAVACMD_OPTIONS=-Xmx1024M" (bez uvozovek)
Další program, který budeme potřebovat je OSMCONVERT - stáhneme ho z adresy http://wiki.openstreetmap.org/wiki/Osmconvert - sekce Download, konkrétně přímo odtud: http://m.m.i24.cc/osmconvert.exe Je to exe soubor, který stáhneme a uložíme do adresáře Z:/osmosis/bin
Potom je to skript od SPEIRSe pro přidání turistických značek, který získáme tady a uložíme ho opět do Z:/osmosis/bin
a v neposlední řadě velmi důležitý xml soubor s pravidly pro renderování objektů, které chceme vidět v mapě - uvádím adresu Speirsova souboru: http://osm.paws.cz/tag-mapping.xml - opět ho uložíme do Z:/osmosis/bin
Když soubor otevřeme, najdeme zde sekce, kde jsou definované cesty nebo body, se kterými budeme chtít v hotové mapě pracovat. Budu-li například chtít v mapě vidět elektrické vedení, které teď ve Speirsově mapě není, musíme do něj patřičnou dvojici tagů přidat. V tomto případě je to dvojice power - line, tudíž do odpovídající ways sekce přidám řádek: <osm-tag key="power" value="line" zoom-appear="15" /> přičemž parametr zoom-appear vyjadřuje zoom, od kterého bude parametr v mapě vidět.
Pro ty, co nemají nainstalovaný Python - stáhneme a nainstalujeme dvojkovou verzi pro Windows: https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi
Postup instalace je popsaná na výše uvedených stránkách - Python jsem měl už nainstalovaný, proto nepíšu detailní postup, ale nepamatuju si, že by v tom byly nějaké záludnosti.
Další důležitý soubor pro mapu je soubor s vrstevnicemi pro ČR. Nepodařilo se mi ho vygenerovat svépomocí, ale můžete si ho jako já stáhnout tady: http://osm.jasnapaka.com/stahnout/czech_republic_srtm3.osm.pbf a uložit ho do Z:/osmosis/bin
Výborně, tím máme software i skripty, co potřebujeme. Nyní stáhneme data pro generování samotné mapy:
http://osm.kyblsoft.cz/archiv/ kde na samém konci stáhneme poslední aktuální soubor ve formátu .pbf
Tuto mapu jsem pro další práci s ní přejmenoval na mapacr.pbf
*** Nyní nám začíná práce s příkazovým řádkem! ***
Otevřeme si command window, přepneme se do adresáře z:/osmosis/bin
a v prvním kroku spojíme mapový soubor se souborem vrstevnic:
osmosis --rb file="mapacr.pbf" --sort-0.6 --rb czech_republic_srtm3.osm.pbf --sort-0.6 --merge --wb mapacr_v.pbf
Uvedená procedura trvá cca 30 minut a v cmd okně bychom měli vidět na posledním řádku něco jako “INFO: Pipeline executing, waiting for completion.”
Tím jsme spojili staženou mapu ČR s vrstevnicemi a vzniklý soubor uložili pod názvem mapacr_v.pbf
Nyní přišel čas na přidání turistických značek - skript je vytáhne z relací, s kterými neumí plugin mapsforge pracovat a přidá jejich tagy přímo na příslušné cesty. K tomu nám poslouží výše zmíněný Speirsův skript:
osm3.py mapacr_v.pbf |osmconvert - --out-pbf > mapacrvkct.pbf
doba trvání cca 30 minut
A je tu konečně finální operace - generování samotné mapy! V příkazovém řádku opět zadáme:
osmosis --rb file=mapacrvkct.pbf --buffer --sort --mapfile-writer file=cz.map type=hd tag-conf-file=tag-mapping.xml
Pokud nepotřebujete mapu celé ČR, ale stačí vám výřez, stačí do příkazu použít omezující parametr bbox. Tedy jako například já, který potřebuje jen střední Čechy, jsem výše uvedený příkaz upravil na:
osmosis --rb file=mapacrvkct.pbf --buffer --sort --mapfile-writer file=cz.map bbox=49.5,13.5,50.4,15.4 type=hd tag-conf-file=tag-mapping.xml
(parametry pro bbox zjistíme třeba tak, že navštívíme stránku osm.org, zde klikneme v horní liště na “Export”, vlevo klikneme na “Ručně vybrat jinou oblast”, pak upravíme výřez mapy na požadovanou oblast a opíšeme si souřadnice v pořadí spodní - levá - horní - pravá)
Doba generování mapy se pohybuje podle velikosti od jedné do čtyř hodin, proto neklesejte na duchu když se zdánlivě nic nebude dít. Pokud ale poslední řádka v cmd říká že “INFO: start reading data...”, případně o něco později “INFO: completing read...”, jste na dobré cestě ;-)
Odkazy:
http://osm.jasnapaka...tvorba-mapy.php
http://wiki.openstre...rg/wiki/Osmosis
http://wiki.openstre...wiki/Osmconvert
https://www.pslib.cz..._mapy_pro_Locus
http://www.geocachin...android/page-28
http://osm.paws.cz/srtm.php
Tento příspěvek byl upraven od gpony2: 28 květen 2015 - 22:34