GeoPython – report zo školenia organizovaného skupinou GISMentors
V dňoch 11. – 12.6.2020 sa uskutočnilo online školenie s názvom „GeoPython pro začátečníky“. Školenie viedla dvojica lektorov zo skupiny GISMentors: Jáchym Čepický a Jan Růžička. Ďalší lektor zo skupiny GISMentors Martin Landa, ktorý taktiež školí „GeoPython“ bol online k dispozícii. Skupina GISMentors predstavuje nezávislé združenie školiteľov v oblasti GIS a open source riešení. Organizačne skupinu zaisťuje firma OpenGeoLabs s.r.o. Lektori ponúkajú širokú paletu kurzov, ako napr. úvod do GIS, QGIS, PostGIS, GeoServer, GeoPython a pod. Ja osobne som si vyhliadol posledný menovaný kurz.
Ako to teda celé prebiehalo? Ako už samotný názov školenia („GeoPython“) napovedá, ide o využitie jazyka Python v GISáckych úlohách. Programovací jazyk Python je v GISáckej komunite obľúbený a to najmä vďaka množstvu knižníc/nástrojov (napr. GDAL, Shapely, Fiona, Rasterio, MapServer GeoServer gsconfig, OWSLib, PyWPS) a širokej podpore na desktopoch (napr. QGIS – pyqgis, GRASS GIS – pygrass, Esri ArcGIS – arcpy).
Školenie bolo obsiahnuté v dvoch 4-hodinových blokoch, na ktorých sa online stretli účastníci z rôznych útvarov (napr. z ČHMÚ, KGI ÚPOL, ÚH SAV a ďalšie). Ako platformu pre školenie lektori zvolili Google Meet.
Samotnej práci predchádzala inštalácia jazyka Python a jeho potrebných knižníc. Po úvodných inštaláciách sa školenie mohlo začať. Prvý deň bol zameraný na využitie jazyka Python pri práci s vektorovými dátami. Ako prvý sa predstavil Jáchym Čepický, ktorý demonštroval prácu s knižnicami Fiona a Shapely, ktoré sú vhodné pri práci s vektorovými dátami. Knižnica Fiona nám umožňuje vektorové dáta premapovať do štruktúry GeoJSON a rovnaké štruktúry zapísať späť do výstupných súborov. Pomocou knižnice Shapely môžeme geometriu/zhluk čísel previesť na objekty a riešiť s nimi topologické operácie.
Nadobudnuté vedomosti s knižnicami Fiona a Shapely sme ďalej premietli do riešenia komplexnej úlohy. Táto pozostávala z hľadania oblastí, ktorých sa dotkla výstavba diaľnice D8 z Prahy do Drážďan. Cieľom bolo zistiť, ako bude vyzerať oblasť 200 metrov od diaľnice (t.j., aké územie/zóny to zasiahne a pod.). V rámci pracovného postupu sme si vyskúšali spustiť Pythonovský kód, ktorý vytvoril obalovú zónu okolo diaľnice a urobil prienik všetkých geometrií. Výsledok sme si následne zobrazili v QGISe.
V nasledujúcom Jan Růžička predstavil knižnicu OWSLib. Táto knižnica môže byť nápomocná hlavne pre tých, ktorí budú chcieť automatizovane spracovávať výstupy webových služieb (napr. WMS, WFS, WCS WPS a ďalšie), ktoré sú v súlade s OGC špecifikáciami. OWSLib umožňuje pripojenie k službám a prácu s nimi z pozície klienta a to bez ohľadu na serverovú implementáciu. Ďalej bola na programe práca s knižnicou OGR (GDAL). Táto knižnica sa používa najmä pri konverzii medzi vektorovými formátmi. Taktiež ju môžeme použiť aj pri práci s geoprvkami, geometriou, atribútmi.
Druhý deň bol zameraný na využitie jazyka Python pri práci s rastrovými dátami. Jáchym Čepický predviedol prácu s knižnicou Rasterio, ktorá pracuje s objektami knižnice NumPy. Na pozadí používa Rasterio knižnicu GDAL. V rámci rastrovej algebry sme sa pomocou jazyka Python a potrených knižníc pozreli na výpočet NDVI (Normalizovaný vegetační index – indikátor, ktorý ukazuje prítomnosť zelenej vegetácie v objekte/na snímke) zo satelitných dát. Výsledok sme zobrazili v prostredí QGIS.
Následne Jáchym v jazyku Python predviedol reklasifikáciu (priradenie nových hodnôt vstupným dátam) dát do užívateľom definovaných tried. V našom prípade išlo o identifikáciu vodných plôch.
Ďalšia časť bola venovaná knižnici GDAL. Táto knižnica podporuje viac než 140 rastrových GIS formátov. Pod vedením Jana Růžičku sme si v jazyku Python vyskúšali príklad vytvorenia nového súboru z matice hodnôt.
V nasledujúcom sme si v jazyku Python vyskúšali rasterizáciu vektorových dát (prevod vektorových dát do rastrovej podoby). Výsledok sme zobrazili v QGISe.
Na záver sa ešte lektori zmienili o spúšťaní Pythonu priamo v QGISe, vytvorení pluginov a pod. Nedá mi ešte nespomenúť, že počas celého školenia lektori využívali šikovný nástroj Codepile, ktorý umožňuje zdieľať vytvorené kódy.
Z môjho pohľadu bolo školenie prínosné, zaznel kopec zaujímavých a užitočných informácií, či už k Pythonu, alebo jednotlivým knižniciam. Všetky materiály (návody, dáta a pod.) sú k dispozícii tu.
Na záver už len poďakovanie lektorom za kvalitne pripravené školenie. Záujemcom o GIS určite školenia od GISMentors odporúčame.
Poznámka redakcie: GISMentors.cz poskytli redaktorovi GISportalu účasť na školení zdarma. Redaktor ďakuje skupine GISMentors za umožnenie školenia a tvorbu tohto príspevku.