G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs =...

14
MARIA A. BROVELLI MARCO NEGRETTI Versione 1.0 4 Marzo 2002 G.R.A.S.S. 5.0.0 Geographic Resources Analysis Support System ANALISI DI CARTE RASTER

Transcript of G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs =...

Page 1: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

MARIA A. BROVELLI MARCO NEGRETTI

Versione 1.0 4 Marzo 2002

G.R.A.S.S. 5.0.0

Geographic Resources Analysis Support System

ANALISI DI CARTE RASTER

Page 2: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

I

1 TRATTAMENTO CARTE RASTER 2

1.1 REPORT DEI DATI 2 1.2 CARTE RASTER DERIVATE 6 1.3 STRUMENTI DI CALCOLO 8

Page 3: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

2

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.

Page 4: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

3

F 1 - Sequenza di comandi relativi all'Esercizio 1

F 2 - Il file como.st1

Page 5: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

4

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

Page 6: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

5

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

Page 7: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

6

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

Page 8: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

7

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.

Page 9: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

8

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:

Page 10: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

9

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

Classe corrispondente nella nuova carta

riclassificata -16 -1 1 0 150 2

151 250 3 251 400 4 401 900 5 901 2750 6

F 8 - Corrispondenza tra classi originali e classi della nuova carta

F 9 - Esecuzione del comando r.reclass

Page 11: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

10

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 % / divisione * prodotto + addizione - sottrazione

== uguaglianza logica != disuguaglianza logica > maggiore di

>= maggiore o uguale < minore di

<= minore o uguale && and logico

|| or logico

Funzioni1 abs(x) valore assoluto di x

eval([x,y,...,]z) valuta il risultato delle espressioni indicate tra parentesi float(x) convete x in formato virgola mobile

if operatore di condizione if(x) se x è diverso da zero il risultato è 1, altrimenti è 0

if(x,a) se x è diverso da zero il risultato è a, altrimenti è 0 if(x,a,b) se x è diverso da zero il risultato è a, altrimenti è b

if(x,a,b,c) 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

Page 12: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

11

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

Page 13: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

12

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.

Page 14: G.R.A.S.S. 5.0.0 ANALISI DI CARTE RASTERr.stats [-ac1gx] input = carta1, [carta2,...] [fs = separatore] [output = filedati] dove: • input nome della carta raster da analizzare. •

13

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