Kartografické modelování III. Fokální a zonální funkce jaro 2015 Petr Kubíček kubicek@geogr.muni.cz Laboratory on Geoinformatics and Cartography (LGC) Institute of Geography Masaryk University Czech Republic Kartografické modelování Dělení funkcí mapové algebry Z hlediska oblasti ze které je počítána hodnota výsledné buňky dělíme funkce mapové algebry na : • Lokální - na individuální buňce, nová hodnota vzniká z individuální buňky jedné nebo více vrstev. • Fokální - v definovaném okolí, nová hodnota vzniká z definovaného okolí buňky. • 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. Kartografické modelování Lokální funkce ArcGIS • Lokální statistické funkce. • Kombinace více vstupních rastrů (Combine) • Nalezení počtu výskytů splňujících určitá kritéria - Equal To Frequency, Greater Than Frequency a Less Than Frequency. • Nalezení hodnoty splňující určitá kritéria - Popularity a Rank. • Nalezení polohy splňující určitá kritéria. Kartografické modelování Lokální statistické funkce • Vypočítá pro jednotlivé buňky statistiku z daného počtu rastrů. • Majority, Maximum, Mean, Median, Minimum, Minority, Range, Standard Deviation, Sum a Variety. • Mean - průměr • Vypočítá průměr z jednotlivých buněk vstupních rastrů. • Výsledek má vždy hodnotu „floating point.“ • OutRas = CellStatistics(["InRas1", "InRas2", "InRas3"], "Mean") Kartografické modelování Lokální statistické funkce • Majority – nejčastěji se vyskytující hodnota v jednotlivých buňkách. • Integer, floating point. • Pokud je více možných výsledků, pak NoData. • OutRas = CellStatistics([InRas1, InRas2, InRas3], "Majority") Kartografické modelování Lokální statistické funkce • Maximum (median, minimum, minority, range, standard deviation, sum) • Nejvyšší hodnota (stejně tak pro ostatní statistické funkce) • Integer, floating point – input=output • OutRas = CellStatistics(["InRas1", "InRas2", "InRas3"], "Maximum") Kartografické modelování Lokální statistické funkce • Variety – variabilita • Určí počet unikátních hodnot v jednotlivých vstupech a buňkách. • Výstupní rastr je vždy integer. • OutRas = CellStatistics([InRas1, InRas2, InRas3], "Variety") Kartografické modelování Kombinace více rastrů • Funkce Combine kombinuje několik vstupních rastrů a přiřadí novou hodnotu všem unikátním kombinacím jednotlivých buněk. Původní hodnoty jednotlivých rastrů jsou zapsány do atributové tabulky výstupního rastru. • Unikátní kombinace = nová hodnota. • Názvy vstupních rastrů jsou užity jako označení sloupců nové atributové tabulky a označují rodičovství nově vzniklých atributů. Kartografické modelování Combine OutRas = Combine([InRas1, InRas2]) Kartografické modelování Počet výskytů splňujících určitá kritéria •Kolikrát jsou hodnoty jednotlivých rastrů „odlišné“ od vstupu (ValRas). •Less than Frequency •Nepovinný rastr může specifikovat počet výskytů. •Výstupní rastr je vždy integer •OutRas = LessThanFrequency(ValRas, [InRas1, InRas2, InRas3] Kartografické modelování Hodnoty splňující určitá kritéria Popularity – pořadí n-tých výskytů – pozor na striktní pravidla počítání (NoData, všechny odlišné hodnoty, všechny stejné hodnoty). Vstupní rastr určuje pořadí (popularitu) hodnot (počet výskytů). OutRas = Popularity(ValRas, [InRas1, InRas2, InRas3]) Kartografické modelování Hodnoty splňující určitá kritéria • Rank Hodnoty vstupních rastrů jsou seřazeny podle buněk, výstupní hodnota pořadí je určena pomocným rastrem (pořadí výskytů). • OutRas = Rank(ConstRas, [InRas1, InRas2, InRas3]) Kartografické modelování Nalezení polohy splňující určitá kritéria. • OutRas = HighestPosition([InRas1, InRas2, InRas3]) • OutRas = LowestPosition([InRas1, InRas2, InRas3]) Kartografické modelování Výběr pomocí podmínky – conditional • Kontroluje výsledné hodnoty na základě podmínek, které jsou aplikovány na vstupní hodnoty. • Podmínky lze uplatnit na atributy či polohu buněk. • Dotaz (podmínka) na atributy explicitně identifikuje všechny buňky, které jsou hodnoceny jako „True“. • True buňkámjsou následně přiřazeny nové hodnoty (případně NoData). • False buňkám jsou přiřazeny hodnoty podle podmínky. • Nástroje Con, Pick Kartografické modelování Con • Provede podmínečný výběr na základě požadavku a splnění podmínky. • OutRas = Con(InRas1, 40, 30, "Value >= 2") Kartografické modelování Pick • Hodnota z pozičního rastru je použita k určení toho, z jakého vstupního rastru má být použita hodnota pro výstupní rastr. • OutRas = Pick(InRas1, [InRas2, InRas3]) Kartografické modelování Fokální funkce • Fokální - v definovaném okolí, nová hodnota vzniká z definovaného okolí buňky. • Fokální funkce se dělí na statistické funkce a na analýzy proudění. Většinou se provádějí na okolí 3x3 sousedních buněk, ale systémy často umožňují definovat sousedské okolí podle uživatele. • – Ze statistických funkcí jde o stanovení např. aritmetického průměru v okolí, sumy, odchylky, min, max, rozpětí a další. • – U analýz proudění se počítá směr proudění (maximální gradient z hodnot dané buňky do okolních), rychlost proudění a další. Analýzy proudění jsou základem většího počtu dalších pokročilých analýz, jako jsou hydrologické analýzy, modelování eroze. Kartografické modelování Statistické funkce - zpracování • focalSum (3x3) • NoData ignorováno (pokud není všude). Kartografické modelování Vyhledávací oblast • Různé tvary oblasti • Možnost využití masky/kernelu a případných vah Kartografické modelování Příklad fokálních statistických funkcí Kartografické modelování Blokové operace • Nepřekrývající se okno • Každá buňka ve vymezeném okolí dostane hodnotu získanou danou funkcí. Kartografické modelování Příklad blokové operace OutRas = BlockStatistics(InRas1, NbrRectangle(3,3,MAP), "MAXIMUM", "") Dostupné funkce: Mean, Maximum, Minimum, Range, STD, Sum. Kartografické modelování Analýzy proudění – Focal Flow • Využívá pohybující se okno 3x3 k určení toho, které okolní buňky proudí do centrální buňky. • Buňka splňující tuto podmínku musí mít vyšší hodnotu, než centrální buňka. • Pokud žádná buňka neproudí do středu =0 • Hodnoty 1 – 128 (mocniny dvou). Kartografické modelování Příklad • Porovnání hodnoty okolních buněk. • Určení směru proudění a označení buněk. • Výpočet hodnoty podle pozice. Kartografické modelování Užití FocalFlow • OutRas = FocalFlow(InRas1) • Možnost užití prahové hodnoty (threshold) Kartografické modelování Pohyblivé okno a hranice rastru Nedostatek dat pro výpočet hodnot na hranici rastru • řešení: (a) rozšíření studijní oblasti  • (b) Pohyblivé okno a modifikace výpočetního algoritmu (kernel) v rozích (2x2; 1/4) a hranách (2x3; 1/6) Kartografické modelování Zonální funkce Zonální funkce - na specifické oblasti, nová hodnota vzniká ze zóny definované v jiné vrstvě. Možné rozdělit na statistické a geometrické (area). • U statistických funkcí jde o statistické zpracování hodnot analyzované informační vrstvy, které patří do zóny definované v druhé informační vrstvě. Statistické funkce mohou být opět průměry, sumy, min, max. • Mezi geometrické funkce patří např. stanovení plochy, obvodu a dalších charakteristik každé zóny. Kartografické modelování Statistické zonální funkce • Výstupy mohou být rastr nebo tabulka • Zóna může být definována tabulkou nebo rastrem • Vstupní rastr je vždy jenom rastr. • Fce - area, minimum, maximum, range, mean, standard deviation, sum, variety, majority, minority a median. Kartografické modelování Příklad – zonální směrodatná odchylka OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "STD") Kartografické modelování Zonální statistika jako tabulka • Výstup ve formě tabulky • ZonalStatisticsAsTable(ZoneRas, "Value", ValRas, OutTable, "ALL") Kartografické modelování Určete maximální a průměrný erozní potenciál pro jednotlivé kategorie sklonu svahu Kartografické modelování Zonální geometrické funkce • Pro jednotlivé zóny vypočítává geometrické charakteristiky - plocha,obvod, tloušťka (nejnižší bod v zóně), centroid… • Obvod – jak vnitřní, tak vnější hranice (polygon s otvorem), sčítání všech hran. • OutRas =ZonalGeometry(InRas1,"VALUE","PERIMETER") Kartografické modelování Zonální geometrie jako tabulka ZonalGeometryAsTable(InRas1,"VALUE",Out_Geom,1) Kartografické modelování Najděte PLOCHU zastavěného území pro jednotlivé kategorie sklonu svahu