Cíle práce

Hlavním cílem této diplomové práce je automatizace postupu zpracování vstupních dat, které reprezentují značené trasy, z databáze OpenStreetMap (OSM) do typického provedení, kdy jsou značené trasy znázorňovány do podoby linií vedoucích podél linie komunikace například v turistických mapách. Během tvorby této práce je kladen důraz na co největší optimalizaci a ušetření času pro uživatele GIS, kteří se s touto problematikou často setkávají.

Rozpracování cílů

Pro teoretickou a praktickou část diplomové práce byly vymezeny níže zmíněné cíle. Teoretická část se zabývá zjištěním stavu řešené problematiky, konkrétněji pak rešerší variant značení jak turistických, tak i dalších tras v mapách. Dále jsou v této části zkoumány možnosti vykreslení tras a potenciální způsob řešení problematiky. Rešerše se také zabývá možnostmi a knihovnami programovacího jazyka Python a podpůrných knihoven, díky kterým bude provedena praktická část této práce.

Praktická část se zabývá algoritmizací postupu metody znázornění značených tras podél linií komunikací v desktopovém prostředí GIS. Postupně je zde popisován proces algoritmizace a optimalizace provedení. V praktické části je také řešena možnost vykreslování liniových tras, kdy jsou data z databáze OSM zobrazena s vrstvou komunikací z jiného zdroje dat, které nemají totožný průběh. Příkladem jiného zdroje dat je topografická databáze Data50.

Výsledkem této práce je Python skript pro ArcGIS Pro, který umožní uživatelům optimálně nastavit offsety pro vstupní vrstvu značených tras při tvorbě map v desktopovém prostředí. Finální funkcionalita scriptu je demonstrována tvorbou ukázkové turistické mapy oblasti Hrubého Jeseníku.

Součástí zásad pro vypracování této práce je také povinná příloha v podobě posteru ve formátu A2 a tvorba webové stránky v souladu s pravidly dostupnými na stránkách Katedry geoinformatiky Univerzity Palackého v Olomouci.

Metody a pustupy zpracování

Časový harmonogram

Před výběrem metod, programů, dat, stanovení harmonogramu a postupu zpracování je stěžejní samotná rešerše dané problematiky. Rešerše je rozdělena na čtyři dílčí témata: turismus, turistické mapy, programovací jazyk Python a optimalizace a současné možnosti vizualizace. Rešerše je tedy zaměřena hlavně na úvod do turismu a značení tras jak v reálném světě, tak v hlavně v mapách samotných. Vizualizace turistických tras na mapách je rovněž důležitým tématem rešerše této práce. Dále je porovnáván programovací jazyk Python s alternativními programovacími jazyky. Python je také vybrán jako nejvhodnější pro tvorbu této práce, jelikož je úzce spjatý s ArcGIS Pro. Poslední podkapitola je pak věnována současným možnostem vizualizace, kde je také popsána problematika, kterou se tato práce zabývá. Během zpracování rešerše byl také stanoven časový harmonogram zpracování této diplomové práce. S časovým harmonogramem byl zároveň naplánován rozsah práce a počet jednotlivých výstupů.

Použité metody

Práce byla zpracována jak v praktické, tak i v teoretické rovině. Součástí teoretické části této práce je například výše zmíněná rešerše, nebo pak také studium jazyka Python. Další stěžejní částí je studium dokumentací, a to nejen samotného Pythonu, ale hlavně knihovny ArcPy, jejích nástrojů a možností. Tato knihovna je součástí programu ArcGIS Pro a právě s pomocí Pythonu je možné vytvářet skripty a nástroje v běhovém prostředí programu. Další důležitou částí teorie jsou data z OpenStreetMap (OSM). Správné nastudování dokumentace a použití dat z OSM je pro praktickou část této práce stěžejní. Právě díky studování dokumentací byly vymezeny postupné kroky při tvorbě a vybrána data, která byla součástí řešení praktické části.

Praktická část této práce je z většiny tvořena programováním v jazyce Python v prostředí programu Visual Studio Code od firmy Microsoft. Tvořený skript je průběžně testován v Arcgis Pro. V prostředí tohoto programu byla vytvořena sada nástrojů (v ArcGIS Pro pod jménem toolbox), které byly testovány a laděny do finální podoby. Postupně byla testována funkcionalita nástrojů z výše zmíněné knihovny a výsledkem jsou tři nástroje, které jsou popsány v sekci vlastního řešení této práce, v jednom toolboxu. Mezi další kroky praktické části patřila tvorba ukázkových map. S pomocí vyvinutých nástrojů a správných dat z více datových zdrojů byly vytvořeny mapy demonstrující funkcionalitu jednotlivých nástrojů z toolboxu. Design a doladění výsledných map byly následně provedeny v programu Adobe Illustrator, jež je součástí balíčku Adobe Creative Cloud. Součástí praktické části práce je rovněž tvorba posteru a webových stránek.

Použitá data

Jako hlavní datový zdroj pro tuto práci je OSM, tedy databáze volně dostupných geografických dat, která jsou editována a validována samotnými uživateli. Data byla primárně stahována v programu QGIS – open source, multiplatformní geografický systém. Do QGISu byla přidána extenze QuickOSM, která umožnuje uživateli stahovat data z OSM přímo počítače jako dočasné vrstvy, které mohou být poté uloženy na trvalo. Jelikož jsou součástí této práce primárně data o značených turistických trasách, byl pro stahování dat použit takzvaný tag s hodnotou „route“, který zajistil stažení části dat z databáze OSM. Data s tagem „route“ obsahují potřebné atributy (route, colour a osmc_symbo) pro vytvořené nástroje v ArcGIS Pro. Data byla tedy uložena jako shapefile a dále tvořila vstupní vrstvy pro testované nástroje.

Dalším datovým zdrojem je geodatabáze Data50 od ČÚZK. Tato databáze je poskytována formou otevřených dat od dubna roku 2019 ve formátech SHP. Její součástí je řada vrstev vhodných pro tvorbu jak podkladových, tak turistických map. V rámci tvorby byl využit Digitální model reliéfu České republiky páté generace (DMR 5G). Pro mapy velkých měřítek je tento model vhodný z důvodu rozměru pixelů, a tedy i rozlišení a přesnosti. V rámci nástroje, který takzvaně snapuje linie byla využita i další testovací data a vrstvy.

Použité programy

V rámci zpracování této práce byly využívány zejména dva programy. Prvním z nich je Visual Studio Code vyvíjený společností Microsoft. Tento program byl využíván k vytváření a editaci zdrojového kódu vyvíjených skriptů. Práce byla prováděna ve verzi 1.88.1. Visual Studio Code byl rovněž využit při tvorbě webových stránek o této diplomové práci.

Druhým hlavním programem, ve kterém byly vyvíjené skripty testovány, byl ArcGIS Pro od společnosti Esri (ve verzi 3.2.2). V prostředí programu byly tvořeny toolboxy a jednotlivé skripty byly postupně testovány s přibývající funkcionalitou.

K méně používaným programům při tvoření této práce se řadí QGIS ve verzi 3.16, v jehož prostředí byla, s pomocí pluginu QuickOSM (ve verzi 2.1.1), stahována data z databáze OSM.

Finální úpravy výsledné ukázkové mapy spolu s dalšími grafickými prvky byly prováděny ve verzi 2018 programu Adobe Illustrator, který se řadí do balíčku programů Adobe Creative Cloud. V Adobe Illustrator byla zároveň vyexportována mapa pro následný tisk a vytvořen poster.

Postup zpracování

Hlavní myšlenkou této práce je zjednodušení procesu tvorby turistických map se značenými trasami. Po předchozí bakalářské práci autora byl stanoven cíl a vymezena kritéria. Poté následovalo vymezení definice a zadání práce společně s rozpracováním rešerše dané problematiky. Společně se studováním dokumentací byly započaty práce na praktické části. V úvodu je také vyobrazen časový harmonogram práce. Po zpracování praktické části práce bylo přistoupeno k finalizacím, tedy tvorbě webu, posteru a tisku ukázkové mapy.

Výsledky

Hlavními výsledky této diplomové práce jsou skripty a nástroje na automatizaci zobrazení značených tras na mapách. V rámci příloh jsou tyto skripty k dispozici. V hlavní, tedy elektronické podobě jsou skripty a nástroje (doplněné o ukázkový project package) ke stažení na webu Katedry geoinformatiky UP v sekci „Pro studenty“ a následně „Diplomové práce“.

V rámci vyvíjení kódů byly následovány dílčí kroky popsané v kapitole 3. Nejdříve bylo nutné provést rešerši dané problematiky a postupně začít s testováním Python knihoven a jejich funkcionalit. Po provedení rešerše a testování knihoven bylo rozhodnuto, že jediná knihovna, která bude v rámci skriptů a nástrojů používána je ArcPy.

S postupným vývojem byly skripty testovány v prostředí AcrGIS Pro v rámci vytvořených nástrojů. Tyto nástroje umožňují importovat Python kód a po nastavení vstupních parametrů a filtrů fungují tak, jako klasické nástroje. Testování probíhalo na velkém množství dat, primárně ale na datech z databáze OSM, jejichž součástí jsou právě informace o barevně značených turistických trasách. Zároveň byly tvořeny i vlastní datové zdroje a nástroje byly testovány i na nich. Díky uživatelsky přívětivé možnosti stahovat data z OSM s pomocí QGIS a pluginu QuickOSM je možné zautomatizovat zobrazování značených tras na mapách.

Hlavním výsledkem této práce jsou dva skripty a jedna sada nástrojů určené pro ArcGIS Pro. V případě, že by uživatel nepoužíval prostředí ArcGIS Pro, má možnost použití pouze skriptů, ve kterých jsou popsány veškeré důležité informace o použití. Uživatelsky přívětivější je ale využití v rámci nástroje v ArcGIS Pro. Uživateli jsou zde zobrazovány nápovědy a zároveň jsou díky filtrům ošetřeny vstupní parametry tak, aby byla co největší šance úspěšného zakončení nástroje. I díky hláškám generovaným s pomocí funkcí knihovny ArcPy je uživatel informován o postupném průběhu skriptu. V případě chyby tedy uživatel rovnou ví, ve které části nástroje nastala chyba.


Výslednými hlavními skripty a nástroji tedy jsou:
• skript pro generování turistických tras společně s cyklostezkami,
• skript pro generování turistických tras společně s lyžařskými trasami,
• nástroj pro generování turistických tras společně s cyklostezkami,
• nástroj pro generování turistických tras společně s běžeckými trasami.

S pomocí těchto skriptů a nástrojů je možné v mapách v prostředí ArcGIS Pro generovat barevné turistické trasy společně s cyklistickými nebo běžeckými trasami. Právě z důvodu generování cyklistických a běžeckých tras byla zvolena tvorba tzv. letní a zimní varianty nástrojů.

V zadání práce je dále zmíněna i varianta, kdy je potřeba upravit průběh značených tras podle průběhu linií z druhé datové sady. I tato varianta byla nakonec zvážena. Byly vytvořeny skripty a nástroje, které po definování vstupních parametrů upravují průběh linií se značenými trasami a přichycují (snapují) jednotlivé body na body definované druhou vstupní vrstvou s pomocí vyvinuté funkce. Výsledku bylo docíleno tak, že se podél obou linií generují body, které jsou následně na sebe přichycovány, a nakonec je opět výsledkem linie, obsahující informace o značených trasách. Druhý skript je zároveň univerzální a není tedy nutné jej používat jen na data z OSM. Výsledné skripty byly později rovněž převedeny na nástroje v ArcGIS Pro a byly jim přidány nápovědy a hlášky informující o průběhu kódu.


Výslednými skripty a nástroji této sekce jsou:
• skript pro přichycení liniových dat z OSM na liniová data z druhé datové sady,
• univerzální skript pro přichycení liniových na liniová data z druhé datové sady,
• nástroj pro přichycení liniových dat z OSM na liniová data z druhé datové sady,
• univerzální nástroj pro přichycení liniových na liniová data z druhé datové sady.

Díky vývoji výše zmíněných nástrojů je možné je propojit s hlavními nástroji vytvořenými v rámci této diplomové práce. V případě, že je potřeba nejdříve vstupní data značených tras přichytit na jiný datový zdroj, lze spustit nástroj, který předpřipraví data pro nástroj na generování značených tras. Vznikly tak nástroje, které nemusí být nutně spjaty jedny s druhými, ale je možné je využít i samostatně, a pro velké množství dat. I přes to, že jsou nástroje primárně cíleny na data z OSM, je možné je využít i pro ostatní datové zdroje v případě splnění podmínek důležitých pro běh nástrojů.

Výsledkem této práce jsou tedy čtyři skripty a dvě sady nástrojů pro ArcGIS Pro, z nichž každá sada obsahuje dva nástroje. Zároveň byl vytvořen i ukázkový ArcGIS Pro project package s testovacími daty a sadami nástrojů. Spolu s výsledky byla vytvořena i ukázková mapa v měřítku 1 : 40 000 zobrazující oblast Hrubého Jeseníku společně se značenými turistickými trasami a cyklostezkami. V této mapě je demonstrována funkcionalita dvou vyvinutých nástrojů. Vstupní liniová data z OSM byla přichycena na vrstvu Data50 a následně byly vygenerovány trasy s pomocí hlavního nástroje na tvorbu barevně značených turistických tras. Mapa byla po finalizaci vytištěna a je k dispozici jako volná příloha společně s možností zobrazení na stránkách Katedry Geoinformatiky Univerzity Palackého.

V rámci povinných příloh k této diplomové práci byl vytvořen a odevzdán i web stručně informující o diplomové práci společně se skripty, nástroji, textem práce a mapou ke stažení. Poslední povinnou přílohou byl pak poster o formátu A2.

Závěr

Hlavní myšlenkou a cílem zpracování této diplomové práce bylo zlepšení procesu tvorby turistických map. Díky tvorbě nástrojů popsaných v této práci je možné identifikovat barvy značených tras a automaticky je vložit do mapy za sebe v daném pořadí. Touto prací byla vyřešena problematika generování barevně značených tras paralelně s pomocí kombinatoriky a proces tvorby těchto tras byl signifikantně zrychlen. Díky databázi OSM, jejíž součástí jsou i data o značených trasách bylo možné dosáhnout stanovených cílů pro tuto práci a vyvinout výsledné nástroje.

PPráce byla rozdělena na teoretickou i praktickou část, kde teoretická tvořila hlavně studování dat, Pythonu a knihoven pro následnou praktickou část. V té byly vyvíjeny skripty, které byly později vloženy do prostředí ArcGIS Pro, kde z nich byly vytvořeny nástroje pro automatizaci výše zmíněných procesů.

Díky vyvinutým nástrojům je tedy možné nejen zobrazovat správně barevně značené trasy v mapách, ale také kombinovat liniové vrstvy z různých datových zdrojů, jejichž průběhy jsou v mnoha případech rozdílné.

Tato práce poskytuje vědecký přístup k řešení problémů v rámci vizualizace značených tras v mapách, a to jak v desktopových, tak tištěných. Právě díky programátorských a geoinformatických komunit bylo možné tuto práci zpracovat. Podrobně zpracované dokumentace a ukázky stály rovněž za úspěchem dosažení kýženého výsledku při tvorbě skriptů a nástrojů.

Limitace a prostor ke zlepšení jsou rovněž součástí této práce. Pro lepší fungování nástrojů by bylo potřeba vyvinout nástroj, který dokáže měnit, odkud a kam byla linie tvořena. V určitých případech je možné že se turistické a cyklistické trasy mohou generovat přes sebe, a to hlavně v případě rozdílných datových zdrojů. Linie jsou totiž generovány na základě informace, zda se mají generovat na levé, nebo pravé straně linie. Další limitací je nástroj „RepairSelfIntersection“, který není součástí základní verze ArcGIS Pro, a proto musí být licencován za poplatek. Jako další vylepšení by tedy bylo možné vyvinout nástroj, který opraví linie, jenž protínají samy sebe.

Závěrem je nutné je vyzdvihnout hlavně všestrannost skriptů a nástrojů. Díky dvěma možnostem vizualizace je možné uspokojit požadavky uživatele. Původně měly tyto nástroje být jen pro data z OSM, ale díky dalšímu vývoji bylo možné přijít i s řešením pro datové sady, které jsou svou strukturou dat a atributů jiné než data OSM.

Výsledkům bylo dosaženo také díky skvělé funkcionalitě knihovny ArcPy a dobré provázanosti s ArcGIS Pro. Vytvořené nástroje jsou pro výsledného uživatele mnohem přívětivější, než používání skriptů nebo Python okna.

Nejdůležitější myšlenkou celé práce ale bylo přispění geoinformatické komunitě s novými nástroji pro zpracování a zobrazování značených tras v mapách. Výsledné nástroje a skripty by mohly posloužit jako základní stavební kameny dalších nejen akademických prací. Potenciál vyvinutého nástroje pro přichycení linií z různých datových zdrojů je možná ještě větší než potenciál nástroje pro tvorbu barevně značených tras. S rozvojem turismu a značených tras má ale i hlavní nástroj velký potenciál do budoucna.

Summary

The main idea and goal of this thesis was to improve the process of creating tourist maps. Thanks to the creation of the tools described in this thesis, it is possible to identify the colours of the marked routes and automatically insert them into the map in a given order. With this work, the problem of generating colored routes side by side with the help of combinatorics has been solved and the process of creating marked routes has been significantly accelerated. Thanks to the OSM database, of which the marked route data is a part, it was possible to achieve the goals set for this work and to develop the resulting tools.

The work was divided into theoretical and practical parts, where the theoretical part consisted mainly of studying data, Python and libraries for the subsequent practical part. In the latter, scripts were developed and later inserted into the ArcGIS Pro environment, where they were used to create tools to automate the aforementioned processes.

Thanks to the developed tools, it is therefore possible not only to display correctly colour-coded routes on maps, but also to combine line layers from different data sources, which in many cases have different trajectories.

This work provides a scientific approach to solving problems in the visualization of marked routes in maps, both desktop and printed. It is thanks to the programming and geoinformatics communities that this work was made possible. Detailed documentation and demonstrations were also behind the success of achieving the desired result in the development of the tools.

Limitations and room for improvement are also part of this work. For better functioning of the tools, it would be necessary to develop a tool that can change where the line was formed from and to. In some cases, it is possible that hiking and cycling routes can be generated over each other, especially if the data sources are different. This is because the lines are generated based on the information whether they should be generated on the left or right side of the line. Another limitation is the "Repair Self Intersection" tool, which is not included in the base version of ArcGIS Pro and therefore must be licensed for a fee. Therefore, as a further enhancement, a tool could be developed to repair lines that intersect themselves.

In conclusion, the versatility of the scripts and tools should be highlighted. Two visualization options make it possible to satisfy user requirements. Initially, these tools were to be only for OSM data, but thanks to further development it was possible to come up with solutions for datasets that are different in their data structure and attributes than OSM data.

The results were also achieved thanks to the great functionality of the ArcPy library and good interfacing with ArcGIS Pro. The tools created are much more user-friendly for the resulting user than using scripts or Python windows.

But the most important idea of the whole work was to contribute to the geoinformatics community with new tools for processing and displaying marked routes in maps. The resulting tools and scripts could serve as building blocks for other works, not only academic ones. The potential of the developed tool for snapping lines from different data sources is perhaps even greater than the potential of the tool for creating coloured lines. However, with the development of tourism and marked routes, the main tool also has great potential for the future.