Rasterová algebra

Nástroj srovnatelný s topologickými překryvnými operacemi vektorových dat. Umožňuje kombinovat rastrové vrstvy pomocí různých matematických operací. Tyto matematické operace se vykonávají buď na jedné nebo více vrstvách a jejich výstupem je vrstva nová. Rastrová algebra se často používá pro prostorové modelování a analýzu.

Operátory dělíme na matematické, statistické, relační a logické operátory (+, -, *, /, >, <, >=, <=, <>, mod, div, and, or, not, …).

Funkce se dělíme na:

Lokální
na individuální buňce, nová hodnota vzniká z jedné rastrové buňky jedné nebo více vrstev.
Fokální
v definovaném okolí, nová hodnota vzniká v rámci definovaného okolí buňky (např. jako výsledek operace nad „oknem“ 3x3 pixely)
Zonální
na specifické oblasti, nová hodnota vzniká ze zóny definované v jiné vrstvě.
Globální
používají se všechny buňky informační vrstvy (např. analýzy povrchů).

RasterIO využívá pro uložení datový typ NumPy, což nám umožňuje s těmito datovými strukturami pracovat standardním způsobem a využívat i pokročilé nástroje pro analýzu obrazu, jako je Sciktit Image, Matplot lib, OpenCV a další.

V našem příkladu si ukážeme jednoduchou analýzu - výpočet indexu NDVI ze satelitních dat.

Poznámka

Normalizovaný vegetační index je poměr mezi viditelným červeným kanálem a blízkým infračerveným kanálem satelitních dat.

\[NDVI = (NIR - VIS) / (NIR + VIS)\]

Rastr z předchozího příkladu obsahuje barevné kanály (první je černený kanál, druhý infračervený). Na základě těchto dat vytvoříme nový soubor s vypočteným NDVI.

Neprve vytvoříme novou matici pro výsledné hodnoty, následně do tohoto pole uložíme výsledek výpočtu pro každý pixel. Pracujeme v prostředí NumPy, které práci s poli významně usnadňuje.

with rasterio.open('outputs/ndvi.tif', 'w', **meta) as dst:
   dst.write_band(1, ndvi.astype(rasterio.float32))
-0.94444442, 0.97435898

Výsledek uložíme do nově vytvořeného souboru. Data budou zkomprimována pomocí LWZ komprese a uložena v číselném formátu float64 (rastrový soubor obsahuje čísla s plovoucí desetinnou čárkou a záporné hodnoty). Výsledný soubor ve formátu GeoTIFF bude mít pouze jeden kanál.

../../_images/ndvi.png

Výsledný soubor s NDVI indexem.