Metody a postup zpracování

Použitá data

Pro vizualizaci ve formě rastrových či vektorových dlaždic byla opatřena podkladová data z projektu OpenMapTiles, který vytvořila společnost MapTiler (dříve Klokan Technologies). Tento projekt nabízí extrakty dat z OpenStreetMap (dále také OSM) ve formátu MBTiles, který je popsán v práci dále. Jelikož data z OSM jsou licencována pod licencí Open Database License, poskytuje také projekt OpenMapTiles data pro nekomerční a vzdělávací účely zdarma. Pro firmy či komerční projekty jsou data poskytována buď formou jednorázového poplatku a následného stažení, nebo formou pravidelné měsíční platby, která uživateli nabízí pravidelnou aktualizaci zakoupených dat. Výhodou tohoto projektu také je, že dovoluje stáhnout pouze data za vybranou oblast. Soubor obsahuje dlaždice ve vyšší úrovni přiblížení pouze v zájmové oblasti, v nižších úrovních jsou ale obsaženy také dlaždice pokrývající zbytek světa, aby uživatel po oddálení mapy neviděl pouze prázdnou mapu. Schéma dat z projektu OpenMapTiles je dostupné na webových stránkách projektu a je šířeno jako open source pod licencí BSD (OpenMapTiles, 2019). Pro potřeby této práce byl pořízen extrakt pro Českou republiku ve verzi 3.6.1 platný k 3. 7. 2017, který dosahoval velikosti 788 MB.

V průběhu práce bylo zjištěno, že oproti schématu na stránkách OpenMapTiles neobsahují stažená data pro Českou republiku vrstvu popisů letišť. Ta byla opatřena také z OpenStreetMap pomocí pluginu QuickOSM, fungujícího v open source GIS softwaru QGIS. Tento plugin umožňuje stáhnout libovolná data z OSM pomocí zadání hodnot key a value. Při stahování dat lze také upřesnit pro jaké území mají být data získána. Byla pořízena data pod hodnotami key=aeroway a value=aerodrome v rozsahu České republiky. Plugin po zadání stáhne data v bodové, liniové i polygonové formě a umístí je jako vrstvy do QGIS. V práci byla použita pouze data geometrie typu Polygon, která byla po stažení uložena jako soubor ve formátu GeoJSON. Poslední použitou datovou vrstvou byla vrstva hranic obcí s rozšířenou působností (ORP), která byla pořízena z volně dostupné databáze ArcČR® 500 ve verzi 3.3. Tato datová vrstva byla pořízena jako Shapefile a následně v softwaru QGIS konvertována do formátu GeoJSON.


Použité programy

V průběhu řešení práce bylo využito několika softwarů a pluginů pro generování a publikaci mapových dlaždic. Prostředím, které v práci sloužilo pro oba zmíněné účely, se stal Docker, což je relativně nový nástroj, umožňující spouštět aplikace odděleně uvnitř tzv. kontejnerů. Často bývá Docker popisován také jako virtualizace, která nemá žádný overhead. Na rozdíl od klasické virtualizace, která využívá model hardware – operační systém – hypervisor – klientský operační systém – aplikace, pracuje Docker s modelem hardware – operační systém – Docker engine – aplikace. Díky tomu nejsou kladeny takové nároky na hardware hostitelského stroje, což je jedna z největších nevýhod klasické virtualizace. Docker nabízí instalační soubory pro platformy Linux i Windows, které však nelze použít pro operační systém instalovaný na počítači, na kterém byla práce tvořena, Windows 10 Home. Instalovat Docker na tomto operačním systému lze pouze pomocí balíčku Docker Toolbox, který obsahuje tři softwary: Oracle VM VirtualBox, Docker a Kitematic. Zároveň je před instalací vyžadováno také povolení virtualizace na hostitelském stroji. Zkontrolovat, zda je virtualizace povolena, je možné po spuštění Správce úloh na záložce Výkon v menu Procesor. V případě, že virtualizace povolena není, je možné změnu učinit v nastavení počítače.

V prostředí Docker byla spuštěna aplikace tippecanoe ve verzi 4.3. Tuto aplikaci vytvořili tvůrci knihovny Mapbox a jejím hlavním účelem je generovat z prostorových dat soubor ve formě mapových dlaždic, který bude možno zobrazit na různých úrovních přiblížení. Pomocí nástroje lze ze vstupních dat ve formátu GeoJSON, CSV či Geobuf vytvořit jediný soubor ve formátu MBTiles. Aplikaci nelze použít na operačním systému Windows, proto byla spuštěna v prostředí Docker. Je napsaná v jazyce C++ a volně dostupná na platformě GitHub.

Druhou aplikací spuštěnou v prostředí Docker byl TileServer GL, který byl použit pro publikování rastrových i vektorových dlaždic. TileServer GL je open source mapový server, vytvořený společností Klokan Technologies (dnes MapTiler). Jeho hlavní předností je možnost generování rastrových dlaždic „on-the-fly“ a jejich stylování pomocí specifikace Mapbox GL Styles. Stejným způsobem zvládá server vykreslovat také vektorové dlaždice. Zdrojový kód aplikace je dostupný na platformě GitHub.

Podobná aplikace jako TileServer GL je TileServer PHP. Od výše zmíněného serveru se liší jazykem, ve kterém je napsán. Jazyk PHP je u něj použit nikoliv z důvodu rychlosti, ale proto, aby byl maximálně usnadněn proces hostování dlaždic na běžném webovém hostingu. Server je nutné instalovat na hosting, na kterém běží webový server Apache a jazyk PHP 5.2+ s modulem SQLite. Jsou-li tyto podmínky splněny, stačí pro následnou instalaci pouze stáhnout čtyři soubory z platformy GitHub a umístit je do stejné složky, kde se nachází také data, která se mají zobrazit. Data mohou být ve formátu MBTiles, či ve složce jako jednotlivé mapové dlaždice. Po otevření webové stránky na adrese, kde se nachází soubory TileServer PHP, je uživateli zobrazena úvodní obrazovka s příklady aplikací postavených nad různými knihovnami, které zobrazují mapová data uživatele. Kromě toho nabízí TileServer PHP také odkaz na WMTS službu, která může být použita v desktopových GIS softwarech. Využita byla verze serveru 2, která zvládá zobrazit rastrová i vektorová data.

Pro přenos dat na webový hosting, resp. na užívané cloudové úložiště, byly v průběhu práce využity softwary FileZilla ve verzi 3.41.2 a Altap Salamander ve verzi 3.08. K připojení na server na cloudu byl použit nástroj PuTTY a jeho extenze PuTTYGen. Tento nástroj umožňuje konverzi klíče k počítači na cloudu do formátu PPK, který umí číst například zmíněný software FileZilla, a také je možno se s jeho pomocí připojit k zakoupené instanci přes protokol SSH.

Posledním ze softwarů užitých v práci byl Cygwin. Tento jednoduchý program instaluje kolekci open source nástrojů a umožní tím používat příkazy z prostředí Linux na operačním systému Windows. Při instalaci je nabídnuta možnost specifikovat nástroje, které se mají nainstalovat a ty lze po dokončení instalace přímo používat prostřednictvím příkazové řádky ve Windows. V práci byla užívána verze softwaru 3.0.1.

Všechny webové aplikace vytvořené v rámci případových studií využívají knihovnu Mapbox GL JS, která je vůbec první mapovou knihovnou vyvinutou primárně pro tvorbu map tvořených vektorovými dlaždicemi. Ostatní mapové knihovny stále pracují s modelem podkladových dat, většinou ve formě rastrových dlaždic, a tzv. overlay dat, což jsou uživatelská data umístěná na podkladová nejčastěji ve formátu GeoJSON. Mapbox GL JS nerozlišuje mezi podkladovými a overlay daty a bere všechna zobrazovaná data jako jedinou mapu. I přesto, že knihovna je orientována primárně na práci s vektorovými daty, podporuje také zobrazení dat ve formě rastrových dlaždic. Pro vykreslování map je používána technologie WebGL, kterou již dnes podporují všechny nejčastěji využívané prohlížeče. V práci byla použita verze knihovny 0.52. Mapbox GL JS je open source a zdrojový kód je dostupný na platformě GitHub.

Při testování rychlosti načítání vytvořených mapových aplikací byla použita konzole v prohlížeči Google Chrome. V obou lokalitách, kde testování probíhalo, byl prohlížeč Google Chrome dostupný ve verzi 73. Výstup z konzole byl ukládán ve formátu HAR a pro jeho zpracování, stejně jako pro několik mezikroků v průběhu zpracování bylo užito uživatelských skriptů dostupných na platformě GitHub. Tyto skripty byly napsány v jazycích Python a Java. Jejich názvy, specifikace a přesný způsob použití jsou uvedeny v kapitolách praktické části. Zpracování výstupů práce probíhalo v programech Microsoft Excel 2016, který byl využíván pod studentskou licencí Univerzity Palackého a také Adobe Illustrator CS6, který poskytuje zdarma měsíční trial verzi. Text práce byl sepsán v softwaru Microsoft Word 2016. Všechny užité softwary byly instalovány v 64bitové verzi.


Postup zpracování

V první fázi práce byla opatřena data pro vizualizaci ve webových aplikacích. Původním záměrem bylo opatřit data z portálu OpenStreetMap, v průběhu práce se však ukázalo vhodnější pořídit data z projektu OpenMapTiles, který byl popsán výše. Poté byly za účelem demonstrace postupu pro vizualizaci vlastních dat pořízeny další dvě datové vrstvy, které byly následně převedeny do dlaždicové struktury pomocí nástroje tippecanoe v prostředí Docker. V další fázi byly tvořeny případové studie, popisující tvorbu webových aplikací užívajících technologii rastrových či vektorových dlaždic ve vybraném prostředí. Postup při tvorbě aplikací nebyl jednotný a je podrobně popsán v kapitole 5. Po vytvoření aplikací bylo provedeno testování rychlosti nahrávání dat na různá úložiště a poté již bylo přistoupeno k testování aplikací z pohledu jejich výkonnosti. Oba druhy testování probíhaly na dvou různých místech s odlišnou rychlostí připojení k internetu, aby mohl být popsán vliv rychlosti připojení na testované postupy. Výsledky práce tak kromě vytvořených webových aplikací tvoří jejich srovnání jak z hlediska času přípravy aplikace, tak také rychlosti jejich načítání. V závěru byl sepsán text diplomové práce, zhotoven poster a vytvořeny webové stránky, na kterých jsou výsledky práce přístupné.