Tvorba geoprocessingových skriptů v jazyku Python

Automatizací složitého nebo časově náročného nebo opakovaně prováděného zpracování geodat pomocí skriptů v jazyku Python lze zefektivnit a zjednodušit pracovní postupy při práci s GIS. V tomto kurzu se naučíte využívat ve skriptech balíček ArcPy – rozšíření jazyka Python, které vytvořila Esri pro práci s objekty a nástroji ArcGIS a které můžete využívat pro automatizaci úloh v oblasti správy dat, editace prvků, analýzy dat a správy mapových dokumentů. Rovněž se naučíte sdílet své pracovní postupy v podobě skriptových nástrojů s kolegy a ostatními uživateli.

Kurz je určen pro

specialisty GIS, zpracovatele dat a další zkušené uživatele ArcGIS, kteří se chtějí naučit automatizovat každodenní úlohy, i pro ty, kteří chtějí vytvářet složitější skripty pro analýzu dat. Kurz je určen pro uživatele, kteří již mají alespoň základní zkušenosti s programováním i s jazykem Python. Začátečníkům v programování doporučujeme nejprve absolvovat jednodenní kurz Úvod do jazyka Python pro uživatele ArcGIS, kde se s tímto velmi snadno naučitelným jazykem seznámí a na praktických příkladech při práci s ArcGIS for Desktop získají první zkušenosti s programováním.

Cíle kurzu

Absolventi kurzu budou znát/umět:

  • základy jazyka Python,
  • možnosti využití skriptů v prostředí ArcGIS pro zpracování prostorových dat,
  • ve skriptech využívat geoprocessingové nástroje ArcGIS,
  • používat základní funkce a objekty potřebné pro správu a vytváření dat pomocí skriptů,
  • pracovat ve skriptech s geometrickou složkou prostorových dat,
  • používat modul mapping pro práci s mapovými dokumenty,
  • postupy pro dosažení správné syntaxe skriptu a pro ošetřování chyb vzniklých během jeho běhu,
  • vytvářet ze skriptů uživatelské skriptové nástroje v prostředí ArcToolbox a sdílet je prostřednictvím geoprocessingových balíčků.

Software použitý pro výuku kurzu

Využívat skripty a interaktivní prostředí jazyka Python lze ve všech licenčních úrovních ArcGIS for Desktop. Pro praktická cvičení je v tomto kurzu používán ArcGIS 10.2.1 for Desktop v licenci Advanced, Python 2.7.5 a vývojové prostředí PyScripter 2.5.3.

Probíraná látka

  • Balíček modulů arcpy: moduly, třídy a funkce, použití balíčku arcpy v aplikaci ArcMap, použití arcpy v prostředí jazyka Python (IDLE (Python GUI), PyScripter, okno Python).
  • Získání informací o vlastnostech geodat: získání popisu třídy prvků a rastru a využití získaných informací pro další zpracování.
  • Získání seznamů objektů: sada funkcí pro získání seznamu pracovních oblastí, tříd prvků, tabulek, rastrů atd., zpracování získaného seznamu.Práce s jednotlivými řádky tabulky: čtení tabulky, aktualizace hodnot v tabulce, přidávání záznamů do tabulky, resp. prvků do třídy prvků.
  • Práce s vrstvami a tabulkami: vytvoření vrstvy a pohledu na tabulku za běhu skriptu, nastavení podmnožiny dat, nastavování vlastností polí ve vrstvě, automatizované sestavování SQL dotazů pro definici podmnožiny dat nebo pro výběry podle atributů, atributové a prostorové výběry ve skriptu.
  • Práce s geometrickou složkou geodat: čtení geometrických vlastností prvků i jejich souřadnic, aktualizace/změny souřadnic prvků, vytváření nových prvků skriptem, vytvoření reprezentace třídy prvků v paměti a její využití v geoprocessingových nástrojích.
  • Spouštění skriptů jako nástrojů v okně ArcToolbox: zadání parametrů při spuštění skriptu, přidání skriptů do okna ArcToolbox, nápověda a dokumentace skriptového nástroje.
  • Ladění skriptů: postup při ladění, vyhledávání chyb v syntaxi.
  • Ošetřování výjimek a chyb vzniklých při běhu skriptu: použití konstrukce try:...except:, Exception as e, funkce arcpy.ExecuteError a modulu traceback.
  • Automatizace práce s mapovými dokumenty: přehled funkcí modulu arcpy.mapping a možnosti jejich využití pro hromadné zpracování mapových dokumentů i pro práci s aktuálně otevřeným dokumentem, práce s Řízenými mapovými listy.

Předpokládané vstupní znalosti:

Předpokládá se, že účastníci před absolvováním tohoto kurzu mají znalosti práce se systémem ArcGIS na úrovni kurzu ArcGIS 2: pracovní postupy

Dále se předpokládají alespoň elementární znalosti principů programování a základní znalost syntaxe jazyka Python.

Účastníkům, kteří dosud nemají vůbec žádné znalosti a zkušenosti s programováním v jakémkoliv programovacím jazyku, doporučujeme nejprve získat základní znalosti a první zkušenosti s jazykem Python v kurzu Úvod do jazyka Python pro uživatele ArcGIS nebo z běžně dostupných učebnic tohoto jazyka (výše zmíněný úvodní kurz doporučujeme z toho důvodu, že z velmi obsáhlého jazyka vybírá ty jeho vlastnosti a funkce, které mají bezprostřední využití v systému ArcGIS a jsou přístupné i začátečníkům v programování).