Esercizi con i raster per GRASS 5.0

Transcript

Esercizi con i raster per GRASS 5.0
MARIA A. BROVELLI
MARCO NEGRETTI
G.R.A.S.S. 5.0.0
Geographic Resources Analysis Support System
ANALISI DI CARTE RASTER
Versione 1.0
4 Marzo 2002
1 TRATTAMENTO CARTE RASTER
2
1.1
1.2
1.3
2
6
8
REPORT DEI DATI
CARTE RASTER DERIVATE
STRUMENTI DI CALCOLO
I
1 Trattamento carte raster
1.1
Report dei dati
r.stats
Questo comando permette di ottenere diversi tipi di informazioni statistiche sui dati di una
carta raster. La sintassi è:
r.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati]
dove:
• input
nome della carta raster da analizzare.
• -a
per ottenere la superficie totale occupata sulla carta (in m2 ) da ogni valore
diverso.
• -c
per ottenere il numero di celle occupate da ogni valore diverso.
• -1
elenco di tutti i valori delle celle della carta.
• -g
utilizzata con l’opzione –1 permette di ottenere anche le coordinate di ogni
cella.
• -x
utilizzata con l’opzione –1 permette di ottenere la posizione xy di ogni cella
sulla griglia.
• fs
definisce un carattere da utilizzare come separatore tra i campi dei dati.
• output
nome del file in uscita. Se non viene specificato alcun file come output i dati
verranno visualizzati a video.
L'interfaccia grafica viene richiamata da raster⇒ report map ⇒ general statistics.
Esercizio 1 Distribuzione delle celle in una carta raster
Dalla carta comodtm si voglio ottenere due file con le
statistiche riferite a:
• la superficie totale in m2 occupata da ogni valore
della carta (chiamare il file di uscita como.st1);
• il numero di celle occupate da ogni valore (chiamare
il file di uscita como.st2).
Utilizzare come carattere di separazione tra i campi il
carattere pipe (|).
Ovviamente si dovrà lanciare il comando r.stats due
volte, impostando ogni volta il flag che determina il
tipo di statistica che si vuole ottenere (-a, -c) ed il
nome che si vuole assegnare al file di uscita.
Questo comando di GRASS crea il file di output nella
directory corrente; per verificare qual è utilizzare il
comando pwd, per cambiare directory corrente utilizzare
il comando cd.
La sequenza di comandi da eseguire è riportata in F 1;
in F 2 e F 3 è riportata una parte del contenuto dei
file creati con il comando r.stats in questo esercizio.
2
F 1 - Sequenza di comandi relativi all'Esercizio 1
F 2 - Il file como.st1
3
F 3 - Il file como.st2
r.report
Il comando r.report permette di ottenere per ogni valore della carta raster la rispettiva
etichetta associata (se esiste) e la superficie totale occupata (tale informazione è disponibile in
diverse unità di misura); inoltre consente anche di definire il formato della pagina del report
che si vuole creare.
La sintassi è:
r.report [-he] map = carta1 [,carta2,...] [units = nome1[,nome2,...] ] [pl = ] [pw = ] [ output
= nomefile]
dove:
• il parametro units stabilisce l'unità di misura con cui vengono espressi i risultati (me =
metri, k = chilometri, h = ettari, ...);
• pl definisce il numero di righe per ogni pagina;
• pw definisce il numero di colonne del foglio;
• -h indica di non ripetere l’header su ogni pagina del report;
• -e indica di utilizzare la notazione scientifica per i report.
Esercizio 2 Report di una carta raster
Facendo
sempre
riferimento
alla
carta
comodtm
utilizzata nell'Esercizio 1 ricavare per ogni valore
diverso della carta il numero di celle occupate e
l'estensione in chilometri. Organizzare il file di
report, che dovrà chiamarsi como.rep, su pagine di 30
4
righe e 60 colonne; riportare l'intestazione solo sulla
prima pagina.
Ricordarsi anche in questo caso che GRASS crea il file
di output nella directory corrente: verificare che sia
quella in cui effettivamente si vuole ottenere il file
con i risultati.
La sequenza di comandi è quella riportata in F 4; una
parte contenuto del file como.rep che viene generato è
riportato in F 5.
F 4 - La sequenza dei comandi relativi all'esercizio Esercizio
2
5
F 5 - Il contenuto del file como.rep
ATTENZIONE: entrambi i comandi visti creano i report relativamente ai dati compresi
all’interno della regione corrente e non sull’intera estensione delle carte analizzate.
1.2
Carte raster derivate
r.slope.aspect
Il comando r.slope.aspect permette di ottenere una serie di carte raster derivate da una carta
originale rappresentante un terreno digitale.
E’ possibile creare le seguenti carte derivate:
• carta delle pendenze:
slope = nomecarta format = degrees|percent
6
espresse in gradi (default) o in percentuale
• le esposizioni del terreno:
aspect = nomecarta
• profilo di curvatura:
pcurv = nomecarta
• curvatura tangente:
tcurv = nomecarta
• pendenza nella direzione est-ovest:
dx = nomecarta
• pendenza nella direzione nord-sud:
dy = nomecarta
• derivata parziale dxx
dxx = nomecarta
• derivata parziale dyy
dyy = nomecarta
• derivata parziale dxy
dxy = nomecarta
La sintassi del comando è:
r.slope.aspect elevation = cartadtm [elenco delle carte da creare] [zfactor = numero] [min_slp
= numero]
Dove con:
zfactor
si indica un fattore di moltiplicazione (default = 1);
min_slp
minima pendenza da considerare nel calcolo delle esposizioni.
Attenzione: crea le carte derivate con le dimensioni e la risoluzione della regione corrente.
Nell'esempio riportato in C 1 si utilizza il comando r.slope.aspect per ottenere da una carta
raster chiamata lombdtm la carta delle pendenze (chiamata lomb.slp) e la carta delle
esposizioni (lomb.asp).
GRASS > r.slope.aspect elevation=lombdtm slope=lomb.slp aspect=lomb.asp
C 1 - Calcolo della carta delle esposizioni e della carta
delle pendenze
Esercizio 3 Calcolo di pendenze e esposizioni
Si vogliono ricavare dalla carta raster comodtm (mapset
dati, location corso) le rispettive carte delle
esposizioni (da chiamare como.asp) e delle pendenze
(como.slp). Ricordarsi di impostare la regione corrente
sulle dimensioni della carta comodtm. Una volta
terminato
il
processo
di
creazione
delle
carte
visualizzarle con il comando d.rast: il risultato è
riportato in F 6 e in F 7.
7
F 6 - Carta como.asp ricavata da comodtm
F 7 - Carta como.slp ricavata da comodtm
1.3
Strumenti di calcolo
r.reclass
Questo comando di riclassificazione crea una nuova carta mediante il raggruppamento dei
valori di una carta raster esistente.
La sintassi:
8
r.reclass input = carta_orig output =carta_ric
seguono le modalità di riclassificazione:
elenco categorie originali = nuova categoria eventuale etichetta da attribuire
L’elenco delle categorie da sostituire nella nuova carta con quella specificata si può dare in
vari modi:
• 1 4 5 10 = 100
sostituisce ai valori indicati il valore 100
• 1 thru 20 = 40
sostituisce ai valori nell'intervallo indicato il valore 40.
• ...
• end
termina l’elenco.
Esercizio 4 Riclassificare una carta
Creare una nuova carta raster (como.rec) ottenuta
mediante la riclassificazione della carta comodtm
seguendo le indicazioni riportate in F 8. L'esecuzione
del comando si presenta come in F 9.
Intervallo Classi
Originali
da
a
-16
-1
0
150
151
250
251
400
401
900
901
2750
Classe corrispondente
nella nuova carta
riclassificata
1
2
3
4
5
6
F 8 - Corrispondenza tra classi originali e classi della nuova
carta
F 9 - Esecuzione del comando r.reclass
9
r.mapcalc
Il programma r.mapcalc permette di definire delle relazioni, matematiche e logiche, da
applicare ai valori memorizzati nelle celle di una o più mappe raster per ottenere una nuova
carta in uscita. E’ così possibile realizzare filtri, maschere, riclassificazioni, della carta, ...
In F 10 sono riportati gli operatiri e le funzioni di r.mapcalc.
Operatori
%
/
*
+
==
!=
>
>=
<
<=
&&
||
Funzioni1
abs(x)
eval([x,y,...,]z)
float(x)
if
if(x)
if(x,a)
if(x,a,b)
if(x,a,b,c)
divisione
prodotto
addizione
sottrazione
uguaglianza logica
disuguaglianza logica
maggiore di
maggiore o uguale
minore di
minore o uguale
and logico
or logico
valore assoluto di x
valuta il risultato delle espressioni indicate tra parentesi
convete x in formato virgola mobile
operatore di condizione
se x è diverso da zero il risultato è 1, altrimenti è 0
se x è diverso da zero il risultato è a, altrimenti è 0
se x è diverso da zero il risultato è a, altrimenti è b
se x è maggiore di zero il risultato è a, se x è 0 il risultato è
b, se x è minore di 0 il risultato è c.
F 10 - Elenco operatori e funzioni di r.mapcalc
Questo comando funziona in linea (esempio C 2), in modo interattivo (esempio C 3), ma
anche definendo in un file di testo le relazioni da applicare (esempio C 4), e passando poi
questo file come ingresso al comando r.mapcalc.
Anche questo comando non lavora sullestensione della carta, ma sulla regione correntemente
definita.
GRASS > r.mapcalc dtmdiff = dtmfine – dtmlargo
C 2 - r.mapcalc in linea
GRASS > r.mapcalc
> dtmdiff = dtmfine – dtmlargo
C 3 - r.mapcalc interattivo
1
dove per 'x' si intendono le celle della carta raster chiamata x
10
GRASS > r.mapcalc < elnop
C 4 - r.mapcalc legge dal file elnop le operazioni da compiere
Esercizio 5 Primo esempio di utilizzo di r.mapcalc
Si
vuole
ottenere
una
carta
raster
(comodiff)
indicativa delle differenze di quota esistenti tra la
carta comodtm e la carta italiadtm in modo da valutare
l'errore presente utilizzando passi diversi nella
descrizione del modello digitale di terreno. La carta
risultante dovrà quindi essere calcolata facendo la
differenza tra i valori della carta comodtm e la carta
italiadtm,
impostando
la
regione
corrente
sulle
dimensioni della carta comodtm.
Una volta ottenuta la carta comodiff visualizzarla e
verificare con il comando d.what.rast alcuni valori
della carta nelle zone pianeggianti e in quelle
montuose.
Come
è
logico
aspettarsi
le
maggiori
differenze saranno rilevate in corrispondenza delle
zone caratterizzate da cambiamenti repentini di valore,
per le quali un modello digitale del terreno a passo
troppo
largo
offre
una
descrizione
scarsamente
corrispondente. In F 11 è riportato il risultato del
comando r.what.rast.
F 11 - Il comando d.what.rast applicato alla carta comodiff
11
Esercizio 6 Utilizzo avanzato di r.mapcalc
Le carte che si vogliono analizzare in questo esercizio
sono comodtm e como.slp2 (mapset dati, location corso).
Si vuole ottenere una carta del rischio frane nelle
aree collinari e montuose della zona di Como.
Dalla carta comodtm si vogliono estrarre tutte le zone
che hanno una quota superiore a 500 metri ed in
corrispondenza delle quali sia stata rilevata una
pendenza superiore ai 15° (da leggere sulla carta
como.slp). La carta risultato (comoB) conterrà quindi
le zone considerate a rischio secondo questi parametri.
La nuova carta creata non ha ovviamente un suo file dei
colori: gli vengono quindi attribuiti i colori di
default di GRASS. Assegnare alla carta comoB lo stesso
file di colori della carta comodtm.
In F 12 è riportata la sequenza di comandi da impartire
per ottenere la nuova carta raster; in F 13 invece è
visualizzata la carta comoB.
F 12 - Esecuzione del comando r.mapcalc seguendo le
indicazioni dell'Esercizio 6
2
carta delle pendenze, calcolata nell'Esercizio 3.
12
F 13 - La carta comoB
Al termine delle operazioni indicate negli esercizi di questo capitolo all'interno del mapset
dati dovrebbero esserci otto carte raster: F 14.
F 14 - Le carte presenti nel mapset user
13