Zpět

Letecké ortofotomapy ČR pro OziExplorer

Portál Mapy.cz nabízí vynikající fotomapy České republiky ve vysokém rozlišení. Přímé využití těchto map jako podkladu ke komfortnímu plánování trasy na GPS však není snadné, jednoduchá webová aplikace to prakticky neumožňuje. Následující článek popisuje postup ke stažení map z tohoto portálu a jejich automatickou kalibraci pro software OziExplorer.

Mapy jsou uloženy na serveru jako čtvercové JPEG obrázky s rozlišením 256x256 pixelů. Jsou dostupné v celé škále zvětšení, pro jejich využití k plánování GPS tras se nabízejí dvě nejvyšší zvětšení - 1 metr/pixel (stupeň 15) a 0,5 metru/pixel (stupeň 16). Jména jednotlivých souborů jsou odvozena od jejich souřadnic v projekci UTM systému WGS84. Jednotlivé soubory, z kterých se zobrazená mapa skládá, si mohou uživatelé prohlížeče Firefox snadno prohlédnout (Nástroje -> Informace o stránce -> Média).

SW OziExplorer s ortofotomapu a záznamem prošlé trasy

Využití fotomap tedy vyžaduje tři kroky: stažení podkladů ze serveru Mapy.cz, jejich spojení do jediného obrázku a přesnou kalibraci souřadného systému v software OziExplorer. Pro automatizaci všech kroků byly vytvořeny jednoduché konzolové programy v Delphi.

Segmenty ortofotomapy

Stažení podkladů je snadnou záležitostí, je možné použít vynikající grabber GNU Wget, resp. jeho verzi pro Windows. V této fázi je nutné rozhodnout o měřítku, výsledných rozměrech a okrajových souřadnicích stahované mapy. Přestože samozřejmě láká získat mapu s co největšími podrobnostmi, doporučuji mapu úrovně 15 (1 pix/m), která je pro plánování tras zcela dostatečná a zabírá 4x méně místa, než úroveň 16. Celkové rozměry mapy jsou omezeny především způsobem, jakým s obrázkem nakládá OziExplorer. Ten vyžaduje načtení celého podkladu do operační paměti. Osvědčila se velikost cca 80 megapixelů, tj. mapa složená z 36x36 výřezů s překryvem 2 výřezy na každé straně. Čtverec mapy úrovně 15 pak zobrazuje území cca 10x10 km. Souřadnice levého dolního a pravého horního rohu lze určit např. přes funkci "Odkaz na tuto mapu" portálu Mapy.cz, přečtením souřadnic centerX a centerY, jejich předevením do hexadecimálního vyjádření a vhodným zaokrouhlením. Druhou možností je přes najít vhodný snímek v levém dolním a pravém horním rohu a souřadnice opsat z názvu snímku v Informacích o stránce prohlížeče Firefox.

Například tedy zvolíme mapu města Třebíč, která se bude skládát z 36x36 výřezů úrovně 15, souřadnice levého dolního rohu X:81EC000 Y:7E9C000, pravého horního rohu X:8232000 Y:7EE2000. Je třeba stáhnout celkem 1296 výřezů mapy. Pro vygenerování jejich seznamu je použit program MapGen. Vygenerovaný seznam odkazů na výřezy v souboru wget_map.dat je následně nutné stáhnout pomocí programu Wget, příkazem wget --input-file=wget_map.dat, resp. dávkou wget_run.bat. Stažené soubory jsou ve formátu JPEG, ale bez přípony (.jpg), tu je pro další zpracování třeba přidat (dávka to řeší automaticky). Pro uvedený rozsah dat se jedná o cca 10 MB souborů. Mapy úrovně 15 musí mít všechny souřadnice v názvu násobkem čísla 2000 (hexa), úrovně 16 násobkem 1000.

Spojení do jediného obrázku realizuje program MapCat. Po mnoha experimentech s nejrůznějším softwarem nalezeným na internetu jsem došel k závěru, že vhodný program pro tvoření extrémně velkých obrázků neexistuje, a tedy bude nutné napsat jednoúčelový program vlastní. MapCat načítá zdrojové JPEG obrázky, převádí je na bitmapy a ty ukládá do výsledného BMP souboru. Všechny operace jsou napsány pomocí tříd odvozených z TStream na úrovni práce s pixely, proto jsou paměťove velice nenáročné. Složením mapy z příkladu výše příkazem mapcat 81ec 8232 7e9c 7ee2 Trebic_81f0_7ea0 vznikne soubor Trebic_81f0_7ea0.bmp o úctyhodné velikosti 243 MB. K jeho prohlédnutí je možné použít např. program IrfanView, ne všechny programy se s rozsáhlými obrázky vyrovnají tak dobře, jako právě tento prohlížeč.

Vzniklý soubor BMP je třeba zkonvertovat zpět do formátu JPEG, aby se zmenšila jeho velikost. Vhodným řešením je opět program IrfanView, s nastavením kvality cca 80 vznikne soubor s velikostí kolem 15 MB.

Automatickou kalibraci mapy pro OziExplorer provádí program MapCat po složení mapy vygenerováním příslušného MAP souboru. Protože digitální mapové podklady jsou přesné, stačí dvoubodová kalibrace a výsledek je taktéž naprosto přesný (shodu kalibrace se záznamem trasy z GPS je vidět na prvním obrázku). MAP soubor generovaný programem MapCat neobsahuje parametry "Moving Map", jejichž výpočet je komplikovaný. Po prvním načtení mapy v OziExploreru je dopočítá sám OziExplorer a upozorní na to, že chybí. Po dokončení generování mapy je tedy vhodné mapu otevřít a uložit v OziExploreru, tím dojde k doplnění chybějících údajů v souboru - jsou nutné např. pro zobrazení oblasti mapy v indexu map.

Download balíku MapGen, Wget a MapCat pro úroveň 15 (1 pix/m) (ZIP, 439 kB)
Download balíku MapGen, Wget a MapCat pro úroveň 16 (0,5 pix/m) (ZIP, 439 kB)
Další potřebný software: OziExplorer, IrfanView, Firefox

Množství dalších postupů, zejména využití pro jiné úrovně detailu, možnosti stahování turistických a historických map a generování souřadnic, je popsáno na mém blogu v článcích s poznámkou "mapy".Nové!

Využití těchto postupů může narážet na licenční omezení mapových zdrojů, i na mapách samotných je uveden copyright firem Seznam.cz a GEODIS. Můj názor je takový, že jsou-li ortofotomapy veřejně dostupné na portálu Mapy.cz, nemohu jejich stažením pro vlastní potřebu nic porušovat - narozdíl od dalšího šíření vytvořených map. Přesto se zříkám veškeré odpovědnosti za použití zde zveřejněného softwaru pro získání map. Ten byl vytvořen ze studijních důvodů, pro osobní potřebu a jako důkaz, že "když se chce, tak to jde". Portál Mapy.cz může časem změnit způsob poskytování či zabezpečení mapových podkladů, potom samozřejmě nebudou výše uvedené postupy použitelné.