lez. 3 - corso di modelli e gis per l'ambiente

71
Universita` degli Studi della Basilicata Dipartimento di Ingegneria e Fisica dell'Ambiente (DIFA) GRASS GIS e l'idrologia Ing. Margherita Di Leo

Upload: margherita-di-leo

Post on 29-May-2015

3.272 views

Category:

Education


5 download

DESCRIPTION

Lezione 3 - Grass per la modellazione idrologica - 21/12/2011 e 10/01/2012

TRANSCRIPT

Page 1: Lez. 3 - Corso di modelli e GIS per l'ambiente

Universita` degli Studi della BasilicataDipartimento di Ingegneria e Fisica dell'Ambiente (DIFA)

GRASS GIS e l'idrologia

Ing. Margherita Di Leo

Page 2: Lez. 3 - Corso di modelli e GIS per l'ambiente

Introduzione

● In GRASS GIS sono implementati numerosi moduli utili alla modellazione idrologica. ● Qui [1] sono riportati alcuni esempi.

[1] http://grass.osgeo.org/wiki/Hydrological_Sciences

Page 3: Lez. 3 - Corso di modelli e GIS per l'ambiente

Carving● r.carve: Prende in input i fiumi digitalizzati e li utilizza per

“correggere” il DEM abbassando la quota nei punti in cui il reticolo di calcolo non coincide con quello naturale.

Input: DEM

Input: fiumi (vettoriale)

Output: DEM “corretto”

Page 4: Lez. 3 - Corso di modelli e GIS per l'ambiente

Carving● Opzione “no flat areas”:

Elimina le aree piane nella direzione del flusso.

● Opzione “points”: l'output generato e` in formato vettoriale. I punti possono essere utilizzati per reinterpolare il DEM per correggere gli errori.

● E` possibile indicare inoltre la larghezza e la profondita` del corso d'acqua.

Page 5: Lez. 3 - Corso di modelli e GIS per l'ambiente

Percorso di drenaggio● r.drain: Traccia il percorso del flusso attraverso il DEM utilizzando un

algoritmo di least-cost path (ovvero ricerca il percorso di “costo” inferiore). La mappa di input puo` essere una mappa dei costi cumulativi generata da r.cost. L'output e` un raster che mostra uno o piu` percorsi che minimizzano il costo. Di default l'output e` una mappa che riporta 1 lungo il percorso e null data altrove.

● In pratica cerca il percorso con i valori minimi a partire da un punto dato dall'utente (nell'esempio e` 19).

Page 6: Lez. 3 - Corso di modelli e GIS per l'ambiente

● La flag -c (copy) copia il valore del DEM nella mappa di output:

Percorso di drenaggio

Page 7: Lez. 3 - Corso di modelli e GIS per l'ambiente

● La flag -a (accumulate) pone la somma dei valori del DEM nella mappa di output:

Percorso di drenaggio

Page 8: Lez. 3 - Corso di modelli e GIS per l'ambiente

● La flag -n (number) enumera il percorso delle celle nella mappa di output:

Percorso di drenaggio

Page 9: Lez. 3 - Corso di modelli e GIS per l'ambiente

● NOTA: r.drain non trova TUTTI i valori piu` bassi del DEM, ma solo quelli collegati al punto di partenza indicato dall'utente.

● In pratica indica i “pits” che si incontrano lungo il percorso, non trova invece tutti i “buchi” del DEM.

● Per correggere i “buchi” del DEM si possono usare invece:

r.fill.dir, r.terraflow, e r.basins.fill.

Percorso di drenaggio

Page 10: Lez. 3 - Corso di modelli e GIS per l'ambiente

Filling● r.fillnulls: Colma le aree in cui sono presenti dati

nulli (no data) interpolando i valori mancanti con un algoritmo RST (Regularized Splines with Tension).

● E` possibile controllare il risultato modificando i parametri smooth e tension, che vengono utilizzati nell'interpolazione.

Page 11: Lez. 3 - Corso di modelli e GIS per l'ambiente

Filling● r.fill.dir: Applica

un filtro e genera una mappa di elevazione priva di depressioni (sinks), e inoltre genera la mappa delle direzioni di drenaggio a partire dal DEM.

Page 12: Lez. 3 - Corso di modelli e GIS per l'ambiente

Linee di flusso● r.flow: Costruisce

le linee di flusso (flowlines), le lunghezze delle linee di flusso (flowpath lengths), e la densita` di drenaggio (upslope areas) a partire da un DEM.

Page 13: Lez. 3 - Corso di modelli e GIS per l'ambiente

Linee di flusso Linee di flusso

Lunghezza percorso

Densita` di drenaggio

Page 14: Lez. 3 - Corso di modelli e GIS per l'ambiente

Indice topografico

● r.topidx: Crea la mappa dell'indice topografico, [ln(a/tan(beta))] utilizzato in alcuni modelli idrologici.

Page 15: Lez. 3 - Corso di modelli e GIS per l'ambiente

Indice topografico

Page 16: Lez. 3 - Corso di modelli e GIS per l'ambiente

Modellazione dei deflussi● r.terraflow: Calcola il DEM filled (privo di

depressioni), la mappa delle direzioni di drenaggio, la densita` di drenaggio, l'indice topografico. Puo` utilizzare l'algoritmo D8 (single flow direction, SFD) o l'algoritmo MFD (multiple flow direction), che e` impostato di default.

Page 17: Lez. 3 - Corso di modelli e GIS per l'ambiente

Modellazione dei deflussi

Page 18: Lez. 3 - Corso di modelli e GIS per l'ambiente

Modellazione dei deflussi

Densita` di drenaggio MFD

Direzioni di drenaggio MFD

Page 19: Lez. 3 - Corso di modelli e GIS per l'ambiente

Deflussi profondi● r.gwflow : Modulo per il calcolo numerico del flusso

transiente in acquiferi confinati e non confinati, bidimensionale.

● r3.gwflow : Modulo per il calcolo numerico del flusso transiente in acquiferi confinati e non confinati, in 3D

Immagine tratta dal manuale online di GRASS

Page 20: Lez. 3 - Corso di modelli e GIS per l'ambiente

Modellazione idrologica● r.topmodel :

Modulo che consente di applicare il modello idrologico TOPMODEL (Beven, 1995), un modello idrologico distribuito fisicamente basato.

Page 21: Lez. 3 - Corso di modelli e GIS per l'ambiente

Erosione● r.sim.sediment: Simulazione del trasporto dei

sedimenti e dell'erosione/deposito;

● r.sim.water: Simulazione idrologica dell'overland flow.

Nella figura e` riportata una mappa della portata generata con il modulo r.sim.water, che simula l'overland flow utilizzando il path sampling method (SIMWE) con un rainfall excess rate di 50 mm/hr.

7.7

5.5

3.7

1.8

0.0

Page 22: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi di bacino● r.basin.fill: Genera una mappa raster con

l'individuazione dei sottobacini.

● r.water.outlet: Delimita il bacino idrografico sotteso ad una determinata sezione di chiusura (vedi esercitazione).

● r.watershed: Analisi di bacino (vedi esercitazione).

● r.lake: “Allaga” un DEM a partire da un determinato punto. (vedi figura a lato).

Page 23: Lez. 3 - Corso di modelli e GIS per l'ambiente

Esercitazione

● L'obiettivo di questa esercitazione e` di estrarre il reticolo idrografico di una certa regione, e inoltre di voler delimitare il bacino idrografico sotteso alla sezione di chiusura di coordinate:

easting=643677.87 northing=222800.246

(Lambert Conformal Conic)

Page 24: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica● r.watershed

permette di ricavare a partire dal DEM la mappa della direzione di drenaggio, la mappa di densita` drenaggio, la mappa raster del reticolo idrografico, data una certa SOGLIA.

● Possiamo scegliere di usare MFD o SFD. Di default e` impostato SFD (D8).

Input: elevation@PERMANENT

Page 25: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

Soglia

● La soglia e` il numero di celle della mappa della densita` di drenaggio, che discrimina fra versante e canale.

● In questo caso mettiamo 1000.

Page 26: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

r.watershed elevation=elevation@PERMANENT accumulation=accumuli drainage=drenaggio streams=fiumi threshold=1000

Page 27: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

r.watershed elevation=elevation@PERMANENT accumulation=accumuli drainage=drenaggio streams=fiumi threshold=1000

● In “Optional” spuntare “use positive flow accumulation even if likely underestimated”

Page 28: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

r.watershed elevation=elevation@PERMANENT accumulation=accumuli drainage=drenaggio streams=fiumi threshold=1000

fiumi

Page 29: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

drenaggio

Page 30: Lez. 3 - Corso di modelli e GIS per l'ambiente

Analisi idrologica

accumuli

Page 31: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

● Per trasformare un raster in vettoriale (linee) dobbiamo innanzitutto correggere il raster di partenza.

● Infatti gli elementi lineari presenti nel raster devono avere spessore di una sola cella, eventuali spessori diversi provocherebbero errori nella generazione del file vettoriale.

● Questa operazione si esegue con il comando r.thin.

Page 32: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

fiumi

fiumi_thin

r.thin input=fiumi output=fiumi_thin

Page 33: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

reticolo

fiumi_thinLa trasformazione da raster a vettoriale si esegue con il comando r.to.vect.

Feature: line

r.to.vect input=fiumi_thin output=reticolo feature=line

Page 34: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Dal Layer Manager scegliamo “Add Vector Layer” e scegliamo dal menu a tendina il file vettoriale appena creato (reticolo).

Page 35: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Possiamo confrontare il reticolo cosi` ottenuto con i fiumi digitalizzati.

Dal Layer Manager scegliamo “Add Vector Layer” e scegliamo dal menu a tendina il file vettoriale streams.

Aggiungiamo anche il file verroriale lakes, che rappresenta i laghi, con la stessa procedura.

Caricando le due mappe, assegnamo loro un colore differente dal nero per distinguerle, dal tab “colors” scegliamo il colore blu.

Page 36: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 37: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 38: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 39: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 40: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 41: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Page 42: Lez. 3 - Corso di modelli e GIS per l'ambiente

Visualizzazione del vettoriale

Layers: Lakes, streams

Page 43: Lez. 3 - Corso di modelli e GIS per l'ambiente

Confronto

Layers: Lakes, streams in blu e reticolo in nero.

Page 44: Lez. 3 - Corso di modelli e GIS per l'ambiente

Confronto

Layers: Lakes, streams in blu e reticolo in nero, elevation.

Page 45: Lez. 3 - Corso di modelli e GIS per l'ambiente

Delimitazione del bacino● Per delimitare il

bacino idrografico, utilizziamo il comando r.water.outlet, che apriamo come al solito dalla command console.

r.water.outlet drainage=drenaggio basin=bacino easting=643677.87 northing=222800.246

Page 46: Lez. 3 - Corso di modelli e GIS per l'ambiente

Delimitazione del bacino

● r.water.outlet prende in iput la mappa delle direzioni di drenaggio (che abbiamo chiamato drenaggio), il nome della mappa che vogliamo creare (bacino), e le coordinate easting=643677.87 northing=222800.246

r.water.outlet drainage=drenaggio basin=bacino easting=643677.87 northing=222800.246

Page 47: Lez. 3 - Corso di modelli e GIS per l'ambiente

Delimitazione del bacino

● Carichiamo il raster cosi` ottenuto:

bacino

Page 48: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

● Usiamo il comando r.to.vect selezionando la feature “area”

Page 49: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

● Usiamo l'opzione “smooth corners od area features”

Page 50: Lez. 3 - Corso di modelli e GIS per l'ambiente

Trasformazione da raster a vettoriale

● Il risultato finale e` la mappa vettoriale del bacino idrografico sotteso alla sezione di chiusura data.

Page 51: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Per calcolare il perimetro, aggiungiamo una colonna alla tabella associata al vettoriale.

● Per consultare la tabella, cliccare: Show attribute table.

Page 52: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

Page 53: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Per aggiungere una colonna alla tabella associata al vettoriale “bacino”, usiamo v.db.addcol.

● Indichiamo il nome della nuova colonna “perimetro” e il tipo di dato che conterra` “double precision”.

Page 54: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Associamo la colonna al layer 1

Page 55: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Controlliamo la tabella: la colonna “perimetro” e` stata aggiunta.

● Ora dobbiamo popolare la nuova colonna con i valori del perimetro.

Page 56: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino● Per popolare la

colonna, usiamo v.to.db.

● Nel tab “Required” inseriamo il nome della mappa cui e` associata la tabella: “bacino”, e scegliamo il valore da aggiornare: “perimeter”.

Page 57: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

Page 58: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

Page 59: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Nel tab “Optional” inseriamo l'unita` di misura “kilometers” e il nome della colonna da popolare: “perimetro”.

Page 60: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare il perimetro del bacino

● Consultando nuovamente la tabella, notiamo che la colonna del perimetro e` stata aggiornata.

● Il perimetro del bacino risulta essere 54 km.

Page 61: Lez. 3 - Corso di modelli e GIS per l'ambiente

Misurare la distanza

● Per verificare che il valore ottenuto e` giusto, possiamo verificarne almeno l'ordine di grandezza misurandolo direttamente sulla mappa.

● Da “Analyze map” selezioniamo “Measure distance”.

Page 62: Lez. 3 - Corso di modelli e GIS per l'ambiente

● Per verificare che il valore ottenuto e` giusto, possiamo verificarne almeno l'ordine di grandezza misurandolo direttamente sulla mappa.

● Da “Analyze map” selezioniamo “Measure distance”.

Misurare la distanza

Page 63: Lez. 3 - Corso di modelli e GIS per l'ambiente

● Similmente al calcolo del perimetro, per il calcolo dell'area usiamo di nuovo v.db.addcol e poi v.to.db.

Calcolare la superficie

● v.db.addcol.

● Indichiamo il nome della nuova colonna “superficie” e il tipo di dato che conterra` “double precision”.

Page 64: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie

Page 65: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie● Visualizziamo la tabella associata al vettoriale e verifichiamo che il campo

“superficie” e` stato creato.

Page 66: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie● Per popolare la

colonna, usiamo v.to.db.

● Nel tab “Required” inseriamo il nome della mappa cui e` associata la tabella: “bacino”, e scegliamo il valore da aggiornare: “area”.

Page 67: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie

Page 68: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie

Page 69: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie

● Nel tab “Optional” inseriamo l'unita` di misura “kilometers” e il nome della colonna da popolare: “superficie”.

Page 70: Lez. 3 - Corso di modelli e GIS per l'ambiente

Calcolare la superficie

● Consultando nuovamente la tabella, notiamo che la colonna della superficie e` stata aggiornata.

● La superficie del bacino risulta essere 60 km2.

Page 71: Lez. 3 - Corso di modelli e GIS per l'ambiente

License of this document

             This work is licensed under a Creative Commons License.                         http://creativecommons.org/licenses/by­sa/3.0/

                                       (c) 2011, Margherita Di Leo, Italy                                      dileomargherita AT gmail DOT com

License details: Attribution­ShareAlike 3.0:You are free:  * to Share — to copy, distribute and transmit the work  * to Remix — to adapt the work Under the following conditions:  * Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).  *Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.

With the understanding that:  * Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.  * Other Rights — In no way are any of the following rights affected by the license:       o Your fair dealing or fair use rights;       o The author's moral rights;       o Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.