Top Banner
Analisi Idro-Geomorfologica con i JGrasstools e le Horton Machine S. Franceschi, L. Perathoner, M. Toro, G. Formetta 30 marzo 2015
121

P horton machine

Jul 18, 2015

Download

Education

Riccardo Rigon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: P horton machine

Analisi Idro-Geomorfologica con iJGrasstools e le Horton Machine

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 2: P horton machine

“Free Software . . . you shouldthink of ‘free’ as in ‘free speech’,not as in ‘free beer’. ”

Richard Stallman

1

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 3: P horton machine

Le Horton Machine

Le Horton Machine sono un pacchetto sviluppato con l’obbiettivo difornire degli strumenti quantitativi e qualitativi per indagare lamorfologia di un bacino idrografico.å Analisi Geomorfologica

L’obbiettivo è analizzare i processi di erosione dei canali fluviali e lapossibilità di innesco di frane superficiali.

Questo viene fatto considerando che i processi geomorfologici principaliin un bacino siano:

Erosione diffusiva dei pendiiProcessi di incisione da parte dei canaliTrasporto dei sedimenti nei canaliFrane

2

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 4: P horton machine

Le Horton Machine

Le Horton Machine sono un pacchetto sviluppato con l’obbiettivo difornire degli strumenti quantitativi e qualitativi per indagare lamorfologia di un bacino idrografico.å Analisi Geomorfologica

L’obbiettivo è analizzare i processi di erosione dei canali fluviali e lapossibilità di innesco di frane superficiali.

Questo viene fatto considerando che i processi geomorfologici principaliin un bacino siano:

Erosione diffusiva dei pendiiProcessi di incisione da parte dei canaliTrasporto dei sedimenti nei canaliFrane

2

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 5: P horton machine

Le Horton Machine

I comandi delle HortonMachine sono statisuddisi in 7 categorie:

Analisi del reticolo idrograficoå Network

Analisi relative al bacinoå Hydro-Geomorphology

Indici idro-geomorfologiciå Basin

Attributi del bacinoå Geomorphology

Analisi dei versantiå Hillslope

Manipolazione dei DEMå DEM Manipulation

Statisticheå Statistics 3

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 6: P horton machine

Le Horton Machine

Analisi del reticoloidrograficoå Network

Comandi che permettono dideterminare alcuneproprietà del reticoloidrografico.

4

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 7: P horton machine

Le Horton Machine

Analisi relative al bacinoå Hydro-Geomorphology

Comandi che permettono di svolgereanalisi di un bacino idrografico.

Indici idro-geomorfologiciå Basin

Comandi che permettono di determinarealcuni indici relativi al bacino idrografico.

5

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 8: P horton machine

Le Horton Machine

Attributi del bacinoå Geomorphology

Comandi che permettono di calcolarealcuni attributi del bacino quali pendenza,direzioni di drenaggio, aree contribuenti.

Analisi dei versantiå Hillslope

Comandi che permettono di calcolarealcune caratteristiche dei versanti delbacino e di determinare una classificazionein base alle loro proprietà morfologiche.

6

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 9: P horton machine

Le Horton Machine

Manipolazione dei DEMå DEM Manipulation

Comandi che permettono di svolgereanalisi preliminari sui modelli digitali delterreno.

Statisticheå Statistics

Comandi che permettono di condurrealcune analisi statistiche sui bacini.

7

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 10: P horton machine

La morfologia

La topografia è rappresentata mediante una funzione continuabivariata z = f (x, y) e con le sue derivate fino al secondo ordine.

8

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 11: P horton machine

Modelli Digitali del Terreno

La forma più comune ed efficiente dirappresentare un Modello Digitale delTerreno (D.T.M.) è mediante una grigliaquadrata di dati.

Ipotesi:valori significativigriglia quadrata regolaretopografia ad 8 direzioni

I dati in questa forma,chiamata raster,rappresentano la coordinataverticale z per una serie dipunti successivi lungo undeterminato profilo spaziale.

9

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 12: P horton machine

Operazioni preliminari

Prima di poter operare sul DTM con i comandi delle Horton Machineè necessario:

1 creare l’ambiente di lavoro location2 assicurarsi di lavorare di lavorare all’interno della location in

formato GRASS,å generalmente il DTM è in formato raster ascii, come un .ascå assicurarsi di trattarlo in modo da prendere in input il file

.asc (con associato .prj) e settare l’outputall’interno della location (cartella cell)

Dopodichè l’obbiettivo principale è quello di estrarre il bacinod’interesse, sono necessarie alcune elaborazioni del dtm di partenza:

5 Riempimento delle depressioni Pitfiller6 Calcolo delle direzioni di drenaggio Flowdirection/Draindir7 Estrazione del reticolo idrografico ExtractNetwork8 Estrazione del bacino idrografico Wateroutlet

10

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 13: P horton machine

Operazioni preliminari

Prima di poter operare sul DTM con i comandi delle Horton Machineè necessario:

1 creare l’ambiente di lavoro location2 assicurarsi di lavorare di lavorare all’interno della location in

formato GRASS,å generalmente il DTM è in formato raster ascii, come un .ascå assicurarsi di trattarlo in modo da prendere in input il file

.asc (con associato .prj) e settare l’outputall’interno della location (cartella cell)

Dopodichè l’obbiettivo principale è quello di estrarre il bacinod’interesse, sono necessarie alcune elaborazioni del dtm di partenza:

5 Riempimento delle depressioni Pitfiller6 Calcolo delle direzioni di drenaggio Flowdirection/Draindir7 Estrazione del reticolo idrografico ExtractNetwork8 Estrazione del bacino idrografico Wateroutlet

10

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 14: P horton machine

Operazioni preliminari: Pitfiller

La prima operazione da fare è riempire i punti di depressione presentinel dtm in modo da poter poi definire univocamente le direzioni didrenaggio in ogni punto.

Il comando che si utilizza per questo sfrutta l’algoritmo di Tarboton.å Dem Manipulation -> Pitfiller

Analisi a riguardo di questo argomento hanno dimostrato che questaelaborazione riguarda meno dell’1% dei punti egeneralmente questi punti di depressioneprovengono da errori di calcolo nella fase di creazione del dtm.å Generalmente non si tratta di reali depressioni

11

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 15: P horton machine

Operazioni preliminari: Pitfiller

La prima operazione da fare è riempire i punti di depressione presentinel dtm in modo da poter poi definire univocamente le direzioni didrenaggio in ogni punto.

Il comando che si utilizza per questo sfrutta l’algoritmo di Tarboton.å Dem Manipulation -> Pitfiller

Analisi a riguardo di questo argomento hanno dimostrato che questaelaborazione riguarda meno dell’1% dei punti egeneralmente questi punti di depressioneprovengono da errori di calcolo nella fase di creazione del dtm.å Generalmente non si tratta di reali depressioni

11

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 16: P horton machine

Operazioni preliminari: Pitfiller

La prima operazione da fare è riempire i punti di depressione presentinel dtm in modo da poter poi definire univocamente le direzioni didrenaggio in ogni punto.

Il comando che si utilizza per questo sfrutta l’algoritmo di Tarboton.å Dem Manipulation -> Pitfiller

Analisi a riguardo di questo argomento hanno dimostrato che questaelaborazione riguarda meno dell’1% dei punti egeneralmente questi punti di depressioneprovengono da errori di calcolo nella fase di creazione del dtm.å Generalmente non si tratta di reali depressioni

11

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 17: P horton machine

Pitfiller: utilizzo del comando

Per far girare questo comando,come tutti gli altri comandi, ènecessario definire gli inputs e glioutputs negli appositi tab posti infondo alla finestra degli SpatialToolbox.

Si può vedere che è inoltre presenteun terzo tab contenente una rapidadescrizione del comando, degliinputs necessari, degli outputsforniti e delle sintassi per utilizzareil comando in uno script.

12

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 18: P horton machine

Pitfiller: utilizzo del comando

Per far girare questo comando,come tutti gli altri comandi, ènecessario definire gli inputs e glioutputs negli appositi tab posti infondo alla finestra degli SpatialToolbox.

Si può vedere che è inoltre presenteun terzo tab contenente una rapidadescrizione del comando, degliinputs necessari, degli outputsforniti e delle sintassi per utilizzareil comando in uno script.

12

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 19: P horton machine

Pitfiller: inputs

L’input necessario per questocomando è il dtm stesso.

Per fornire una mappa bisognacliccare sull’apposito bottone ...accanto al nome della mapparichiesta nel tab inputs.

Si aprirà così una finestra di inputper indicare dove è collocata lamappa, quindi il suo path.

13

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 20: P horton machine

Pitfiller: inputs

L’input necessario per questocomando è il dtm stesso.

Per fornire una mappa bisognacliccare sull’apposito bottone ...accanto al nome della mapparichiesta nel tab inputs.

Si aprirà così una finestra di inputper indicare dove è collocata lamappa, quindi il suo path.

13

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 21: P horton machine

Pitfiller: inputs

L’input necessario per questocomando è il dtm stesso.

Per fornire una mappa bisognacliccare sull’apposito bottone ...accanto al nome della mapparichiesta nel tab inputs.

Si aprirà così una finestra di inputper indicare dove è collocata lamappa, quindi il suo path.

13

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 22: P horton machine

Pitfiller: inputs

Lavorando all’interno di unalocation GRASS/JGrass per fornirein input una mappa è necessarioindicare il percorso del filecorrispondente alla mappa nellacartella cell contenuta nellalocation.

Questo si può agevolmenteidentificare mediante la finestra dinavigazione dei files che comparecliccando sul pulsante ... accantoal campo dedicato al path.

14

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 23: P horton machine

Pitfiller: output

Successivamente è necessarioindicare le opzioni di output dainserire nel tab output.

L’output di questo comando, co-me di molti comandi dei JGras-stools, è la mappaelaborata dal comando stesso.

‘E quindi necessario indicare nellafinestra di output che si aprecliccando sul bottone ... il nomedella mappa di output ed ilpercorso dove salvarla.

15

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 24: P horton machine

Pitfiller: output

Inoltre lavorando all’interno di unalocation il percorso di salvataggioda indicare dovrà essere sempre lacartella cell all’interno dellalocation stessa.

Questo percorso può essere sempreagevolmente identificato mediantela finestra di navigazione dei filesche compare cliccando sul pulsante... accanto al campo dedicato alpath.

Il nome con cui salvare la mappa dioutput del comando può inveceessere inserito nell’apposito camposenza scrivere nessuna estensione.

16

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 25: P horton machine

Pitfiller: ASCII input & output

Se invece che lavorare in una location GRASS/JGrass si vuole lavorarein formato ESRI ASCII le mappe sono dei semplici file .asc.

Nella selezione dell’input èsufficiente selezionare il file .asccorrispondente alla mappa, mentrenell’indicare l’output si può indicareun percorso di salvataggio apiacere: è però necessario indicarel’estensione .asc nel nome del file.

Questo formato raster ha però alcuni svantaggi nella gestione della“cartella di lavoro”, dei Sistemi di Riferimento delle mappe e nel“trasferire l’intero lavoro” tra diversi programmi GIS

17

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 26: P horton machine

Pitfiller: proiezione (.prj file) & ASCII format

Un file raster in formato ascii non puòcontenere nessuna informazione relativa alSistema di Riferimento della mappa.Ogni mappa in formato .asc deve essereaccompagnato dal file .prj contenete leinfiormazioni del SdR.Il file .prj deve avere lo stesso nomedel file .asc (ovviamente ad eccezionedell’estensione)Se non si dispone di tale file lo si puòscaricare da http://spatialreference.org(ricercando l’opportuno SdR) e rinominareN.B. anche quando si lavora in una lo-cation gli eventuali imput .asc devonoessere accompagnati dal corretto file .prj

18

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 27: P horton machine

Pitfiller: esecuzione del comando

Inserite tutte le opzioni necessarie èpossibile eseguire il comandocliccando sul bottone I Run theselected module in alto a destranella finestra degli Spatial Toolbox.Il comando viene quindi eseguitomostrando in Console laprogressione; terminatal’esecuzione, la nuova mappa vienesalvata nella location (oppure i file.asc e .prj).T.W.: il salvataggio della primamappa nella location (specificandola creazione della cartella cell)creerà nella location un serie di altrecartelle accessorie necessarie.

19

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 28: P horton machine

Pitfiller: esecuzione del comando

å poi imortarla e visualizzarla in un GIS spetterà a noi!Visualizzazione della mappa output di Pitfiller in QGIS

20

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 29: P horton machine

Analisi dei valori di una mappa: RasterSummary

Ora che abbiamo visto come si utilizza un comando attraverso gliSpatial Toolbox e creata la nostra prima mappa vediamo un utilecomando che fornisce le statistiche riassuntive relative ad una mappa.

Questo comando non appartiene alle Horton Mchine masemplicemente ai moduli generici di Raster Processingil comando RasterSummary calcola le statistiche dei valori di unamappa raster

Nello specifico il comado calcolaalcune grandezze riassuntive dell’intera mappa: valore minimo,valore massimo, valore media, deviazione standard, somma di tuttii valori, la quantità di no dataoltre a fornire tutti i dati per costruire l’istogramma delladistribuzione dei valori contenuti nella mappa

21

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 30: P horton machine

Analisi dei valori di una mappa: RasterSummary

Ora che abbiamo visto come si utilizza un comando attraverso gliSpatial Toolbox e creata la nostra prima mappa vediamo un utilecomando che fornisce le statistiche riassuntive relative ad una mappa.

Questo comando non appartiene alle Horton Mchine masemplicemente ai moduli generici di Raster Processingil comando RasterSummary calcola le statistiche dei valori di unamappa raster

Nello specifico il comado calcolaalcune grandezze riassuntive dell’intera mappa: valore minimo,valore massimo, valore media, deviazione standard, somma di tuttii valori, la quantità di no dataoltre a fornire tutti i dati per costruire l’istogramma delladistribuzione dei valori contenuti nella mappa

21

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 31: P horton machine

RasterSummary: input

Questo particolare comandorichiede in input:

la mappa su cui calcolare lestatistichenumero di intervalli in cuidividere il range di valoridella mappa per calcolarel’istogrammail check per indicare dicalcolare tutti i datidell’istogramma

22

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 32: P horton machine

RasterSummary: output

I valori in output vengono stampatinella vista Console, possono quindiessere facilmente salvati in un filedi testo puro (mediante un copia &incolla) in formato ASCII (adesempio: disth.txt), che unqualsiasi foglio elettronico, o R (!),può leggere facilmente.Stampa, in ordine da sx a dx:

la media nell’intervallo deivalori della mappa mappail numero di pixel della mappanell’intervallola percentuale di pixel dellamappa nell’intervallo

23

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 33: P horton machine

Esempio di plot dei risultati

Questo è un esempio di plot con R della distribuzione delle quote deipunti del dtm in esame, prima con ordinata i pixel, poi la percentuale.

read.table(“disth.txt”)->dhplot(dh[,1],dh[,2],type=“l”,ylab=“Area [pixel]”,xlab=“Quote [m]”,main=“Distribuzione delle quote”)

24

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 34: P horton machine

Le direzioni di drenaggio

Le direzioni di drenaggio definiscono come l’acqua si muove sullasuperficie del terreno in relazione alla topografia della regione in analisi.

IpotesiOgni cella del dtm può drenaresolo in una delle sue 8 celleadiacenti, quelle adiacenti,soprastanti, sottostanti o diagonali,nella direzione di massima pendenzadiscendente.

Solo 8 possibili direzioni per il flussoå Questo è un limite nella

modellazione del flusso naturale

25

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 35: P horton machine

FlowDirection

Questo comando calcola le direzionidi drenaggio nella direzione dellamassima pendenza discendenteidentificando per ogni cella del dtmuna delle 8 vicine.

L’input necessario è la mappadel dtm depittato.

I numeri convenzionali cherappresentano le direzioni didrenaggio nella mappa di outputsono dall’1 all’8, dove 1 corrispondealla direzione est.

26

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 36: P horton machine

FlowDirection

Mappa di output dove ogni colore rappresenta una delle 8 direzioni.

27

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 37: P horton machine

FlowDirection

Corrispondenza tra colori della mappa, numeri convenzionali e direzioni

1//

2??3OO4 __

5 oo

6��

7�� 8

��

28

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 38: P horton machine

Correzione alle direzioni di drenaggio

Il metodo finora descritto e utilizzato prende il nome D8. L’utilizzo diquesto metodo per la determinazione delle direzioni di drenaggio generaun effetto di deviazione dalla reale direzione identificata dal gradiente

Questo metodo può essere corretto con un algoritmo che calcola ledirezioni di drenaggio minimizzando la deviazione della direzione delflusso determinato da quella del flusso reale. Questa deviazione vienecalcolata partendo dal punto a quote maggiori, procedendo verso quoteminori.

La deviazione è calcolata mediante una costruzione triangolare e puòquindi essere espressa come:

Deviazione Angolare metodo D8-LADDistanza Trasversale metodo D8-LTD

Questo metodo utilizza un parametro λ per pesare la correzione.

Metodo sviluppato da S. Orlandi29

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 39: P horton machine

Correzione alle direzioni di drenaggio

Metodo D8-LAD Deviazione Angolare valutata con αMetodo D8-LTD Distanza Trasversale valutata con δ

La deviazione è calcolatacumulandola dal punto a quotamaggiore, discendendo; la direzioneD8 viene corretta indirizzandolaverso la direzione reale quando ilvalore supera una certa soglia.Questa soglia viene assegnatamediante il parametro λ; se λ = 0 ilcontatore non ha memoria e quindii punti precedenti non influenzanola correzione.

30

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 40: P horton machine

DrainDir: input

I minimi input necessari sono:la mappa del dtm depittatola mappa delle direzioni didrenaggio precedentementecreata con FlowDirection

È inoltre possibile modificare ilparametro λ e la modalità LADo LTD.

Lavorando in modalità standard,quindi senza fissare la reteidrografica, non è necessario fornirela mappa delle direzioni didrenaggio lungo la rete.

31

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 41: P horton machine

DrainDir: output

Questo comando restituisce inoutput la mappa delle areecontribuenti, oltre alla mapparappresentante le direzioni didrenaggio corrette.

La mappa che rappresenta le areecontribuenti può esserealternativamente ottenuta con ilcomando Geomorphology -> Tca

Nella prossima slide si illustreràcosa rappresentano le areecontribuenti e la loro utilità.

32

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 42: P horton machine

Aree contribuenti

L’ Area Contribuente Totale -tca- rappresenta l’area che contribuisceall’afflusso in un punto del bacino.

È una quantità molto importante nell’analisi geomorfologica edidrologica di un bacino idrografico: è strettamente collegata al flusso inuscita attraverso i differenti punti del bacino in condizioni diprecipitazione uniforme.

La maggior parte di metodi diffusivi utilizzati per estrarre la reteidrografica a partire dal dtm sono basati su questa quantità.

Ai =∑

Aj ×Wj ; dove Wj ={1 se il j-esimo pixel drena nell’i-esimo0 negli altri casi

33

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 43: P horton machine

Aree contribuenti

Zoom della mappa delle tca, visualizzata dopo un opporunatrasformazione in scala di colori logaritmica. Visto l’ordine digrandezza dei valori si consiglia di visualizzare le tca in scala

logaritmica; invece per visualizzare la sola asta principale dalla mappanon logaritmica accertarsi che i limiti della scala colori siano impostati

ai valori estermi min/max.

34

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 44: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Per trasformare i valori della mappa tca in scala logaritmicautilizziamol o strumento:Raster Processing -> MapCalc,utile per eseguire operazioni logico-aritmetiche su mappe rasterper applicare il logaritmo (base 10) al valore di ciascun pixeluseremo (come mostrato nel box di destra) la funzione:log(mapname,base)

images {map_tca = read;result = write;}result =log(map_tca,10); }

35

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 45: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Per trasformare i valori della mappa tca in scala logaritmicautilizziamol o strumento:Raster Processing -> MapCalc,utile per eseguire operazioni logico-aritmetiche su mappe rasterper applicare il logaritmo (base 10) al valore di ciascun pixeluseremo (come mostrato nel box di destra) la funzione:log(mapname,base)

images {map_tca = read;result = write;}result =log(map_tca,10); }

35

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 46: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Attualmente il Map Calculator, strumento che permette di eseguireoperazioni aritmetiche e logiche sulle mappe, utilizza il linguaggio Jiffle.

1 per prima cosa bisogna selezionare come sempre le mappe di inpute la mappa di output), cioè tutte le mappe coinvolte nei calcoli

2 successivamente bisogna anche scrivere il codice per definire questemappe come variabili

3 quindi va scritta la sintassi per eseguire le operazioni desiderate suqueste mappe, ad es. alcune comuni sono:

assegnazionioperazioni aritmetichecontrollo di flusso ifgestione dei punti senza valori: NaN/null

4 in Jiffle sono presenti molte funzioni e sintassi non visibilidall’interfaccia di STAGE, si veda questa guida introduttiva:http://jaitools.org/docs/jiffle/latest/userguide/html/

36

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 47: P horton machine

MapCalc: definizione delle variabili

Gli input (i.e. ciascuna mappa coinvolta nei calcoli) devono essereprima inserite come in qualunque altro comando (e anche l’output),ma devono essere poi dichiarati anche nella sintassi del MapCalc

images {foce_drain = read;result = write;}

Sintassi per definire le mappe di inputcome variabili.Per gli input, cioè le mappe da leggere, ilnome della variabile deve essere uguale aquello della mappa.È inoltre necessario definire la variabile dioutput, cioè la mappa da scrivere. Questonome non deve necessariamente essereuguale a quello della mappa di output;quest’ultimo va come al solito, inseritonell’apposito tab outputs insieme al path.

37

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 48: P horton machine

MapCalc: assegnazione & operazioni aritmetiche

Questi sono treesempi diassegnazione dellavariabile di output,chiamata out:

result = null;

result = 91;

result=foce_drain;

Un’assegnazione si esegue sempre con unasintassi composta, in ordine:

1 dal nome della variabile in cuiassegnare

2 dall’operatore di assegnazione =3 dalla quantità da assegnare alla

variabile.Negli esempi si vedono tre diversi tipi diquantità da assegnare alla variabile out:

1 nessun valore null2 un valore costante3 i valori presenti in un’altra mappa

å questi tipi di quantità si possonocombinare con gli operatori + - * /

38

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 49: P horton machine

MapCalc: controllo di flusso if

if (test) {operazioni daeseguire se iltest è vero;

} else {operazioni daeseguire se iltest è falso;

};

Il test deve essere un’equazione logica cherestituisca Vero o Falso.

Può quindi essere imposto comeuguaglianza (Attenzione: ==),disuguaglianza o con appositi comandi cherestituiscano Vero o Falso che vedremodopo.

Le operazioni da eseguire possono essereuna o più istruzioni, analoghe a quelle chesi scriverebbero al di fuori dell’ambienteif.å come operazioni da eseguire possono

anche essere annidati altri controlli if

39

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 50: P horton machine

MapCalc: gestione dei punti senza valori: NaN/null

Questi sono degliesempi di utilizzo dispecifici comandi pergestire i punti a cuinon è assegnato alcunvalore.

isnan(foce_drain)

out = null

Nei primi si vede l’uso del comandoisnan{}, che restituisce Vero quando ilsuo argomento non contiene valori.Più precisamente quando ha valoreNot A Number, valore assegnato di defaultdai JGrasstools nei punti in cui non èpresente alcun dato.Restituendo un valore booleano risultaparticolarmente comodo da usare cometest in un controllo if.

Nel secondo si vede invece l’assegnazionead una variabile (quindi ad una mappa) di”nessun valore” grazie all’appositocomando null che assegna valore null.

40

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 51: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Ritorniamo a trasformare mappa tca in scala logaritmicautilizziamol o strumento:Raster Processing -> MapCalc,utile per eseguire operazioni logico-aritmetiche su mappe rasterper applicare il logaritmo (base 10) al valore di ciascun pixeluseremo (come mostrato nel box di destra) la funzione:log(mapname,base)

images {map_tca = read;result = write;}result =log(map_tca,10); }

41

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 52: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Ritorniamo a trasformare mappa tca in scala logaritmicautilizziamol o strumento:Raster Processing -> MapCalc,utile per eseguire operazioni logico-aritmetiche su mappe rasterper applicare il logaritmo (base 10) al valore di ciascun pixeluseremo (come mostrato nel box di destra) la funzione:log(mapname,base)

images {map_tca = read;result = write;}result =log(map_tca,10); }

41

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 53: P horton machine

MapCalc: un’applicazione alle direzioni di drenaggio

Zoom della mappa delle tca, visualizzata opportunamente dopo latrasformazione logarirtmica dei valori.

42

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 54: P horton machine

Markoutlets

L’applicazione di molti comandiper essere eseguita correttamenterichiede che la mappa delledirezioni di drenaggio abbia unulteriore valore.Questo nuovo valore rappresenta laclasse dei punti che rappresentanogli outlets del bacino: questi sono ipunti che drenano all’esterno delbacino in analisi.Il comando Dem Manipulation-> Markoutlets marca glioutlets con un valoreconvenzionale 10, e richiede ininput le direzioni di drenaggio,meglio se calcolate con DrainDir

43

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 55: P horton machine

Estrazione della rete idrografica

Nel comando Network -> ExtractNetwork sono implementati 3metodi per estrarre i canali che compongono la rete idrografica:

0 mediante una soglia sulle aree contribuenti (solo i punti con areacontribuente maggiore della soglia danno luogo alla formazione dicanali)

1 mediante soglia sul prodotto tra aree contribuenti e pendenza(questa quantità stima lo sforzo tangenziale)

2 mediante soglia analoga alla precedente considerando solo i punticonvergenti

Dopo aver individuato i punti di formazione dei canali, con una diqueste tre soglie, la rete viene costruita considerando tutti gli altripunti posti a quote minori.

44

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 56: P horton machine

ExtractNetwork: modo 1

Si potrebbe ora procedere conl’estrazione utilizzando il primometodo: soglia sulle sole areecontribuenti, preferiamo peròandare oltre nell’analisi al fine diottenere una rete più accurata.

Sarebbero necessari in input lamappa delle direzioni di dre-naggio, meglio se calcolate conDrainDir, e delle TCA.È inoltre necessario impostare ilvalore di soglia e specificare ilmetodo da utilizzare: tca.

45

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 57: P horton machine

Pendenze: Slope

Il comando Geomorphology -> Slope calcola la pendenza dellasuperficie topografica in ogni punto lungo le direzioni di drenaggio.

Questo comando calcola la differenza di quota tra ogni pixel e quelloadiacente immediatamente a valle. Successivamente divide questagrandezza per la dimensione del pixel, oppure della sua diagonale, aseconda della posizione reciproca dei due pixel considerati.

Il valore restituito rappresenta quindi la tangente dell’angolorappresentante la pendenza. Si può ottenere il valore dell’angolooperando con MapCalc, il cui funzionamento verrà illustrato più avanti.

46

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 58: P horton machine

Slope

Richiede in input le mappe:del dtm depittatodelle direzioni di drenaggio,meglio se calcolate conDrainDir

47

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 59: P horton machine

ExtractNetwork: modo 2

Avremmo già ora le mappenecessarie ad estrarre le reteidrografica con il secondo tipo disoglia, basata su tca e pendenze;proseguiamo invece nell’analisi alfine di estarre la rete con l’ultimo, epiù raffinato, metodo.

Sarebbe quindi necessario fornireun ulteriore input oltre a quelligià visti, ovvero la mappa dellependenze appena calcolata.Bisogna specificare il metodo

corretto: tca and slope.

48

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 60: P horton machine

Curvature

Le curvature rappresentano la deviazione del vettore gradiente perunità di lunghezza lungo particolari curve tracciate sulla superficie inesame f(x,y).La Curvatura Longitudinale rappresenta la deviazione delgradiente andando da valle verso monte seguendo l’inviluppo deigradienti. È negativa se il gradiente aumenta.La Curvatura Piana si ottiene sezionando la superficie con un pianoparallelo al piano (x,y) ed è la variazione dei vettori tangenti alle lineedi livello passanti per il punto in esame. Misura la convergenza (se> 0) o la divergenza (se < 0) del flusso.La Curvatura Tangenziale è determinata sulla curva diintersezione tra un piano perpendicolare alla direzione del gradiente etangente alle linee di livello nel punto considerato.Curvatura tangente e piana sono tra loro proporzionali e la lorodistribuzione spaziale è la stessa.

49

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 61: P horton machine

Curvatura tangenziale (o normale)

Curvatura negativa - convessa:questo caso è tipico di zone diversante dove il flusso vienesuddiviso sui pixel vicini di quotainferiore secondo il metodo dellamassima pendenza.

Topografia localmente divergente

50

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 62: P horton machine

Curvature

Il comando Geomorfology ->Curvatures permette di calcolarequesti 3 tipi di curvature come 3diverse mappe di output.

Longitudinaleå Profile o Longitudinal

Pianaå Planar

Tangenzialeå Tangential o Normal

Questo comando richiede in inputla sola mappa del dtm depittato

51

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 63: P horton machine

Curvature

Curvatura Longitudinale e suo zoom Curvatura Tangenziale e suo zoom

52

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 64: P horton machine

Classi Topografiche

Permettono di attribuire ad ognipixel una delle 9 classi topografiche,ottenute con l’intersezione dei tretipi di curvature longitudinali e deitre di curvature planari.

È anche possibile aggregare questeclassi in tre categorie fondamentali:

siti concavisiti convessisiti piani

53

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 65: P horton machine

Classi Topografiche

Nomi identificativi ecorrispondenti valori per le9 classi (a lato) e per le 3classi aggregate (sotto) conspecificate le riclassificazioni.

10 planare parallelo20 convesso parallelo30 concavo parallelo40 planare divergente50 convesso divergente60 concavo divergente70 planare convergente80 convesso convergente90 concavo convergente

15 concavo, unione delle classi 30, 70 e 9025 planare, corrispondente alla classe 1035 convesso, unione delle restanti classi

54

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 66: P horton machine

Tc

Il comando che permette di crearele due mappe contenenti questeclassificazioni è Hillslope -> Tc.

Richiede in input le due mappedelle:

curvature longitudinalicurvature normali

È inoltre necessario definire duesoglie che definiscono la condizio-ne di planarità.

Restituisce in output le due mappecon 9 e 3 classi.

55

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 67: P horton machine

Tc

Mappa 9 classi morfologiche Mappa 3 classi fondamentali

56

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 68: P horton machine

ExtractNetwork: modo 3

Abbiamo ora tutte le mappenecessarie ad estrarre le reteidrografica con il terzo tipo disoglia, cioè sullo sforzo tangenzialesolo sui siti convergenti.

È quindi necessaria in input unaulteriore mappa, oltre alle pri-me due, delle classi topograficheaggregate (con sole 3 classi).È inoltre necessario indicare ilmetodo corretto, l’ultimo.La soglia dipende sempre, come pergli altri metodi, dalla dimensionedei pixel e dagli attributitopografici del bacino.

57

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 69: P horton machine

ExtractNetwork: output

Mappa di output rappresentante i canali della rete idrografica

Ai puntiappartenentiai canali èassegnatovalore 2,mentre a tuttigli altri puntiè assegnatono value, cioènessun valore.

58

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 70: P horton machine

Estrazione del bacino di interesse: chiusura

A questo punto abbiamo tutto quello che ci occorre per estrarre ilbacino idrografico d’interesse. Manca solo un’informazione: l’outlet,cioè il punto di chiusura di questo bacino.Tale punto deve appartenere alla rete idrografica, quindi bisognerà chesulla mappa restituita da ExtractNetwork abbia valore 2.

1 Individuare il punto sulla mappa, se si dispone di uno shapefilecontenente tale punto è comodo importarlo per individuarlo confacilità.

2 Interrogare il valore della mappa utilizzando lo strumento info diQGIS, cliccando sul punto in esame (strumento infocontrassegnato dall’icona i©↖ nella barra degli strumenti)

3 Nella finestra info verifcare che il valore (Band 1) sia 2 e copiare lecoordinate del punto:click dx su (clicked coordinates) -> Copy attribute value

59

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 71: P horton machine

Estrazione del bacino di interesse: chiusura

Zoom della rete dei canali e vista informazioni per individuare l’outlet

60

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 72: P horton machine

Estrazione del bacino di interesse: Wateroutlet

Ora possiamo estrarre il bacino diinteresse con il comando DemManipulation -> Wateroutlet.

In input sono necessari:le coordinate del punto dichiusura appena individuatela mappa delle direzioni didrenaggio, meglio secalcolata con DrainDir

Copiate le coordinate nei duerispettivi campiNB: la prima cooridnata in QGISè la coordinate est (x)

61

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 73: P horton machine

Estrazione del bacino di interesse: Wateroutlet

Restituisce in output una mascheradel bacino estratto con valore 1all’interno e no value all’esterno.Si può verificare come il confine delbacino estratto passi effettivamenteper il punto di chiusura.

62

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 74: P horton machine

Ritaglio delle mappe sul bacino di interesse

Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappefino ad ora elaborate.Le opzioni di lavoro sarebbero due:

calcolare di nuovo le grandezze sul DTM del bacino estrattoritagliare le mappe sulla maschera del bacino estratto

La prima opzione prevede di ricalcolare la mappa delleelevazioni depittata e le direzioni di drenaggio. Questo può

comportare incompatibilità con il dato di partenza.

Per ottenere correttamente tutte le mappe relative al bacino ritagliatosarà necessaria anche un’ulteriore operazione successiva: rilanciare ilcomando Dem Manipulation -> Markoutletssulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outletsdel bacino ritagliato saranno differenti.

63

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 75: P horton machine

Ritaglio delle mappe sul bacino di interesse

Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappefino ad ora elaborate.Le opzioni di lavoro sarebbero due:

calcolare di nuovo le grandezze sul DTM del bacino estrattoritagliare le mappe sulla maschera del bacino estratto

La prima opzione prevede di ricalcolare la mappa delleelevazioni depittata e le direzioni di drenaggio. Questo può

comportare incompatibilità con il dato di partenza.

Per ottenere correttamente tutte le mappe relative al bacino ritagliatosarà necessaria anche un’ulteriore operazione successiva: rilanciare ilcomando Dem Manipulation -> Markoutletssulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outletsdel bacino ritagliato saranno differenti.

63

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 76: P horton machine

Ritaglio delle mappe sul bacino di interesse

Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappefino ad ora elaborate.Le opzioni di lavoro sarebbero due:

calcolare di nuovo le grandezze sul DTM del bacino estrattoritagliare le mappe sulla maschera del bacino estratto

La prima opzione prevede di ricalcolare la mappa delleelevazioni depittata e le direzioni di drenaggio. Questo può

comportare incompatibilità con il dato di partenza.

Per ottenere correttamente tutte le mappe relative al bacino ritagliatosarà necessaria anche un’ulteriore operazione successiva: rilanciare ilcomando Dem Manipulation -> Markoutletssulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outletsdel bacino ritagliato saranno differenti.

63

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 77: P horton machine

CutOut

Utilizzando il comando CutOutscegliamo quindi di ritagliare lemappe già create:

dtm depittatodirezioni di drenaggiotcareticolo idrografico(pendenze)(curvature)(classi topografiche)

Gli input necessari sono la mappada usare come maschera e quella daritagliare, senza soglie.

64

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 78: P horton machine

Struttura di drenaggio e sottobacini

Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe dibase su questo, possiamo eseguire alcuni altri comandi al fine diottenere la struttura della rete di drenaggio e dei sottobacini relativi albacino di interesse.In particolare si vogliono ottenere le mappe dei sottobacini e della rete didrenaggio, quest’ultima anche in formato vettoriali in quanto da questa èpossibile estrarre (e poi interrogare) informazioni geometriche utili.Lo strumento fondamentale sarà il comando che permette di numerarela rete di drenaggio ed estrarre i corrispondenti sottobaciniå Network -> NetNumbering

Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:Network -> NetworkAttributesBuilder vettorializzazionedella reteVector Processing -> VectorReshaper manipolazione dimappe vettoriali

65

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 79: P horton machine

Struttura di drenaggio e sottobacini

Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe dibase su questo, possiamo eseguire alcuni altri comandi al fine diottenere la struttura della rete di drenaggio e dei sottobacini relativi albacino di interesse.In particolare si vogliono ottenere le mappe dei sottobacini e della rete didrenaggio, quest’ultima anche in formato vettoriali in quanto da questa èpossibile estrarre (e poi interrogare) informazioni geometriche utili.Lo strumento fondamentale sarà il comando che permette di numerarela rete di drenaggio ed estrarre i corrispondenti sottobaciniå Network -> NetNumbering

Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:Network -> NetworkAttributesBuilder vettorializzazionedella reteVector Processing -> VectorReshaper manipolazione dimappe vettoriali

65

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 80: P horton machine

Struttura di drenaggio e sottobacini

Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe dibase su questo, possiamo eseguire alcuni altri comandi al fine diottenere la struttura della rete di drenaggio e dei sottobacini relativi albacino di interesse.In particolare si vogliono ottenere le mappe dei sottobacini e della rete didrenaggio, quest’ultima anche in formato vettoriali in quanto da questa èpossibile estrarre (e poi interrogare) informazioni geometriche utili.Lo strumento fondamentale sarà il comando che permette di numerarela rete di drenaggio ed estrarre i corrispondenti sottobaciniå Network -> NetNumbering

Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:Network -> NetworkAttributesBuilder vettorializzazionedella reteVector Processing -> VectorReshaper manipolazione dimappe vettoriali

65

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 81: P horton machine

Rete di drenaggio del bacino di interesse

Per prima cosa estraiamo la rete didrenaggio relativa al solo bacino diinteresse, analogamente a come giàfatto per l’intero dtm.Questo in modo da utilizzaresempre il metodo più raffinato esettare accuratamente la soglia.Gli input sono quelli già visti,ovviamente utilizzando tutte lemappe ritagliate.

È ora molto importante scegliereaccuratamente il valore della soglia,da questo dipende quanto sarà fittae quindi quanti rami e conseguentisottobacini si otterranno.

66

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 82: P horton machine

NetworkAttributesBuilder: mappa vettoriale .shp della rete

Se desideriamo ora possiamoottenere la mappa vettoriale dellarete nel nostro bacino di interersse.Per questo usiamo il comandoNetworkAttributesBuilder, chene estrae anche una serie di utiliattributi.Gli input si indicano come diconsueto.Invece l’output vettoriale .shp vaindicato diversamente. Si de-ve indicare il nome della map-pa, l’estensione -che deve essereshp- e un percorso a piacere do-ve salvarlo (non all’interno dellalocation). 67

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 83: P horton machine

Mappa vettoriale .shp della rete idrografica

Mappa vettorialedella rete, e attributidi ogni featurecontenuti nellatabella attributi(visualizzabile inQGIS).Come si vede è moltoutile per distinguere isingoli rami e capirequanti sonoesattamente, perchècoincideranno con isottobacini cheestrarremo.

68

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 84: P horton machine

VectorReshaper: estrazione delle lunghezze dei rami

Sfruttiamo ora le potenzialità della mappa vettoriale della rete perestarrre le lunghezze di ogni singolo ramo.Per fare questo useremo il comando generico per analisi vettorialiVectorReshaper, non appartenente quindi alla categoria delleHorton Machine ma ai Vector Processing.Questo comando vuole in input una mappa vettoriale e restituisceun’altra mappa vettoriale derivata grazie a funzioni ecql (unasintassi ampliata del cql, semplificazione del linquaggio sql) con:

1 nuovi campi di attributi2 attributi derivati dalle caratteristiche geometriche delle feature3 nuove feature geometriche derivate da quelle originali

Si inserisce il vettoriale in input intuitivamente andando a selezionare ilfile con estensione .shp su cui si desidera lavorare.La sintassi per estrarre le lunghezze è: len=geomLength(the_geom)

Documentazione sull’ecql [1] e una buona lista di funzioni cql [2]:[1] http://docs.geotools.org/latest/userguide/library/cql/ecql.html[2] http://udig.github.io/docs/user/concepts/Constraint%20Query%20Language.html

69

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 85: P horton machine

VectorReshaper: estrazione delle lunghezze dei rami

Sfruttiamo ora le potenzialità della mappa vettoriale della rete perestarrre le lunghezze di ogni singolo ramo.Per fare questo useremo il comando generico per analisi vettorialiVectorReshaper, non appartenente quindi alla categoria delleHorton Machine ma ai Vector Processing.Questo comando vuole in input una mappa vettoriale e restituisceun’altra mappa vettoriale derivata grazie a funzioni ecql (unasintassi ampliata del cql, semplificazione del linquaggio sql) con:

1 nuovi campi di attributi2 attributi derivati dalle caratteristiche geometriche delle feature3 nuove feature geometriche derivate da quelle originali

Si inserisce il vettoriale in input intuitivamente andando a selezionare ilfile con estensione .shp su cui si desidera lavorare.La sintassi per estrarre le lunghezze è: len=geomLength(the_geom)

Documentazione sull’ecql [1] e una buona lista di funzioni cql [2]:[1] http://docs.geotools.org/latest/userguide/library/cql/ecql.html[2] http://udig.github.io/docs/user/concepts/Constraint%20Query%20Language.html

69

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 86: P horton machine

VectorReshaper: estrazione delle lunghezze dei rami

Sfruttiamo ora le potenzialità della mappa vettoriale della rete perestarrre le lunghezze di ogni singolo ramo.Per fare questo useremo il comando generico per analisi vettorialiVectorReshaper, non appartenente quindi alla categoria delleHorton Machine ma ai Vector Processing.Questo comando vuole in input una mappa vettoriale e restituisceun’altra mappa vettoriale derivata grazie a funzioni ecql (unasintassi ampliata del cql, semplificazione del linquaggio sql) con:

1 nuovi campi di attributi2 attributi derivati dalle caratteristiche geometriche delle feature3 nuove feature geometriche derivate da quelle originali

Si inserisce il vettoriale in input intuitivamente andando a selezionare ilfile con estensione .shp su cui si desidera lavorare.La sintassi per estrarre le lunghezze è: len=geomLength(the_geom)

Documentazione sull’ecql [1] e una buona lista di funzioni cql [2]:[1] http://docs.geotools.org/latest/userguide/library/cql/ecql.html[2] http://udig.github.io/docs/user/concepts/Constraint%20Query%20Language.html

69

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 87: P horton machine

VectorReshaper: estrazione delle lunghezze dei rami

Interfaccia del comando (stage) settato per caloclare le lunghezze(sinistra) e il nuovo vettoriale della rete con il nuovo campo delle

lunghezze: len

70

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 88: P horton machine

NetNumbering: numerazione della rete ed estazione sottobacini

Utilizziamo ora il comandoNetwork -> NetNumbering al finedi estrarre i sottobacini, oltre allamappa della rete numerata.

I primi 3 inputs sono quellinecessari, a questo puntodovrebbero essere tutti diimmediata comprensione.Nella modalità in cui utilizzere-mo il comando non è necessarioinserire la quarta mappa ininput.Gli outputs sono tutti mappe ra-ster, dovremo inserirli entrambi.

71

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 89: P horton machine

NetNumbering: settaggio della soglia

(Se) Il comando lavora in modalitàsoglia sulle TCA (threshold onTCA), bisonerà quindi inserire unopportuno valore nel campo sogliaÈ sempre e comunque necessa-rio utilizzare in input una mappadella rete con un adeguato livellodi ramificazioni, quindi preceden-temente estratta con una sogliaadeguata (ad es: TCA=1000)Inoltre è necessario settare anchequa la soglia sulle TCA, percoerenza alemno uguale o maggiorea quella con cui era stata estrattala rete (ad es: TCA=10000)

72

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 90: P horton machine

NetNumberin: output del comando

Le due mappe output di NetNumbering: rete numerata e sottobacini

73

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 91: P horton machine

Mappa vettoriale dei sottobacini

analogamente a quanto detto per la rete idrografica è altrettantocomoda una mappa vettoriale dei contorni dei sottobaciniquesta operazione è fatta egregiamente dal comando BasinShape,purtroppo questo non è presente nell’attuale versione di STAGEun operazione simile può essere fatta con il classico modulo diconversione da raster a vettoriale che è presente inVector Processing -> Vectorizerquesto comando ha però alcuni problemi (come in GRASS) allecongiunzioni tra due sottobacini, dove vengono erroneamentecreati sottobacini (feature) di pochi pixel non presentiil comando ha però un utile opzione di soglia sulla dimensioneminima (in pixel) che devono avere le feature per essere createå si può quindi giocare con il valore di questa soglia per cercare

di ottenere una mappa vettoriale dei sottobacini correttaLe 4 slide seguenti sono comunque riportate per completezza o per centroidi da Vectorizer

74

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 92: P horton machine

BasinShape: vettorializzazione dei contorni dei sottobacini

Vogliamo ora ottenere la mappavettoriale .shp dei contorni deisottobacini, che sarà comoda perestrarre varie informazioni, comegià visto per la mappa della rete.Questo comando vuole in inputdue mappe raster:

la mappa del dtm depittatoe quella dei sottobaciniottenuta con NetNumbering

. . . e restituisce in output lamappa vettoriale dei sottobacini.Gli input raster si inseriscono comegià visto in precedenza e l’outputvettoriale come visto per la rete.

75

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 93: P horton machine

Mappa vettoriale .shp dei sottobacini

Mappa vettoriale deisottobacini, si puòvedere che ilcomando ha giacalcolato moltiattributi utili perogni sottobacino:

areaperimetronumerazionequota massimaquota minimaquota mediaquota dell’uscita

76

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 94: P horton machine

VectorReshaper: centroidi dei sottobacini

Sfruttiamo ancora il comandoVectorReshaper per ottenere unanuova mappa contenente i centroididi ogni singolo bacino.

Le mappe vettoriali in input eoutput si inseriscono come vistoprima per lo stesso comando.

La nuova mappa deve conteneredelle nuove features geometrichederivate, i centroidi.

La sintassi ecql dovrà riscrivereil campo the_geom, sarà quindi:the_geom=centroid(the_geom)

77

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 95: P horton machine

VectorReshaper: Mappa vettoriale .shp dei centroidi

Mappa vettoriale deicentroidi di ognisottobacino.

È ben evidente comequesto comandoabbia creato unanuova mappa confeature geometrichedi tipo differente,ovvero i puntirappresentanti icentroidi, derivatidalle feature originali(aree deisottobacini).

78

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 96: P horton machine

Attributi derivati

Ora che abbiamo concluso l’analisi idrologica di base, estraendo ilbacino d’interesse, la rete di drenaggio ed i sottobacini, possiamoeseguire una serie di altri comandi delle Horton Machine al fine diottenere alcune mappe utili per una analisi idro-geomorfologica piùcompleta del bacino. Ne vedremo ora un paio a titolo di esempio.

Esposizione Geomorphology -> Aspect

Modulo del vettore gradiente Geomorphology -> Gradient

(Pendenza lungo la rete Geomorphology ->Slope)(Curvature Geomorphology -> Curvatures)Area di drenaggio Geomorphology -> Ab

(Classi topografiche Hillslope -> Tc)Distanza dalla chiusura Basin -> RescaledDistance

Indice topografico Basin -> TopIndex

79

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 97: P horton machine

Attributi derivati

Ora che abbiamo concluso l’analisi idrologica di base, estraendo ilbacino d’interesse, la rete di drenaggio ed i sottobacini, possiamoeseguire una serie di altri comandi delle Horton Machine al fine diottenere alcune mappe utili per una analisi idro-geomorfologica piùcompleta del bacino. Ne vedremo ora un paio a titolo di esempio.

Esposizione Geomorphology -> Aspect

Modulo del vettore gradiente Geomorphology -> Gradient

(Pendenza lungo la rete Geomorphology ->Slope)(Curvature Geomorphology -> Curvatures)Area di drenaggio Geomorphology -> Ab

(Classi topografiche Hillslope -> Tc)Distanza dalla chiusura Basin -> RescaledDistance

Indice topografico Basin -> TopIndex

79

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 98: P horton machine

Indice topografico

TI = log Ab |∇z|

esprime la tendenza di un pixel a saturarsiå aree con valori elevati di indice topografico si saturano

prima di aree a basso indice topograficodipende solo dalla morfologia

è proporzionale al rapporto tra area cumulata nel pixel e pendenza

Si calcola con il comando Basin -> TopIndex che richiede in input:la mappa delle tcala mappa delle pendenze calcolata con Slope

80

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 99: P horton machine

Indice topografico

TI = log Ab |∇z|

esprime la tendenza di un pixel a saturarsiå aree con valori elevati di indice topografico si saturano

prima di aree a basso indice topograficodipende solo dalla morfologia

è proporzionale al rapporto tra area cumulata nel pixel e pendenza

Si calcola con il comando Basin -> TopIndex che richiede in input:la mappa delle tcala mappa delle pendenze calcolata con Slope

80

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 100: P horton machine

Calcolo dell’indice topografico: TopIndex input

81

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 101: P horton machine

Calcolo dell’indice topografico: TopIndex output

82

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 102: P horton machine

Calcolo dell’indice topografico: MapCalc

Pixel con pendenza bassa hanno elevata propensione allasaturazione a parità di area cumulataci sono zone all’interno del bacinodove non è definito l’indice topograficoå sono quelle con pendenza pari a zero per cui il rapporto

area cumulata su pendenza tende ad infinito

Si assegna ai pixel convalore nullo di indicetopografico il valoremassimo caratteristicodella mappa utilizzandoRaster Processing ->MapCalc, sfruttando,con le modalità già viste,la seguente sintassi:

images{ pass_mytop=read;pass_mybas=read; out=write;}if (isnan( pass_mybas )) {out = null;} else { if (isnan( pass_mytop )) {out = 25;} else {out = pass_mytop; } ; };

83

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 103: P horton machine

Calcolo dell’indice topografico: MapCalc

84

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 104: P horton machine

Distanze riscalate: RescaledDistance

Il comando RescaledDistance permette di calcolare le distanzedall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.Queste distanze possono essere riscalate, cioè calcolate considerandovelocità diverse nei versanti e nella rete idrografica.Per calcolare queste distanze viene quindi introdotto il parametro r ,definito come il rapporto tra la velocità nei canali e nei versanti:

r = ucuh

con uc : velocità nei canali e uh : velocità nei versanti

Questo comando richiede in input le mappe:delle direzioni di drenaggio, calcolate con DrainDir e con glioutlets marcati con MarkOutlets

della rete idrografica, calcolata con ExtractNetwork scegliendouno dei tre tipi di soglie (sempre meglio se il tipo 2)

Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)85

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 105: P horton machine

Distanze riscalate: RescaledDistance

Il comando RescaledDistance permette di calcolare le distanzedall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.Queste distanze possono essere riscalate, cioè calcolate considerandovelocità diverse nei versanti e nella rete idrografica.Per calcolare queste distanze viene quindi introdotto il parametro r ,definito come il rapporto tra la velocità nei canali e nei versanti:

r = ucuh

con uc : velocità nei canali e uh : velocità nei versanti

Questo comando richiede in input le mappe:delle direzioni di drenaggio, calcolate con DrainDir e con glioutlets marcati con MarkOutlets

della rete idrografica, calcolata con ExtractNetwork scegliendouno dei tre tipi di soglie (sempre meglio se il tipo 2)

Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)85

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 106: P horton machine

Distanze riscalate: RescaledDistance

Il comando RescaledDistance permette di calcolare le distanzedall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.Queste distanze possono essere riscalate, cioè calcolate considerandovelocità diverse nei versanti e nella rete idrografica.Per calcolare queste distanze viene quindi introdotto il parametro r ,definito come il rapporto tra la velocità nei canali e nei versanti:

r = ucuh

con uc : velocità nei canali e uh : velocità nei versanti

Questo comando richiede in input le mappe:delle direzioni di drenaggio, calcolate con DrainDir e con glioutlets marcati con MarkOutlets

della rete idrografica, calcolata con ExtractNetwork scegliendouno dei tre tipi di soglie (sempre meglio se il tipo 2)

Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)85

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 107: P horton machine

Distanze riscalate: RescaledDistance

Calcolo delle mappa delle distanze semplici con r = 1

86

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 108: P horton machine

RescaledDistance

Calcolo delle mappa delle distanze riscalate con r = 10

87

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 109: P horton machine

Funzione di ampiezza del bacino idrografico

Ora che abbiamo calcolato le mappe delle distanze e distanze riscalatevogliamo ottenere la distribuzione di questi valori sulle mappe, il graficodi queste rappresenterà la funzione d’ampiezza semplice e riscalata.

La distribuzione dei valori su una mappa potrebbe essereugualmente ottenuta con il comando RasterSummary, che

abbiamo già visto all’inizio di questa trattazione.Preferiamo invece ora utilizzare il più evoluto comando

Statistics -> Cb (delle Horton Machine).In questa applicazione fornisce un analogo risultato, però può

essere sfruttato per ottenere più complesse statisticheincrociate tra due mappe.

Per ottenere comunque la semplice distribuzione dei valori di unamappa è sufficiente utilizzarlo fornendo la stessa mappa in input perentrambe le mappe.

88

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 110: P horton machine

Funzione di ampiezza del bacino idrografico

Ora che abbiamo calcolato le mappe delle distanze e distanze riscalatevogliamo ottenere la distribuzione di questi valori sulle mappe, il graficodi queste rappresenterà la funzione d’ampiezza semplice e riscalata.

La distribuzione dei valori su una mappa potrebbe essereugualmente ottenuta con il comando RasterSummary, che

abbiamo già visto all’inizio di questa trattazione.Preferiamo invece ora utilizzare il più evoluto comando

Statistics -> Cb (delle Horton Machine).In questa applicazione fornisce un analogo risultato, però può

essere sfruttato per ottenere più complesse statisticheincrociate tra due mappe.

Per ottenere comunque la semplice distribuzione dei valori di unamappa è sufficiente utilizzarlo fornendo la stessa mappa in input perentrambe le mappe.

88

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 111: P horton machine

Funzione di ampiezza del bacino idrografico

Ora che abbiamo calcolato le mappe delle distanze e distanze riscalatevogliamo ottenere la distribuzione di questi valori sulle mappe, il graficodi queste rappresenterà la funzione d’ampiezza semplice e riscalata.

La distribuzione dei valori su una mappa potrebbe essereugualmente ottenuta con il comando RasterSummary, che

abbiamo già visto all’inizio di questa trattazione.Preferiamo invece ora utilizzare il più evoluto comando

Statistics -> Cb (delle Horton Machine).In questa applicazione fornisce un analogo risultato, però può

essere sfruttato per ottenere più complesse statisticheincrociate tra due mappe.

Per ottenere comunque la semplice distribuzione dei valori di unamappa è sufficiente utilizzarlo fornendo la stessa mappa in input perentrambe le mappe.

88

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 112: P horton machine

Analisi dei valori di una mappa: Cb

Il comando Statistics -> Cb calcola le statistiche dei valori diuna mappa rispetto a quelli contenuti in un’altra mappa

i dati della prima mappa vengono raggruppati in un numeroprefissato di intervalli e viene calcolato il valore medio dellavariabile indipendente in ciascun intervalload ogni intervallo corrisponde un set di valori nella secondamappa, dei quali viene calcolata la media e gli altri momentirichiesti dall’utente

il comando restituisce nella vista Console tutti questi valori perogni intervallo, associati al numero di pixel contenuti nell’intervallo

I valori stampati in output possono essere facilmente salvati in un file ditesto puro (mediante un copia & incolla) in formato ASCII che unqualsiasi foglio elettronico o R può leggere facilmente.

89

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 113: P horton machine

Cb: input

Questo particolare comandorichiede in input:

le due mappe su cuicalcolare le statistichenumero di intervalli in cuidividere il range di valoridella prima mappail primo e l’ultimo ordine deimomenti da calcolare

Le due mappe possono anche esserela stessa mappa se si vuole ottenerela distribuzione dei valori contenutinella mappa sul bacino (va sempreinserita in entrambe i campi).

90

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 114: P horton machine

Cb: output

Questo particolare comandostampa, in ordine da sx a dx:

la media nell’intervallo deivalori della prima mappail numero di pixel della primamappa nell’intervalloil momento di primo ordine(media) dei valori dellaseconda mappail momento di secondo ordine(varianza) dei valori dellaseconda mappase richiesti, i momenti diordine superiore dei valoridella seconda mappa

91

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 115: P horton machine

Esempio di plot dei risultati

Questo è un esempio di plot con R della distribuzione delle distanze deipunti del bacino: rappresenta la funzione d’ampiezza del bacino.

read.table(“filename.txt”)->rd1plot(rd1[,1],rd1[,2],type=“l”,ylab=“Area [pixel]”,xlab=“Distanza [m]”,main=“Distanze Riscalate”)

92

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 116: P horton machine

Scriptare i JGrasstools

Se lanciare tutti questi comandi in successione e dover inserire ognivolta tutti gli input e gli output vi è sembrato molto noioso, visuggerisco di provare a scriptare!

Tutte le operazioni che abbiamo fatto da interfaccia grafica sipossono completamente implementare in semplici codici che

eseguono in successione una serie di comandi.I JGrasstools si possono scriptare con linguaggio Geoscript,

pensato per scrivere codici con sintassi groovy su moduli JavaUno script può essere scritto e lanciato in vari modi,

agevolmente all’interno di STAGE, ma anche attraverso shellscript completamente da riga di comando (termianle)!

Un pò di documentazione (spesso riferita al vecchio uDig, ma non cambia):jgrasstechtips.blogspot.it/2013/01/proposal-geoscript-console-in-udig.htmljgrasstechtips.blogspot.it/2013/01/course-java-open-source-gis-development.htmljgrasstechtips.blogspot.it/2013/03/course-geographic-scripting-in-udig.html

93

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 117: P horton machine

Indice dei simboli

Simbolo Nome udmTI Indice topografico -A Area totale al di sopra di ogni punto L2

b Lunghezza della parte di pixelinteressata dal drenaggio L

∇z Pendenza -x Distanza di un punto del bacino dall’uscita

misurata lungo le direzioni di drenaggio Lx ′ Distanza dall’uscita riscalata Lxc Distanza di un punto del canale dall’uscita Lxh Distanza di un punto dal canale

a cui afferisce (lungo le linee di drenaggio) Lr Rapporto tra celerità dell’onda di piena

nei canali e nei versanti -uc Celerità del deflusso nei canali L T−1

uh Celerità del deflusso superficiale L T−1

94

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 118: P horton machine

Indice dei comandi

Comando Breve DescrizioneCb Calcola le le statistiche delle mappeCurvature Calcola le curvature longitudinali e trasversaliCutOut Ritaglia una mappa rasterDrainDir Stima le direzioni di drenaggio corretteExtractNetwork Estrae il reticolo idrograficoFlowDirection Stima le direzioni di drenaggio con D8 puroMapCalc Esegue calcoli sui rasterMarkOutlet Marca l’uscita del bacino in esamePitfiller Riempie le depressioni di un DEMRescaledDistance Calcola la funzione di ampiezza riscalataSlope Calcola il modulo della pendenzaTc Calcola le classi topograficheTca Calcola le aree contribuentiTopIndex Calcola l’indice topograficoWaterOutlet Estrae il bacino idrografico

95

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 119: P horton machine

Credits

La Horton Machine è il frutto del lavoro di ricercacongiunto di cudam ed Hydrologis s.r.l.

96

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 120: P horton machine

Credits

Questa presentazione è stata scritta da:Silvia Franceschi (Hydrologis and Ispra)Leonardo Perathoner (Università di Trento)Matteo Toro (Università di Trento)Giuseppe Formetta (Università di Trento)

La redazione di questa presentazione è stata supportata da Ispranell’ambito del progetto Danube Flood Risk e dalla ProvinciaAutonoma di Bolzano, nell’ambito del progetto HydroAlp.

Per quanto possibile, questa presentazione è stata redatta con l’uso disoftware libero. LATEX per a scrittura, per il quale Leonardo Perathonerha approntato un apposito stile. Il programma statistico R(http://cran.r-project.org/) per l’elaborazione delle figure nonprodotte da STAGE e QGIS.

97

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015

Page 121: P horton machine

Grazie dell’attenzione

JGrassTools Mailinglist:https://groups.google.com/forum/?fromgroups#!forum/jgrasstools

E-mail esercitazioni:[email protected]

98

S. Franceschi, L. Perathoner, M. Toro, G. Formetta

30 marzo 2015