GISportal
Jedeme i díky Vám

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.

Obr. Prostredie 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 FionaShapely, 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 FionaShapely 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.

Obr. Obalová zóna okolo diaľnice, ktorá pretína CHKO České stredohorie. Výstup je zobrazený v prostredí QGIS.

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.

Obr. Výsledný súbor s NDVI indexom zobrazený 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.

Obr. Reklasifikácia dát do užívateľom definovaných tried.

Ď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.

Obr. 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.

Obr. Výsledok rasterizácie CHKO zobrazený v prostredí QGIS.

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.

Share
Share