Úvodní hodina

Programování v GIS 2

Jan Caha

2026-02-16

Náplň

  • programování v Pythonu s důrazem na GIS knihovny
    • GDAL - nízkoúrovňová knihovna pro práci s geodaty (přenos z C/C++ do Pythonu)
    • Fiona, Rasterio, Shapely - vysoko úrovňové knihovny pro práci s vektorovými, rasterovými daty a geometriemi (specializované pro Python)
    • Pandas, Polars - knihovny pro práci s datovými rámci (tabulková data)
    • Matplotlib, Plotnine - knihovny pro vizualizaci dat (grafy atd.)
  • management Pythonu pomocí Conda
  • standardní techniky programování v Pythonu

O čem to bude

  • programování skriptů v Pythonu (funkce, objekty, atd.)
  • funkcionální i objektově orientované programování
  • operace s geodaty v Pythonu
  • odchytávání výjimek
  • práce s GitHub

Dílčí úlohy

  • použitelný a čitelný kód
  • replikovatelné postupy
  • programovací techniky a postupy
  • debugování programů

V čem budeme pracovat

  • VS Code
  • extenze pro VS Code
  • nastavení etc. na stránce

Materiály

  • prezentace
  • kód z cvičení
  • dostupné na webu

Zakončení předmětu

  • písemka - klíčové položky programování v Pythonu a GIS knihoven, testové otázky (ano/ne, výběr z možností) + několik otevřených otázek
  • písemka na pochopení kódu - ukázky kódu (cca 10 - 15 řádku) s otázkami na pochopení kódu a jeho vysvětlení

AI

  • Github Copilot - umělá inteligence, která vám pomáhá psát kód (postup k získání na stránce předmětu)
  • výborná integrace do VS Code
  • využívá se pro:
    • doplňování kódu
    • návrhy funkcí a objektů
    • konzultace existujícího kódu
    • konzultace problémů
  • využití v tomto ohledu se doporučuje (postup pro získání)
  • neklade to menší nároky na programátora, možná dokonce naopak (vnímat omezení, potřeba kontrolovat výstupy)

GitHub Copilot

  • budeme s ním zacházet opatrně
  • nenahrazuje znalost programování
  • je v pořádku ✅: napovídání, vysvětlování, revize kódu
  • není v pořádku ❌: generování celých úloh (problém juniorních programátorů), používání AI jako jediného zdroje informací (lepší využívat i dokumentaci)
  • uživatel by měl stále být ten kdo má kreativní kontrolu a představu, co a jak daný program řeší a případně to upravovat směrem k lepším řešením
  • Pravidlo: “Rozumím tomu, co píšu” -pokud nedokážete vysvětlit, co váš kód dělá, pravděpodobně byste ho neměli používat

Dotazy?