Kartografické modelování II – Mapová algebra – obecné základy a lokální funkce jaro 2017 Petr Kubíček kubicek@geogr.muni.cz Laboratory on Geoinformatics and Cartography (LGC) Institute of Geography Masaryk University Czech Republic Kartografické modelování Kartografické modelování – historie • Tomlin (1983) – Map Algebra • Berry (1987) – Map-ematics • Ustanovili kartografické modelování jako přijatou metodiku pro zpracování geografických dat. Kartografické modelování Kartografické modelování – základní pojmy Kartografické modelování je základní způsob vyjádření a organizace metod, jejichž způsobem jsou prostorové proměnné (data) a prostorové operace (funkce) vybírány a používány v GIS. KM založeno na konceptech datových vrstev, operací a postupů. Nová vrstva je vytvořena ze stávajících vrstev pomocí operací mezi nimi, které jsou spojovány do postupů. • KM je implementováno v řadě GIS SW balíků – ArcGIS, ERDAS, GeoMedia GRID, GRASS, Idrisi. Kartografické modelování Přirozený jazyk Tomlin – rozpoznal roli přirozeného jazyka pro vyjádření logiky v prostorové analýze. Každá prostorová operace je sloveso, název (jméno) reprezentuje mapovou vrstvu. Př. Mapa obyvatelstva (jméno 1) je překryta (overlay – sloveso) mapou administrativních jednotek (jméno 2) a vzniká mapa hustoty obyvatelstva (jméno 3 – výsledek). Kartografické modelování Příklady použití • Termíny nejsou obecně akceptovány – závisí na konkrétní implementaci v GIS balíku. Kartografické modelování Implementace kartografického modelu v GIS • Identifikace požadované mapové vrstvy nebo datové sady. • Použijte logický nebo přirozený jazyk a popište proces vytvoření výsledného modelu (data – výsledek). • Reprezentujte postup graficky, aby zahrnoval navrhované operace a postupy. • Popište grafický postup případnými příkazy, které používá příslušný GIS balík. Kartografické modelování Umístění supermarketu Vyber místo vhodné pro umístění supermarketu, které leží: – V obydlené oblasti (intravilán) – Je na prodej – Neleží v záplavové zóně – Je v dosahu 200 m od hlavní silnice Čtyři datové vrstvy • Land_use • Site_status • River_map • Roads_map Kartografické modelování Popis procesu přirozeným jazykem Kartografické modelování Grafická reprezentace vhodného místa 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]) Druhý nejčastější výskyt zapsán! 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])