Plan prezentacji 1. Statystyki dla obiektów przestrzennych (r.statistics) 2. Kalkulator map rastrowych (r.mapcalc) a) Operacje arytmetyczne b)operacje logiczne -operatory logiczne -zdania logiczne c)operacje na sąsiedztwie za pomocą r.mapcalc
Statystyki dla obiektów przestrzennych
Polecenie: r.statistics Statystyki.. Idea: wszystkim rastrom z tą samą kategorią na warstwie A (base map) przypisana jest wartość funkcji (statystyki), której argumentami są wielkości rastrów z B (cover map), należące do tej samej kategorii na warstwie A. Zasada działania taka jak r.reports, ale wynikiem jest mapa, nie tabela Cel: obliczenie statystyk przestrzennych i ich graficzne przedstawienie w postaci mapy rastrowej
Zadanie 1: obliczyć średnią wysokość n.p.m w powiatach województwa dolnośląskiego
Zadanie 2: Obliczyć odchylenie standardowe wysokości w powiatach Jaka może być interpretacja tego wyniku?
Kalkulator map rastrowych
r.mapcalc kalkulator warstw rastrowych główne narzędzie do analiz przestrzennych w GIS GRASS wynikiem działania r.mapcalc jest nowa warstwa rastrowa praca z linii komend znacznie wygodniejsza niż z poziomu GUI!
Kalkulator map rastrowych Polecenie: r.mapcalc Składnia ogólna: r.mapcalc nowamapa=wyrażenie(mapa1,mapa2, ) wynikiem działania jest zawsze nowa mapa rastrowa zdefiniowana wg ustawień regionu bieżącego wyrażenie może być: 1. arytmetyczne 2. logiczne wyrażenie może być zdefiniowane na wielkościach stałych lub odwoływać się do istniejących warstw rastrowych
Operacje arytmetyczne
Funkcje arytmetyczne r.mapcalc pozwala na zastosowanie standardowych operatorów arytmetycznych, m.in.: Dodawania, odejmowania, mnożenia, dzielenia Potęgowania Funkcji trygonometrycznych Wartość bezwzględna Kolejność wykonywanych działań arytmetycznych jest standardowa Kolejność może być modyfikowana nawiasami 09.01.2008 11
Operacje arytmetyczne Zadanie 1. stworzyć mapę rastrową taką, aby wszystkie rastry miały wartość 2.
Składnia: r.mapcalc map2=2 Technicznie: wielkość 2 ( działanie ) przypisana wszystkim rastrom wynikowej mapy map2 2 2 2 2 2 2 2 2 2
Operacje na warstwach rastrowych r.mapcalc może wykonywać obliczenia na już istniejących warstwach rastrowych działanie (prawa strona znaku równości) jest wykonywane kolejno dla wszystkich rastrów już istniejącej warstwy: r.mapcalc wynik = 2 * warstwa1 6 8 2 10 22 14 0 2 8 = 2 * 3 4 1 5 11 7 0 1 4
Zadanie 2. przeliczyć warstwę dem.500 tak, aby jednostką wysokości były centymetry. Składnia: r.mapcalc dem.500cm=dem.500*100 Technicznie: każdy raster warstwy dem.500 zostanie przemnożony przez 100, wynik zapamiętany jako dem.500cm
Sprawdź wynik
Operacje na kilku warstwach rastrowych r.mapcalc może wykonywać działania na kilku już istniejących warstwach rastrowych działanie (prawa strona znaku równości) jest wykonywane kolejno dla odpowiadających sobie (przestrzennie) rastrów: r.mapcalc wynik = warstwa1 - warstwa2 2-3 -9 3 4 1 1 7 10 2 7-2 = 5 11 7-3 4 9-12 -3 3 0 1 4 12 4 1
Zadanie oblicz różnicę między warstwą dem.500 a warstwą przedstawiającą średnią wysokość sąsiedztwa (przygotowana wcześniej za pomocą r.neighbors)
Zinterpretuj wynik!
Operacje logiczne
Operacje logiczne Składnia: if (warunek, co jeśli spełniony, co jeśli nie) Operatory logiczne: == równy >, < większy, mniejszy >=, <= większy równy, mniejszy równy!= różny W przypadku braku operatora, warunek jest spełniony dla wszystkich rastrów, które mają atrybut liczbowy (nie null)
Operacje logiczne Składnia: if (warunek, co jeśli spełniony, co jeśli nie) warunek może być określony na stałych (np. if(2>5) lub istniejących warstwach rastrowych w przypadku spełnienia warunku, na wynikowej warstwie rastry będą miały wielkość określoną po pierwszym przecinku
Przykład 1 warunek zdefiniowany na stałych: r.mapcalc w1=if ( 2>1,0,1 ) warunek zawsze jest spełniony, wszystkie komórki wynikowej warstwy równe 0: 0 0 0 0 0 0 0 0 0
Przykład 2 warunek dotyczy warstwy dem: r.mapcalc w1=if ( dem.500>500,0,1 ) warunek jest sprawdzany kolejno dla wszystkich komórek rastra: 1 1 1 1 0 0 1 0 1 w1 wynik = if ( 450 460 470 460 510 520 490 520 500 dem.500 warunek > 500, 0, 1 ) spełniony nie spełniony
Zadanie jeśli na warstwie dem.500 wysokość jest większa niż 300, to na wynikowej warstwie h300 wstaw 1, w przeciwnym wypadku wstaw 0: r.mapcalc 'h300=if(dem.500>300,1,0) Zweryfikuj wynik za pomocą d.what.rast
Wynik
Zdania logiczne pojedyncze warunki logiczne mogą być łączone w zdania za pomocą łączników logicznych zasada działania łączników jest dokładnie taka sama jak w przypadku SQL, różni się sposób notacji łączniki logiczne: && logiczne i logiczne lub
Zdania logiczne składnia ogólna if ( warunek 1 łącznik warunek 2, prawda, fałsz) wynik zdania (wybór prawda lub fałsz) zależy od łącznika: && daje prawdę, jeśli warunek 1 i 2 są JEDNOCZEŚNIE spełnione daje prawdę, jeśli PRZYNAJMNIEJ JEDEN warunek jest spełniony zdania można rozbudowywać w ciągi (monologi?) dowolnej długości 09.01.2008 28
Zadanie Wyznaczyć obszary położone powyżej 500m i poniżej 200m (praca na warstwie dem.500). Zweryfikuj wynik używając d.what.rast
Zadanie Wyznacz obszary położone w przedziale między 200 a 500m n.p.m. Zweryfikuj wynik używając d.what.rast
Zadanie Warunki mogą dotyczyć jednocześnie kilku różnych warstw rastrowych Zadanie: wyznaczyć obszary położone powyżej 200m n.p.m. (dem.500) i będące lasem (uz).
Zadanie 4. Wyznaczyć obszary rolnicze (uz) położone na stokach o nachyleniu przekraczającym 3 stopnie
Do samodzielnego wykonania: Wyznaczyć obszary rolnicze i leśne położone poniżej 300m n.p.m. Dla województwa dolnośląskiego wyznaczyć obszary leśne i zurbanizowane położone powyżej 500m n.p.m.
Warunki logiczne z null() 1.null jako atrybut rastra na warstwie wynikowej 2. null jako element warunku logicznego
1. if(uz==3,1,null())
2. if(isnull(powds_cat),-9999,powds_cat)
Zadanie: dla województwa dolnośląskiego utworzyć dwie strefy buforowe (2 i 10km) wokół lasów
Praktyczne wykorzystanie??
Operacje na sąsiedztwie za pomocą r.mapcalc Współrzędne sąsiednich rastrów względem rastra x0 określamy podając ich wiersz i kolumnę [w,k] [-1,-1] [-1,0] [-1,1] [0,-1] [0,0] [0,1] [1,-1] [1,0] [1,1]
r.mapcalc mapa2=mapa1[-1,-1] x1 x2 x3 x4 x5 x6 x7 x8 x9 x1 x4 x2 x5
Wykorzystanie! Analiza zasłonięcia: mapa2=mapa1[-1,-1] mapa1 Jeśli x1>x5 to wynik polecenia będzie>0, czyli raster jest osłonięty z kierunku NW przez x1
Do wykonania Składnia: r.mapcalc dem.500_nw=dem.500[-1,-1] zaslon_nw=dem.500_nw-dem.500 Zinterpretuj wynik
r.null
r.null polecenie pozwala zamienić wskazaną wartość arytmetyczną na mapie rastrowej na null (brak danych) lub odwrotnie zamienić wielkość arytmetyczną na mapie na null przydatne np. przy przygotowywaniu warstwy do wyznaczania strefy buforowej nie tworzy nowej warstwy może być zastąpione przez r.mapcalc (ale powstaje nowa warstwa)
r.null Składnia: r.null map=raster setnull=w1[,w2,w3 ] null=w RASTER warstwa na której manipulujemy wielkością null setnull opcja pozwala zamienić wskazane wielkości (W1 itd.) na null null opcja pozwala zamienić null na wskazaną wielkość W
Zadanie Korzystając z r.mapcalc i warstwy uz, przygotuj warstwę rastrową pokazującą użytkowanie terenu w województwie dolnośląśkim Zastosuj r.null i zamień na null wszystkie kategorie inne niż las
r.null
r.reclass.area
r.reclass.area polecenie pozwala usunąć z mapy obszary większe lub mniejsze niż podane kryterium jednostką jest ha
Zadanie Z warstwy rastrowej uz wybierz obszary leśne w województwie dolnośląskim, których powierzchnia przekracza 200 ha
r.clump ile jest obszarów spełniających kryteria? polecenie r.clump wykonuje rekategoryzację jednolitych obszarów rastrowych, przypisując każdemu z nich unikalny identyfikator
Zadanie ile jest obszarów leśnych w województwie dolnośląskim, których całkowita powierzchnia przekracza 200 ha
Zadania 1. Przedstaw na mapie obszary leśne w województwie dolnośląskim, których powierzchnia przekracza 1000 ha. 2. Oblicz średnią wysokość Wrocławia. 3. Jaka jest średnia wysokość województwa dolnośląskiego? Jaki procent powierzchni województwa jest położony powyżej średniej? 4. Przedstaw na mapie powiaty, których średnia wysokość jest powyżej średniej dla województwa.
Zadania cd. 5. Procent miasta w mieście. Jaki procent powierzchni Wrocławia (wg warstwy wektorowej miasta2002) stanowią obszary zurbanizowane określone wg warstwy rastrowej uz? 6. Jaki procent użytków rolnych w województwie dolnośląskim jest zlokalizowanych na stokach o nachyleniu mniejszym niż 5 o? Jakie jest maksymalne nachylenie stoków zagospodarowanych rolniczo? 7. Zadanie z haczykiem!jaka jest średnia ekspozycja stoków zagospodarowanych rolniczo? Dlaczego to zadanie jest bez sensu? Jaką inną statystykę można tu zastosować? 8. Jaka jest maksymalna wysokość upraw rolniczych w województwie dolnośląskim? Jakie jest średnie nachylenie stoków obszarów rolniczych?