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 REPORT DEI DATI 2 1.2 CARTE RASTER DERIVATE 6 1.3 STRUMENTI DI CALCOLO 8 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 m 2 ) 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 m 2 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 d xx dxx = nomecarta derivata parziale d yy dyy = nomecarta derivata parziale d xy 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 Classe corrispondente nella nuova carta da a 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 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 % / divisione * prodotto + addizione - sottrazione == uguaglianza logica!= disuguaglianza logica > maggiore di >= maggiore o uguale < minore di <= minore o uguale && and logico or logico Funzioni 1 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 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.slp 2 (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