Kartografické modelování II – Mapová algebra – obecné základy a lokální funkce jaro 2016 Petr Kubíček kubicek@geogr.muni.cz Laboratory on Geoinformatics and Cartography (LGC) Institute of Geography Masaryk University Czech Republic Kartografické modelování Grafická reprezentace vhodného místa Kartografické modelování Předpoklady – podmínky užití • Pravoúhlá soustava čtvercových buněk • Kategorie, bool, celá čísla, reálná, vektory • No data Kartografické modelování Změna velikosti buňky - resampling • Resamplování – harmonizace buněk (velikost,poloha) – Nejbližší soused (nearest 1) – ztráta, diskrétní – Převládající (majority 1) – zhlazení, diskrétní – Bilineární (4) – zhlazení, souvislá – Kubická konvoluce (16) – zhlazení, souvislá. Kartografické modelování ASCII to Grid • NCOLS xxx • NROWS xxx • XLLCORNER xxx • YLLCORNER xxx • CELLSIZE xxx • NODATA_VALUE xxx • row 1 • row 2 • . • . • row n Kartografické modelování RAVE - bod Vstup (vektor) výstup (rastr) Kartografické modelování Bod Kartografické modelování RAVE - Linie Nástroj Polyline to Rastr Metody: – MAXIMUM_LENGTH – MAXIMUM_COMBINED_LENGTH • Priority Kartografické modelování Kartografické modelování RAVE - Plocha Tři základní metody: • CELL_CENTER - hodnota nacházející se ve středu buňky. • MAXIMUM_AREA – největší souvislá plocha v buňce. • MAXIMUM_COMBINED_AREA – největší sečtená plocha v buňce (i z více nesouvisejících ploch). • Respektovány pravidla hranice (prvek=buňka) • Priorita podle FID Kartografické modelování Kartografické modelování No Data • Pokud je hodnota buňky definována jako prázdná (NoData), znamená to, že tato buňka nenese žádnou informaci o prostoru, který reprezentuje. Zacházení s tímto druhem hodnot se podstatně liší. Buňky s prázdnou hodnotou mohou být zpracovány dvojím způsobem: – Přiřazením prázdné hodnoty buňce výstupního rastru, pokud existuje prázdná hodnota této polohy v jakémkoli vstupním rastru. V tomto případě se to týká vstupních rastrů zpracovaných lokálními funkcemi . V případě fokálních funkcí se prázdná hodnota objeví v místech, kde se v okolí zpracovávané buňky vyskytuje prázdná hodnota. V případě zonálních funkcí by se jednalo o zónu. – Druhou možností je ignorování prázdné hodnoty a provedení výpočtu pouze s existujícími hodnotami. Tato možnost nese určité riziko, protože výstupní hodnoty nesou určitou nepřesnost plynoucí z toho faktu, že nemáme žádné informace o buňce nesoucí prázdnou hodnotu. • 0 je validní hodnota • 999 obvykle použito pro No data Kartografické modelování Bod na hranici rastru či buňky • Umístění – viz grafika • Pro prvek na hranici užijte buňku nad prvkem, pokud tam je. • Pro prvek na hranici užijte buňku nalevo, pokud tam je. Kartografické modelování Struktura jazyka MA Mapová algebra používá objekty, činnosti a kvalifikátory činnosti. Ty mají obdobné funkce jako podstatná jména, slovesa a příslovce. • Objekty slouží k uložení informací, nebo jsou to vstupní hodnoty. Jako objekty se používají rastry, tabulky, konstanty, … • Činnosti jsou příkazy jazyka (operátory a funkce) vykonávají operace na objektech: – Operátory jsou obvyklé matematické, statistické, relační a logické operátory (+, -, *, /, >, <, >=, <=, <>, mod, div, and, or, not, …). – Funkce mapové algebry se dělí na lokální, fokální, zonální a globální. Kartografické modelování Operace na jedné a více vrstvách • Z hlediska počtu zpracovávaných vrstev lze operace mapové algebry dělit na operace s jednou nebo více vrstvami. – Na jedné vrstvě (unární) jsou to nejčastěji skalární operace jako je připočítávání konstanty, násobení, atp. Jako příklad může posloužit tvorba 2x převýšeného DMR pro vizualizaci ve 3D. – Na dvou vrstvách (binární) - porovnání – Na více vrstvách (n-ární) jsou to operace jako sčítání vrstev (min, max), které se vykonávají s prostorově odpovídajícími si buňkami. 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í (Tomlin – Inkrementální) používají se všechny buňky informační vrstvy. Kartografické modelování Lokální funkce Lokální funkce se obvykle dělí na: • matematické( trigonometrické, exponenciální, logaritmické); • reklasifikační (viz cvičení); • Statistické; • selekční (výběrové). Kartografické modelování Reklasifikační funkce • Mění hodnotu jednotlivých buněk na alternativní hodnoty pomocí různých metod. – Look up table. – Reklasifikace pomocí individuálních hodnot. – Reklasifikace pomocí tříd. – Shlukování do intervalů či ploch. Kartografické modelování Look up table • Vytváří nový rastr pomocí vyhledávání hodnot v pomocné tabulce a definovaném sloupci. • OutRas = Lookup(InRas1, "Category") Kartografické modelování Reklasifikace pomocí individuálních hodnot • Mění hodnoty v poměru jedna k jedné na základě definovaných pravidel. Kartografické modelování Reklasifikace pomocí tříd (range of values) • Změna počtu či hodnoty tříd. • Př. 0 – 9 =1; 20 – 30 =5; 10 – 19 = 10 • Pro souvislá data – není nutné definovat všechny hodnoty! • Nástroj požaduje pouze určení spodní a horní hranice hodnot. Všechny hodnoty v rozmezí jsou reklasifikovány. • Pozor na mezní hodnoty – potřeba se seznámit s pravidly konkrétního SW. Kartografické modelování Kartografické modelování Shlukování do intervalů či ploch • Rozmezí hodnot je reklasifikováno do: – stejných hodnotových intervalů, – stejných výsledných ploch – pomocí přirozených hranic (natural breakes). • Nástroj Slice v ArcGIS. • „Tematické mapování v rastru“. Kartografické modelování Kartografické modelování Lokální funkce ArcGIS - statistické • 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. • Každá unikátní kombinace je označena novou hodnotou. • 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. 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. • 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ám jsou 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])