Rastrová data v QGIS Python API

Programování v GIS 4

Jan Caha

2026-10-26

Rastrová data

  • QgsRasterLayer - rastrová vrstva
  • QgsRasterDataProvider - interface pro poskytovatele rastrových dat
  • QgsRasterBlock - blok rastrových dat
  • QgsRasterIterator - iterátor přes rastrová data
  • QgsRasterFileWriter - zápis nových dat

QgsRasterLayer

  • třída pro rastrové vrstvy
  • přes něj se k datům nepřistupuje
  • funkce dataProvider() pro přistup k data provideru
  • na rozdíl od vektorových dat nemáme provider pro uložení dat v paměti, dočasné rastry se ukládají do dočasného adresáře (temp)

QgsRasterDataProvider

  • hlavní interface pro rastrová data
  • skrze něj se přistupuje k datům
  • funkce block() pro získání bloku dat
  • funkce writeBlock() pro zápis bloku dat (funkce setEditable())

QgsRasterBlock

  • blok rastrových dat
  • v podstatě 2D pole hodnot + doplňkové informace z data provideru
  • funkce value() pro získání hodnoty buď pomocí indexu, nebo dvojici souřadnic řádek, sloupec
  • funkce isNoData() pro zjištění zda hodnota odpovídá NoData hodnotě

QgsRasterIterator

  • iterátor přes rastrová data
  • na rozdíl od QgsRasterBlock není nutné provádět kontroly
  • startRasterRead() pro zahájení čtení (stopRasterRead() pro ukončení iterace)
  • funkce next() pro získání dalšího bloku dat
  • funkce setMaximumTileWidth() a setMaximumTileHeight() pro nastavení maximální velikosti čtecího bloku

QgsRasterFileWriter

  • inicializace názvem souboru
  • funkce setOutputProviderKey() a setOutputFormat()
  • funkce QgsRasterFileWriter::driverForExtension()
  • funkce createOneBandRaster()
  • funkce createMultiBandRaster()

QgsRasterCalculator

  • třída pro výpočty nad rastrovými daty
  • inicializace s řadou vstupních parametrů (viz příklad)
  • nejdůležitější parametr - výraz k vypočtení a seznam rastrových vstupů (QgsRasterCalculatorEntry)
  • další parametry se pojí s výstupním rastrem
  • provede výpočet a uloží výsledek do výstupního rastru, mimo to udržuje v paměti i případnou chybovou hlášku

QgsRasterCalculatorEntry

  • třída pro definici vstupních rastrů pro QgsRasterCalculator
  • obsahuje informace o:
    • názvu proměnné ve výrazu,
    • odkazu na rastrovou vrstvu
    • konkrétní číslo pásma

Dotazy?