Insegna come usare le Horton Machine con uDig 1.3.1. Con le Horton Machine si possono calcolare pendenze, aree contribuenti, curvature, estrarre le reti idrografiche, delineare i bacini etc. English Version under http://www.slideshare.net/SlidesAboutHydrology/
Horton Machine - GIS spatial Analysis Tool - In Italian
1. Analisi Idro-Geomorfologica con i
JGrasstools e le Horton Machine
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
2. “Free Software . . . you should
think of ‘free’ as in ‘free speech’,
not as in ‘free beer’. ”
Richard Stallman
1
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
3. Le Horton Machine
Le Horton Machine sono un pacchetto sviluppato con l’obbiettivo di
fornire degli strumenti quantitativi e qualitativi per indagare la
morfologia di un bacino idrografico.
¯ Analisi Geomorfologica
L’obbiettivo è analizzare i processi di erosione dei canali fluviali e la
possibilità di innesco di frane superficiali.
Questo viene fatto considerando che i processi geomorfologici principali
in un bacino siano:
Erosione diffusiva dei pendii
Processi di incisione da parte dei canali
Trasporto dei sedimenti nei canali
Frane
2
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
4. Le Horton Machine
Le Horton Machine sono un pacchetto sviluppato con l’obbiettivo di
fornire degli strumenti quantitativi e qualitativi per indagare la
morfologia di un bacino idrografico.
¯ Analisi Geomorfologica
L’obbiettivo è analizzare i processi di erosione dei canali fluviali e la
possibilità di innesco di frane superficiali.
Questo viene fatto considerando che i processi geomorfologici principali
in un bacino siano:
Erosione diffusiva dei pendii
Processi di incisione da parte dei canali
Trasporto dei sedimenti nei canali
Frane
2
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
5. Le Horton Machine
I comandi delle Horton Analisi del reticolo idrografico
Machine sono stati ¯ Network
suddisi in 7 categorie: 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
17 marzo 2013
6. Le Horton Machine
Analisi del reticolo
idrografico
¯ Network
Comandi che permettono di
determinare alcune
proprietà del reticolo
idrografico.
4
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
7. Le Horton Machine
Analisi relative al bacino
¯ Hydro-Geomorphology
Comandi che permettono di svolgere
analisi di un bacino idrografico.
Indici idro-geomorfologici
¯ Basin
Comandi che permettono di determinare
alcuni indici relativi al bacino idrografico.
5
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
8. Le Horton Machine
Attributi del bacino
¯ Geomorphology
Comandi che permettono di calcolare
alcuni attributi del bacino quali pendenza,
direzioni di drenaggio, aree contribuenti.
Analisi dei versanti
¯ Hillslope
Comandi che permettono di calcolare
alcune caratteristiche dei versanti del
bacino e di determinare una classificazione
in base alle loro proprietà morfologiche.
6
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
9. Le Horton Machine
Manipolazione dei DEM
¯ DEM Manipulation
Comandi che permettono di svolgere
analisi preliminari sui modelli digitali del
terreno.
Statistiche
¯ Statistics
Comandi che permettono di condurre
alcune analisi statistiche sui bacini.
7
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
10. La morfologia
La topografia è rappresentata mediante una funzione continua
bivariata z = f (x, y) e con le sue derivate fino al secondo ordine.
8
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
11. Modelli Digitali del Terreno
La forma più comune ed efficiente di
rappresentare un Modello Digitale del
Terreno (D.T.M.) è mediante una griglia
quadrata di dati.
I dati in questa forma,
Ipotesi:
chiamata raster,
valori significativi rappresentano la coordinata
griglia quadrata regolare verticale z per una serie di
topografia ad 8 direzioni punti successivi lungo un
determinato profilo spaziale.
9
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
12. Operazioni preliminari
Prima di poter operare sul DTM con i comandi delle Horton Machine
è necessario:
1 creare l’ambiente di lavoro location
2 importarvi all’interno la mappa
contenente il modello digitale del terreno (DTM)
¯ generalmente è in formato raster ascii, come un .asc
3 settare la regione di lavoro Processing Region
Dopodichè l’obbiettivo principale è quello di estrarre il bacino
d’interesse, sono necessarie alcune elaborazioni del dtm di partenza:
5 Riempimento delle depressioni Pitfiller
6 Calcolo delle direzioni di drenaggio Flowdirection/Draindir
7 Estrazione del reticolo idrografico ExtractNetwork
8 Estrazione del bacino idrografico Wateroutlet
10
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
13. Operazioni preliminari
Prima di poter operare sul DTM con i comandi delle Horton Machine
è necessario:
1 creare l’ambiente di lavoro location
2 importarvi all’interno la mappa
contenente il modello digitale del terreno (DTM)
¯ generalmente è in formato raster ascii, come un .asc
3 settare la regione di lavoro Processing Region
Dopodichè l’obbiettivo principale è quello di estrarre il bacino
d’interesse, sono necessarie alcune elaborazioni del dtm di partenza:
5 Riempimento delle depressioni Pitfiller
6 Calcolo delle direzioni di drenaggio Flowdirection/Draindir
7 Estrazione del reticolo idrografico ExtractNetwork
8 Estrazione del bacino idrografico Wateroutlet
10
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
14. Operazioni preliminari: Pitfiller
La prima operazione da fare è riempire i punti di depressione presenti
nel dtm in modo da poter poi definire univocamente le direzioni di
drenaggio 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 questa
elaborazione riguarda meno dell’1% dei punti e
generalmente questi punti di depressione
provengono 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
17 marzo 2013
15. Operazioni preliminari: Pitfiller
La prima operazione da fare è riempire i punti di depressione presenti
nel dtm in modo da poter poi definire univocamente le direzioni di
drenaggio 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 questa
elaborazione riguarda meno dell’1% dei punti e
generalmente questi punti di depressione
provengono 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
17 marzo 2013
16. Operazioni preliminari: Pitfiller
La prima operazione da fare è riempire i punti di depressione presenti
nel dtm in modo da poter poi definire univocamente le direzioni di
drenaggio 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 questa
elaborazione riguarda meno dell’1% dei punti e
generalmente questi punti di depressione
provengono 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
17 marzo 2013
17. Pitfiller: utilizzo del comando
Per far girare questo comando,
come tutti gli altri comandi, è
necessario definire gli inputs e gli
outputs negli appositi tab posti in
fondo alla finestra degli Spatial
Toolbox.
Si può vedere che è inoltre presente
un terzo tab contenente una rapida
descrizione del comando, degli
inputs necessari, degli outputs
forniti e delle sintassi per utilizzare
il comando in uno script.
12
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
18. Pitfiller: utilizzo del comando
Per far girare questo comando,
come tutti gli altri comandi, è
necessario definire gli inputs e gli
outputs negli appositi tab posti in
fondo alla finestra degli Spatial
Toolbox.
Si può vedere che è inoltre presente
un terzo tab contenente una rapida
descrizione del comando, degli
inputs necessari, degli outputs
forniti e delle sintassi per utilizzare
il comando in uno script.
12
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
19. Pitfiller: inputs
L’input necessario per questo
comando è il dtm stesso.
Per fornire una mappa bisogna
cliccare sull’apposito bottone ...
accanto al nome della mappa
richiesta nel tab inputs.
Si aprirà così una finestra di input
dove inserire tutte le informazioni
necessarie.
13
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
20. Pitfiller: inputs
L’input necessario per questo
comando è il dtm stesso.
Per fornire una mappa bisogna
cliccare sull’apposito bottone ...
accanto al nome della mappa
richiesta nel tab inputs.
Si aprirà così una finestra di input
dove inserire tutte le informazioni
necessarie.
13
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
21. Pitfiller: inputs
L’input necessario per questo
comando è il dtm stesso.
Per fornire una mappa bisogna
cliccare sull’apposito bottone ...
accanto al nome della mappa
richiesta nel tab inputs.
Si aprirà così una finestra di input
dove inserire tutte le informazioni
necessarie.
13
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
22. Pitfiller: inputs
Alla prima voce bisogna indicare
dove è collocata la mappa, quindi il
suo path.
Oltre al path sono presenti due
campi con i valori da leggere e da
scrivere come novalue, qualora non
fossero presenti dati.
Infine, se si è scelto di lavorare
utilizzando la Processing Region,
sono presenti una serie di voci
riguardanti le impostazioni di
questa: confini, risoluzione, numero
di righe e colonne; se la si è già
impostata correttamente non è
necessario modificarle.
14
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
23. Pitfiller: inputs
Lavorando all’interno di una
location GRASS/JGrass per fornire
in input una mappa è necessario
indicare il percorso del file
corrispondente alla mappa nella
cartella cell contenuta nella
location.
Questo si può agevolmente
identificare mediante la finestra di
navigazione dei files che compare
cliccando sul pulsante ... accanto
al campo dedicato al path.
15
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
24. Pitfiller: output
Successivamente è necessario
indicare le opzioni di output da
inserire nel tab output.
L’output di questo comando, co-
me di molti comandi dei JGras-
stools, è la mappa
elaborata dal comando stesso.
‘E quindi necessario indicare nella
finestra di output che si apre
cliccando sul bottone ... il nome
della mappa di output ed il
percorso dove salvarla.
16
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
25. Pitfiller: output
Inoltre lavorando all’interno di una
location il percorso di salvataggio
da indicare dovrà essere sempre la
cartella cell all’interno della
location stessa.
Questo percorso può essere sempre
agevolmente identificato mediante
la finestra di navigazione dei files
che compare cliccando sul pulsante
... accanto al campo dedicato al
path.
Il nome con cui salvare la mappa di
output del comando può invece
essere inserito nell’apposito campo
senza scrivere nessuna estensione.
17
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
26. Pitfiller: ASCII input & output
Se invece che lavorare in una location GRASS/JGrass si vuole lavorare
in formato ESRI ASCII le mappe sono dei semplici file .asc.
Nella selezione dell’input è
sufficiente selezionare il file .asc
corrispondente alla mappa, mentre
nell’indicare l’output si può indicare
un percorso di salvataggio a
piacere: è però necessario indicare
l’estensione .asc nel nome del file.
Questo formato raster ha però alcuni svantaggi nell’utilizzo in quanto
non mantiene le categorie e le scale dei colori delle mappe, che è quindi
necessario reimpostare in uDig a ogni utilizzo.
18
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
27. Pitfiller: esecuzione del comando
Inserite tutte le opzioni necessarie è
possibile eseguire il comando
cliccando sul bottone Run the
selected module in alto a destra
nella finestra degli Spatial Toolbox.
Il comando viene quindi eseguito
mostrando in Console la
progressione; terminata
l’esecuzione, la nuova mappa viene
automaticamente caricata nella
location e aggiornato il Catalogo di
uDig.
19
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
28. Pitfiller: esecuzione del comando
Visualizzazione della mappa output di Pitfiller in una nuova Mappa
20
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
29. Analisi dei valori di una mappa: RasterSummary
Ora che abbiamo visto come si utilizza un comando attraverso gli
Spatial Toolbox e creata la nostra prima mappa vediamo un utile
comando che fornisce le statistiche riassuntive relative ad una mappa.
Questo comando non appartiene alle Horton Mchine ma
semplicemente ai moduli generici di Raster Processing
il comando RasterSummary calcola le statistiche dei valori di una
mappa raster
Nello specifico il comado calcola
alcune grandezze riassuntive dell’intera mappa: valore minimo,
valore massimo, valore media, deviazione standard, somma di tutti
i valori, la quantità di no data
oltre a fornire tutti i dati per costruire l’istogramma della
distribuzione dei valori contenuti nella mappa
21
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
30. Analisi dei valori di una mappa: RasterSummary
Ora che abbiamo visto come si utilizza un comando attraverso gli
Spatial Toolbox e creata la nostra prima mappa vediamo un utile
comando che fornisce le statistiche riassuntive relative ad una mappa.
Questo comando non appartiene alle Horton Mchine ma
semplicemente ai moduli generici di Raster Processing
il comando RasterSummary calcola le statistiche dei valori di una
mappa raster
Nello specifico il comado calcola
alcune grandezze riassuntive dell’intera mappa: valore minimo,
valore massimo, valore media, deviazione standard, somma di tutti
i valori, la quantità di no data
oltre a fornire tutti i dati per costruire l’istogramma della
distribuzione dei valori contenuti nella mappa
21
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
31. RasterSummary: input
Questo particolare comando
richiede in input:
la mappa su cui calcolare le
statistiche
numero di intervalli in cui
dividere il range di valori
della mappa per calcolare
l’istogramma
il check per indicare di
calcolare tutti i dati
dell’istogramma
22
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
32. RasterSummary: output
I valori in output vengono stampati
nella vista Console di uDig, possono
quindi essere facilmente salvati in
un file di testo puro (mediante un
copia & incolla) in formato ASCII
(ad esempio: disth.txt), che un
qualsiasi foglio elettronico, o R (!),
può leggere facilmente.
Stampa, in ordine da sx a dx:
la media nell’intervallo dei
valori della mappa mappa
il numero di pixel della mappa
nell’intervallo
la percentuale di pixel della
mappa nell’intervallo
23
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
33. Esempio di plot dei risultati
Questo è un esempio di plot con R della distribuzione delle quote dei
punti del dtm in esame, prima con ordinata i pixel, poi la percentuale.
read.table(disth.txt)->dh
plot(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
17 marzo 2013
34. Le direzioni di drenaggio
Le direzioni di drenaggio definiscono come l’acqua si muove sulla
superficie del terreno in relazione alla topografia della regione in analisi.
Ipotesi
Ogni cella del dtm può drenare
solo in una delle sue 8 celle
adiacenti, quelle adiacenti,
soprastanti, sottostanti o diagonali,
nella direzione di massima pendenza
discendente.
Solo 8 possibili direzioni per il flusso
¯ Questo è un limite nella
modellazione del flusso naturale
25
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
35. FlowDirection
Questo comando calcola le direzioni
di drenaggio nella direzione della
massima pendenza discendente
identificando per ogni cella del dtm
una delle 8 vicine.
L’input necessario è la mappa
del dtm depittato.
I numeri convenzionali che
rappresentano le direzioni di
drenaggio nella mappa di output
sono dall’1 all’8, dove 1 corrisponde
alla direzione est.
26
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
36. FlowDirection
Mappa di output dove ogni colore rappresenta una delle 8 direzioni.
27
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
37. FlowDirection
Corrispondenza tra colori della mappa, numeri convenzionali e direzioni
3O
4 ??
_ ? 2
??
??
5o
?
???
/1
??
6 8
7
28
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
38. Correzione alle direzioni di drenaggio
Il metodo finora descritto e utilizzato prende il nome D8. L’utilizzo di
questo metodo per la determinazione delle direzioni di drenaggio genera
un effetto di deviazione dalla reale direzione identificata dal gradiente
Questo metodo può essere corretto con un algoritmo che calcola le
direzioni di drenaggio minimizzando la deviazione della direzione del
flusso determinato da quella del flusso reale. Questa deviazione viene
calcolata partendo dal punto a quote maggiori, procedendo verso quote
minori.
La deviazione è calcolata mediante una costruzione triangolare e può
quindi essere espressa come:
Deviazione Angolare metodo D8-LAD
Distanza Trasversale metodo D8-LTD
Questo metodo utilizza un parametro λ per pesare la correzione.
Metodo sviluppato da S. Orlandi
29
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
39. Correzione alle direzioni di drenaggio
Metodo D8-LAD Deviazione Angolare valutata con α
Metodo D8-LTD Distanza Trasversale valutata con δ
La deviazione è calcolata
cumulandola dal punto a quota
maggiore, discendendo; la direzione
D8 viene corretta indirizzandola
verso la direzione reale quando il
valore supera una certa soglia.
Questa soglia viene assegnata
mediante il parametro λ; se λ = 0 il
contatore non ha memoria e quindi
i punti precedenti non influenzano
la correzione.
30
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
40. DrainDir: input
I minimi input necessari sono:
la mappa del dtm depittato
la mappa delle direzioni di
drenaggio precedentemente
creata con FlowDirection
È inoltre possibile modificare il
parametro λ e la modalità LAD
o LTD.
Lavorando in modalità standard,
quindi senza fissare la rete
idrografica, non è necessario fornire
la mappa delle direzioni di
drenaggio lungo la rete.
31
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
41. DrainDir: output
Questo comando restituisce in
output la mappa delle aree
contribuenti, oltre alla mappa
rappresentante le direzioni di
drenaggio corrette.
La mappa che rappresenta le aree
contribuenti può essere
alternativamente ottenuta con il
comando Geomorphology - Tca
Nella prossima slide si illustrerà
cosa rappresentano le aree
contribuenti e la loro utilità.
32
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
42. Aree contribuenti
L’ Area Contribuente Totale -tca- rappresenta l’area che contribuisce
all’afflusso in un punto del bacino.
È una quantità molto importante nell’analisi geomorfologica ed
idrologica di un bacino idrografico: è strettamente collegata al flusso in
uscita attraverso i differenti punti del bacino in condizioni di
precipitazione uniforme.
La maggior parte di metodi diffusivi utilizzati per estrarre la rete
idrografica a partire dal dtm sono basati su questa quantità.
1 se il j-esimo pixel drena nell’i-esimo
Ai = Aj × Wj ; dove Wj =
0 negli altri casi
33
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
43. Aree contribuenti
Zoom della mappa delle tca, visualizzata in scala di colori logaritmica.
Visto l’ordine di grandezza dei valori si consiglia di visualizzarla
impostando
la tabella dei colori nello Style Editor su logarithmic.
34
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
44. Markoutlets
L’applicazione di molti comandi
per essere eseguita correttamente
richiede che la mappa delle
direzioni di drenaggio abbia un
ulteriore valore.
Questo nuovo valore rappresenta la
classe dei punti che rappresentano
gli outlets del bacino: questi sono i
punti che drenano all’esterno del
bacino in analisi.
Il comando Dem Manipulation
- Markoutlets marca gli
outlets con un valore
convenzionale 10, e richiede in
input le direzioni di drenaggio,
meglio se calcolate con DrainDir
35
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
45. Estrazione della rete idrografica
Nel comando Network - ExtractNetwork sono implementati 3
metodi per estrarre i canali che compongono la rete idrografica:
0 mediante una soglia sulle aree contribuenti (solo i punti con area
contribuente maggiore della soglia danno luogo alla formazione di
canali)
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 punti
convergenti
Dopo aver individuato i punti di formazione dei canali, con una di
queste tre soglie, la rete viene costruita considerando tutti gli altri
punti posti a quote minori.
36
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
46. ExtractNetwork: modo 0
Si potrebbe ora procedere con
l’estrazione utilizzando il primo
metodo: soglia sulle sole aree
contribuenti, preferiamo però
andare oltre nell’analisi al fine di
ottenere una rete più accurata.
Sarebbero necessari in input la
mappa delle direzioni di dre-
naggio, meglio se calcolate con
DrainDir, e delle TCA.
È inoltre necessario impostare il
valore di soglia e specificare il
metodo da utilizzare.
37
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
47. Pendenze: Slope
Il comando Geomorphology - Slope calcola la pendenza della
superficie topografica in ogni punto lungo le direzioni di drenaggio.
Questo comando calcola la differenza di quota tra ogni pixel e quello
adiacente immediatamente a valle. Successivamente divide questa
grandezza per la dimensione del pixel, oppure della sua diagonale, a
seconda della posizione reciproca dei due pixel considerati.
Il valore restituito rappresenta quindi la tangente dell’angolo
rappresentante la pendenza. Si può ottenere il valore dell’angolo
operando con MapCalc, il cui funzionamento verrà illustrato più avanti.
38
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
48. Slope
Richiede in input le mappe:
del dtm depittato
delle direzioni di drenaggio,
meglio se calcolate con
DrainDir
39
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
49. Slope: errore pixel con valore 10
Evidentemente il comando Slope non supporta la mappa ottenuta con
Markoutlets, come input per le direzioni di drenaggio.
Richiede in input le mappa delle direzioni di drenaggio senza
pixel con valore 10, che generalmente rappresentano gli outlets marcati
¯ deve contenere solo valori da 1 a 8,
che rappresentano le sole direzioni di drenaggio
40
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
50. ExtractNetwork: modo 1
Avremmo già ora le mappe
necessarie ad estrarre le rete
idrografica con il secondo tipo di
soglia, basata su tca e pendenze;
proseguiamo invece nell’analisi al
fine di estarre la rete con l’ultimo, e
più raffinato, metodo.
Sarebbe quindi necessario fornire
un ulteriore input oltre a quelli
già visti, ovvero la mappa delle
pendenze appena calcolata.
Bisogna specificare il metodo
corretto, contrassegnato con 1.
41
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
51. Curvature
Le curvature rappresentano la deviazione del vettore gradiente per
unità di lunghezza lungo particolari curve tracciate sulla superficie in
esame f(x,y).
La Curvatura Longitudinale rappresenta la deviazione del
gradiente andando da valle verso monte seguendo l’inviluppo dei
gradienti. È negativa se il gradiente aumenta.
La Curvatura Piana si ottiene sezionando la superficie con un piano
parallelo al piano (x,y) ed è la variazione dei vettori tangenti alle linee
di 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 di
intersezione tra un piano perpendicolare alla direzione del gradiente e
tangente alle linee di livello nel punto considerato.
Curvatura tangente e piana sono tra loro proporzionali e la loro
distribuzione spaziale è la stessa.
42
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
52. Curvatura tangenziale (o normale)
Curvatura negativa - convessa:
questo caso è tipico di zone di
versante dove il flusso viene
suddiviso sui pixel vicini di quota
inferiore secondo il metodo della
massima pendenza.
Topografia localmente divergente
43
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
53. Curvature
Il comando Geomorfology -
Curvatures permette di calcolare
questi 3 tipi di curvature come 3
diverse mappe di output.
Longitudinale
¯ Profile o Longitudinal
Piana
¯ Planar
Tangenziale
¯ Tangential o Normal
Questo comando richiede in input
la sola mappa del dtm depittato
44
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
54. Curvature
Curvatura Longitudinale e suo zoom Curvatura Tangenziale e suo zoom
45
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
55. Classi Topografiche
Permettono di attribuire ad ogni
pixel una delle 9 classi topografiche,
ottenute con l’intersezione dei tre
tipi di curvature longitudinali e dei
tre di curvature planari.
È anche possibile aggregare queste
classi in tre categorie fondamentali:
siti concavi
siti convessi
siti piani
46
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
56. Classi Topografiche
10 planare parallelo
20 convesso parallelo
Nomi identificativi e 30 concavo parallelo
corrispondenti valori per le 40 planare divergente
9 classi (a lato) e per le 3 50 convesso divergente
classi aggregate (sotto) con
60 concavo divergente
specificate le riclassificazioni.
70 planare convergente
80 convesso convergente
90 concavo convergente
15 concavo, unione delle classi 30, 70 e 90
25 planare, corrispondente alla classe 10
35 convesso, unione delle restanti classi
47
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
57. Tc
Il comando che permette di creare
le due mappe contenenti queste
classificazioni è Hillslope - Tc.
Richiede in input le due mappe
delle:
curvature longitudinali
curvature normali
È inoltre necessario definire due
soglie che definiscono la condizio-
ne di planarità.
Restituisce in output le due mappe
con 9 e 3 classi.
48
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
58. Tc
Mappa 9 classi morfologiche Mappa 3 classi fondamentali
49
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
59. ExtractNetwork: modo 2
Abbiamo ora tutte le mappe
necessarie ad estrarre le rete
idrografica con il terzo tipo di
soglia, cioè sullo sforzo tangenziale
solo sui siti convergenti.
È quindi necessaria in input una
ulteriore mappa, oltre alle pri-
me due, delle classi topografiche
aggregate (con sole 3 classi).
È inoltre necessario indicare il
metodo corretto, indicato con 2.
La soglia dipende sempre, come per
gli altri metodi, dalla dimensione
dei pixel e dagli attributi
topografici del bacino.
50
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
60. ExtractNetwork: modo 2
Mappa di output rappresentante i canali della rete idrografica
Ai punti
appartenenti
ai canali è
assegnato
valore 2,
mentre a tutti
gli altri punti
è assegnato
no value, cioè
nessun valore.
51
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
61. Estrazione del bacino di interesse: chiusura
A questo punto abbiamo tutto quello che ci occorre per estrarre il
bacino 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à che
sulla mappa restituita da ExtractNetwork abbia valore 2.
1 Individuare il punto sulla mappa, se si dispone di uno shapefile
contenente tale punto è comodo importarlo per individuarlo con
facilità.
2 Interrogare il valore già assegnato sulla mappa utilizzando lo
strumento info di uDig, cliccando sul punto in esame dopo aver
attivato tale strumento. L’info tool si trova sotto la voce Info
nella barra degli strumenti della vista mappa.
3 Verificare tale valore che verrà visualizzato, insieme alle coordinate
del punto, in una nuova vista informazioni che si apre
automaticamente
52
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
62. Estrazione del bacino di interesse: chiusura
Zoom della rete dei canali e vista informazioni per individuare l’outlet
53
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
63. Estrazione del bacino di interesse: Wateroutlet
Ora possiamo estrarre il bacino di
interesse con il comando Dem
Manipulation - Wateroutlet.
In input sono necessari:
le coordinate del punto di
chiusura appena individuate
la mappa delle direzioni di
drenaggio, meglio se
calcolata con DrainDir
Le coordinate vengono
automaticamente inserite nei
rispettivi campi se si seleziona il
comando subito dopo aver
interrogato il punto.
54
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
64. Estrazione del bacino di interesse: Wateroutlet
Restituisce in output una maschera
del bacino estratto con valore 1
all’interno e no value all’esterno.
Si può verificare come il confine del
bacino estratto passi effettivamente
per il punto di chiusura.
55
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
65. Ritaglio delle mappe sul bacino di interesse
Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappe
fino ad ora elaborate.
Le opzioni di lavoro sarebbero due:
calcolare di nuovo le grandezze sul DTM del bacino estratto
ritagliare le mappe sulla maschera del bacino estratto
La prima opzione prevede di ricalcolare la mappa delle
elevazioni depittata e le direzioni di drenaggio. Questo può
comportare incompatibilità con il dato di partenza.
Per ottenere correttamente tutte le mappe relative al bacino ritagliato
sarà necessaria anche un’ulteriore operazione successiva: rilanciare il
comando Dem Manipulation - Markoutlets
sulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outlets
del bacino ritagliato saranno differenti.
56
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
66. Ritaglio delle mappe sul bacino di interesse
Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappe
fino ad ora elaborate.
Le opzioni di lavoro sarebbero due:
calcolare di nuovo le grandezze sul DTM del bacino estratto
ritagliare le mappe sulla maschera del bacino estratto
La prima opzione prevede di ricalcolare la mappa delle
elevazioni depittata e le direzioni di drenaggio. Questo può
comportare incompatibilità con il dato di partenza.
Per ottenere correttamente tutte le mappe relative al bacino ritagliato
sarà necessaria anche un’ulteriore operazione successiva: rilanciare il
comando Dem Manipulation - Markoutlets
sulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outlets
del bacino ritagliato saranno differenti.
56
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
67. Ritaglio delle mappe sul bacino di interesse
Ora dobbiamo ritagliare sul bacino estratto anche tutte le altre mappe
fino ad ora elaborate.
Le opzioni di lavoro sarebbero due:
calcolare di nuovo le grandezze sul DTM del bacino estratto
ritagliare le mappe sulla maschera del bacino estratto
La prima opzione prevede di ricalcolare la mappa delle
elevazioni depittata e le direzioni di drenaggio. Questo può
comportare incompatibilità con il dato di partenza.
Per ottenere correttamente tutte le mappe relative al bacino ritagliato
sarà necessaria anche un’ulteriore operazione successiva: rilanciare il
comando Dem Manipulation - Markoutlets
sulla mappa delle direzioni di drenaggio ritagliata, in quanto gli outlets
del bacino ritagliato saranno differenti.
56
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
68. CutOut
Utilizzando il comando CutOut
scegliamo quindi di ritagliare le
mappe già create:
dtm depittato
direzioni di drenaggio
tca
reticolo idrografico
(pendenze)
(curvature)
(classi topografiche)
Gli input necessari sono la mappa
da usare come maschera e quella da
ritagliare, senza soglie.
57
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
69. Struttura di drenaggio e sottobacini
Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe di
base su questo, possiamo eseguire alcuni altri comandi al fine di
ottenere la struttura della rete di drenaggio e dei sottobacini relativi al
bacino di interesse.
In particolare si vogliono ottenere le mappe vettoriali rappresentanti
questi elementi, in quanto da queste ultime è possibile interrogare ed
estrarre molte informazioni geometriche utili per analisi successive e
relazioni descrittive.
Lo strumento fondamentale sarà il comando che permette di numerare
la rete di drenaggio ed estrarre i corrispondenti sottobacini
¯ Network - NetNumbering
Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:
Basin - BasinShape estrazione dei contorni dei sottobacini
Vector Processing - VectorReshaper manipolazione di
mappe vettoriali
58
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
70. Struttura di drenaggio e sottobacini
Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe di
base su questo, possiamo eseguire alcuni altri comandi al fine di
ottenere la struttura della rete di drenaggio e dei sottobacini relativi al
bacino di interesse.
In particolare si vogliono ottenere le mappe vettoriali rappresentanti
questi elementi, in quanto da queste ultime è possibile interrogare ed
estrarre molte informazioni geometriche utili per analisi successive e
relazioni descrittive.
Lo strumento fondamentale sarà il comando che permette di numerare
la rete di drenaggio ed estrarre i corrispondenti sottobacini
¯ Network - NetNumbering
Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:
Basin - BasinShape estrazione dei contorni dei sottobacini
Vector Processing - VectorReshaper manipolazione di
mappe vettoriali
58
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
71. Struttura di drenaggio e sottobacini
Ora che abbiamo estratto il bacino d’interesse e ritagliato le mappe di
base su questo, possiamo eseguire alcuni altri comandi al fine di
ottenere la struttura della rete di drenaggio e dei sottobacini relativi al
bacino di interesse.
In particolare si vogliono ottenere le mappe vettoriali rappresentanti
questi elementi, in quanto da queste ultime è possibile interrogare ed
estrarre molte informazioni geometriche utili per analisi successive e
relazioni descrittive.
Lo strumento fondamentale sarà il comando che permette di numerare
la rete di drenaggio ed estrarre i corrispondenti sottobacini
¯ Network - NetNumbering
Utilizzeremo inoltre alcuni altri utili strumenti per le mappe vettoriali:
Basin - BasinShape estrazione dei contorni dei sottobacini
Vector Processing - VectorReshaper manipolazione di
mappe vettoriali
58
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
72. Rete di drenaggio del bacino di interesse
Per prima cosa estraiamo la rete di
drenaggio relativa al solo bacino di
interesse, analogamente a come
fatto in precedenza per l’intero
dtm, sempre in modalità 2.
Gli input sono quelli già visti.
È inoltre necessario indicare che
ora desideriamo ottenere anche la
mappa vettoriale .shp della rete,
checkando il relativo box.
È ora molto importante scegliere
accuratamente il valore della soglia,
da questo dipende quanto sarà fitta
e quindi quanti rami e conseguenti
sottobacini si otterranno.
59
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
73. ExtractNetwork: output vettoriale .shp
Come indicato negli input abbiamo
ora come ulteriore output una
mappa vettoriale .shp
Questo output va indicato
diversamente da come sempre fatto.
Si deve indicare l’estensione, che
deve essere shp e un percorso a
piacere dove salvarlo.
Per un’imprecisione nel modulo
di output questo non è molto age-
vole, bisogna selezionare un qua-
lunque file già esistente in questo
percorso e, dopo aver confermato
la selezione, modificarne il nome
nella relativa casella (con .shp).
60
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
74. Mappa vettoriale .shp della rete idrografica
Mappa vettoriale
della rete, nella vista
Table di uDig si
possono vedere gli
attributi di ogni
feature contenuto
nella mappa.
Come si vede è molto
utile per distinguere i
singoli rami e capire
quanti sono
esattamente, perchè
coincideranno con i
sottobacini che
estrarremo.
61
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
75. VectorReshaper: estrazione delle lunghezze dei rami
Sfruttiamo ora le potenzialità della mappa vettoriale della rete per
estarrre le lunghezze di ogni singolo ramo.
Per fare questo sfrutteremo il comando generico per analisi
vettoriali VectorReshaper, non appartenente quindi alla categoria
delle Horton Machine ma ai Vector Processing.
Questo comando vuole in input una mappa vettoriale e restituisce
un’altra mappa vettoriale derivata grazie a funzioni ecql (una
sintassi ampliata del cql, semplificazione del linquaggio sql):
1 nuovi campi di attributi
2 attributi derivati dalle caratteristiche geometriche delle feature
3 nuove feature geometriche derivate da quelle originali
Si inserisce il vettoriale in input in maniera simile a quello in output,
indicando l’estensione shp ed andando a selezionare il file .shp su cui si
desidera lavorare, dove è stato salvato.
La specifica sintassi ecql che useremo per estrarre le lunghezze è
len=geomLength(the_geom)
62
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
76. VectorReshaper: estrazione delle lunghezze dei rami
Sfruttiamo ora le potenzialità della mappa vettoriale della rete per
estarrre le lunghezze di ogni singolo ramo.
Per fare questo sfrutteremo il comando generico per analisi
vettoriali VectorReshaper, non appartenente quindi alla categoria
delle Horton Machine ma ai Vector Processing.
Questo comando vuole in input una mappa vettoriale e restituisce
un’altra mappa vettoriale derivata grazie a funzioni ecql (una
sintassi ampliata del cql, semplificazione del linquaggio sql):
1 nuovi campi di attributi
2 attributi derivati dalle caratteristiche geometriche delle feature
3 nuove feature geometriche derivate da quelle originali
Si inserisce il vettoriale in input in maniera simile a quello in output,
indicando l’estensione shp ed andando a selezionare il file .shp su cui si
desidera lavorare, dove è stato salvato.
La specifica sintassi ecql che useremo per estrarre le lunghezze è
len=geomLength(the_geom)
62
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
77. VectorReshaper: estrazione delle lunghezze dei rami
Sfruttiamo ora le potenzialità della mappa vettoriale della rete per
estarrre le lunghezze di ogni singolo ramo.
Per fare questo sfrutteremo il comando generico per analisi
vettoriali VectorReshaper, non appartenente quindi alla categoria
delle Horton Machine ma ai Vector Processing.
Questo comando vuole in input una mappa vettoriale e restituisce
un’altra mappa vettoriale derivata grazie a funzioni ecql (una
sintassi ampliata del cql, semplificazione del linquaggio sql):
1 nuovi campi di attributi
2 attributi derivati dalle caratteristiche geometriche delle feature
3 nuove feature geometriche derivate da quelle originali
Si inserisce il vettoriale in input in maniera simile a quello in output,
indicando l’estensione shp ed andando a selezionare il file .shp su cui si
desidera lavorare, dove è stato salvato.
La specifica sintassi ecql che useremo per estrarre le lunghezze è
len=geomLength(the_geom)
62
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
78. VectorReshaper: estrazione delle lunghezze dei rami
Il nuovo vettoriale della rete con il nuovo campo delle lunghezze: len
63
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
79. NetNumbering: numerazione della rete ed estazione sottobacini
Utilizziamo ora il comando
Network - NetNumbering al fine
di estrarre i sottobacini, oltre alla
mappa della rete numerata.
I primi 3 inputs sono quelli ne-
cessari, a questo punto dovrebbe-
ro essere tutti di immediata com-
prensione.
Utilizzando il comando in moda-
lità standard è sufficiente lascia-
re tutti gli altri campi presenti di
default, in particolare non inseri-
remo la quarta mappa in input.
Gli outputs sono tutti mappe ra-
ster, dovremo inserirli entrambi.
64
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
80. NetNumberin: output del comando
Le due mappe output di NetNumbering: rete numerata e sottobacini
65
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
81. BasinShape: vettorializzazione dei contorni dei sottobacini
Vogliamo ora ottenere la mappa
vettoriale .shp dei contorni dei
sottobacini, che sarà comoda per
estrarre varie informazioni, come
già visto per la mappa della rete.
Questo comando vuole in input
due mappe raster:
la mappa del dtm depittato
e quella dei sottobacini
ottenuta con NetNumbering
. . . e restituisce in output la
mappa vettoriale dei sottobacini.
Gli input raster si inseriscono come
già visto in precedenza e l’output
vettoriale come visto per la rete.
66
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
82. Mappa vettoriale .shp dei sottobacini
Mappa vettoriale dei
sottobacini, si può
vedere che il
comando ha gia
calcolato molti
attributi utili per
ogni sottobacino:
area
perimetro
numerazione
quota massima
quota minima
quota media
quota dell’uscita
67
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
83. VectorReshaper: centroidi dei sottobacini
Sfruttiamo ancora il comando
VectorReshaper per uttenere una
nuova mappa contenente i centroidi
di ogni singolo bacino.
Le mappe vettoriali in input e
output si inseriscono come visto
prima per lo stesso comando.
La nuova mappa deve contenere
delle nuove features geometriche
derivate, i centroidi.
La sintassi ecql dovrà riscrivere
il campo the_geom, sarà quindi:
the_geom=centroid(the_geom)
68
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
84. VectorReshaper: Mappa vettoriale .shp dei centroidi
Mappa vettoriale dei
centroidi di ogni
sottobacino.
È ben evidente come
questo comando
abbia creato una
nuova mappa con
feature geometriche
di tipo differente,
ovvero i punti
rappresentanti i
centroidi, derivati
dalle feature originali
(aree dei
sottobacini).
69
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
85. Attributi derivati
Ora che abbiamo concluso l’analisi idrologica di base, estraendo il
bacino d’interesse, la rete di drenaggio ed i sottobacini, possiamo
eseguire una serie di altri comandi delle Horton Machine al fine di
ottenere 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
70
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
86. Attributi derivati
Ora che abbiamo concluso l’analisi idrologica di base, estraendo il
bacino d’interesse, la rete di drenaggio ed i sottobacini, possiamo
eseguire una serie di altri comandi delle Horton Machine al fine di
ottenere 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
70
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
87. Indice topografico
A
TI = log
b | z|
esprime la tendenza di un pixel a saturarsi
¯ aree con valori elevati di indice topografico si saturano
prima di aree a basso indice topografico
dipende 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 tca
la mappa delle pendenze calcolata con Slope
71
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
88. Indice topografico
A
TI = log
b | z|
esprime la tendenza di un pixel a saturarsi
¯ aree con valori elevati di indice topografico si saturano
prima di aree a basso indice topografico
dipende 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 tca
la mappa delle pendenze calcolata con Slope
71
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
91. Calcolo dell’indice topografico: TopIndex
Pixel con pendenza bassa hanno elevata propensione alla
saturazione a parità di area cumulata
ci sono zone all’interno del bacino
dove 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 con images{ pass_mytop=read;
valore nullo di indice pass_mybas=read; out=write;}
topografico il valore if (isnan( pass_mybas )) {
massimo caratteristico out = null;
della mappa utilizzando } else { if (isnan( pass_mytop )) {
Raster Processing - out = 25;
MapCalc, utilizzando la } else {
seguente sintassi: out = pass_mytop; } ; };
74
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
92. MapCalc
Attualmente il Map Calculator, strumento che permette di eseguire
operazioni aritmetiche e logiche sulle mappe, utilizza il linguaggio Jiffle.
1 per prima cosa bisogna selezionare le mappe di input, per questo
comando è però differente dal solito, bisona trascinarle dalla vista
piani nella lista delle mappe su cui si lavorerà
2 successivamente bisogna anche scrivere il codice per definire queste
mappe come variabili
3 quindi vediamo alcune comuni sintassi per eseguire operazioni su
queste mappe:
assegnazioni
operazioni aritmetiche
controllo di flusso if
gestione dei punti senza valori: NaN/null
75
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
93. MapCalc: definizione delle variabili
Si ricorda che per l’utilizzo di questo comando risulta necessario at-
tivare la Processing Region; in caso contrario potrebbero verificarsi
errori come mappe di output contenenti il solo valore NaN
Sintassi per definire le mappe di input
come variabili.
Per gli input, cioè le mappe da leggere, il
images{ nome della variabile deve essere uguale a
pass_mytop=read; quello della mappa.
pass_mybas=read; È inoltre necessario definire la variabile di
out=write; output, cioè la mappa da scrivere. Questo
} nome non deve necessariamente essere
uguale a quello della mappa di output;
quest’ultimo va come al solito, inserito
nell’apposito tab outputs insieme al path.
76
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
94. MapCalc: assegnazione operazioni aritmetiche
Un’assegnazione si esegue sempre con una
sintassi composta, in ordine:
Questi sono tre 1 dal nome della variabile in cui
esempi di
assegnare
assegnazione della
variabile di output,
2 dall’operatore di assegnazione =
chiamata out: 3 dalla quantità da assegnare alla
variabile.
out = null; Negli esempi si vedono tre diversi tipi di
quantità da assegnare alla variabile out:
out = 25; 1 nessun valore null
2 un valore costante
out = pass_mytop; 3 i valori presenti in un’altra mappa
¯ questi tipi di quantità si possono
combinare con gli operatori + - * /
77
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
95. MapCalc: controllo di flusso if
Il test deve essere un’equazione logica che
restituisca Vero o Falso.
if (test) { Può quindi essere imposto come
operazioni da uguaglianza (Attenzione: ==),
eseguire se il disuguaglianza o con appositi comandi che
test è vero; restituiscano Vero o Falso che vedremo
} else { dopo.
operazioni da Le operazioni da eseguire possono essere
eseguire se il una o più istruzioni, analoghe a quelle che
test è falso; si scriverebbero al di fuori dell’ambiente
}; if.
¯ come operazioni da eseguire possono
anche essere annidati altri controlli if
78
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
96. MapCalc: gestione dei punti senza valori: NaN/null
Nei primi si vede l’uso del comando
Questi sono degli isnan{}, che restituisce Vero quando il
esempi di utilizzo di suo argomento non contiene valori.
specifici comandi per Più precisamente quando ha valore
gestire i punti a cui Not A Number, valore assegnato di default
non è assegnato alcun dai JGrasstools nei punti in cui non è
valore. presente alcun dato.
isnan(pass_mybas) Restituendo un valore booleano risulta
particolarmente comodo da usare come
isnan(pass_mytop) test in un controllo if.
Nel secondo si vede invece l’assegnazione
ad una variabile (quindi ad una mappa) di
out = null
”nessun valore” grazie all’apposito
comando null che assegna valore null.
79
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
97. MapCalc: inputs
Per inserire gli input, mappe raster,
in MapCalc è necessario tracinarli
dalla vista layer di uDig.
Per poterli trascinare è però
necessario selezionare “la funzio-
ne” adeguata nella finestra degli
input.
È necessario selezionare il
CoverageLister aprendo il
menù a tendina.
Dopodichè è sufficiente trascinarli
nel riquadro che compare nella
finestra.
80
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
100. Distanze riscalate: RescaledDistance
Il comando RescaledDistance permette di calcolare le distanze
dall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.
Queste distanze possono essere riscalate, cioè calcolate considerando
velocità diverse nei versanti e nella rete idrografica.
Viene quindi introdotto il parametro r definito come il rapporto tra la
velocità nei canali e nei versanti, per definire le distanze riscalate x :
uc
x = xc + r · xh con r = e xc + xh = x
uh
Questo comando richiede in input le mappe:
delle direzioni di drenaggio, calcolate con DrainDir e con gli
outlets marcati con MarkOutlets
della rete idrografica, calcolata con ExtractNetwork scegliendo
uno dei tre tipi di soglie
Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)
83
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
101. Distanze riscalate: RescaledDistance
Il comando RescaledDistance permette di calcolare le distanze
dall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.
Queste distanze possono essere riscalate, cioè calcolate considerando
velocità diverse nei versanti e nella rete idrografica.
Viene quindi introdotto il parametro r definito come il rapporto tra la
velocità nei canali e nei versanti, per definire le distanze riscalate x :
uc
x = xc + r · xh con r = e xc + xh = x
uh
Questo comando richiede in input le mappe:
delle direzioni di drenaggio, calcolate con DrainDir e con gli
outlets marcati con MarkOutlets
della rete idrografica, calcolata con ExtractNetwork scegliendo
uno dei tre tipi di soglie
Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)
83
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
102. Distanze riscalate: RescaledDistance
Il comando RescaledDistance permette di calcolare le distanze
dall’uscita del bacino (outlet), calcolate lungo le direzioni di drenaggio.
Queste distanze possono essere riscalate, cioè calcolate considerando
velocità diverse nei versanti e nella rete idrografica.
Viene quindi introdotto il parametro r definito come il rapporto tra la
velocità nei canali e nei versanti, per definire le distanze riscalate x :
uc
x = xc + r · xh con r = e xc + xh = x
uh
Questo comando richiede in input le mappe:
delle direzioni di drenaggio, calcolate con DrainDir e con gli
outlets marcati con MarkOutlets
della rete idrografica, calcolata con ExtractNetwork scegliendo
uno dei tre tipi di soglie
Richiede inoltre il parametro r (se r = 1 le distanze saranno semplici)
83
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
103. RescaledDistance
Calcolo delle mappa delle distanze semplici con r = 1
84
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
104. RescaledDistance
Calcolo delle mappa delle distanze riscalate con r = 10
85
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
105. Funzione di ampiezza del bacino idrografico
Ora che abbiamo calcolato le mappe delle distanze e distanze riscalate
vogliamo ottenere la distribuzione di questi valori sulle mappe, il grafico
di queste rappresenterà la funzione d’ampiezza semplice e riscalata.
La distribuzione dei valori su una mappa potrebbe essere
ugualmente 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 statistiche
incrociate tra due mappe.
Per ottenere comunque la semplice distribuzione dei valori di una
mappa è sufficiente utilizzarlo fornendo la stessa mappa in input per
entrambe le mappe.
86
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
106. Funzione di ampiezza del bacino idrografico
Ora che abbiamo calcolato le mappe delle distanze e distanze riscalate
vogliamo ottenere la distribuzione di questi valori sulle mappe, il grafico
di queste rappresenterà la funzione d’ampiezza semplice e riscalata.
La distribuzione dei valori su una mappa potrebbe essere
ugualmente 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 statistiche
incrociate tra due mappe.
Per ottenere comunque la semplice distribuzione dei valori di una
mappa è sufficiente utilizzarlo fornendo la stessa mappa in input per
entrambe le mappe.
86
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
107. Funzione di ampiezza del bacino idrografico
Ora che abbiamo calcolato le mappe delle distanze e distanze riscalate
vogliamo ottenere la distribuzione di questi valori sulle mappe, il grafico
di queste rappresenterà la funzione d’ampiezza semplice e riscalata.
La distribuzione dei valori su una mappa potrebbe essere
ugualmente 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 statistiche
incrociate tra due mappe.
Per ottenere comunque la semplice distribuzione dei valori di una
mappa è sufficiente utilizzarlo fornendo la stessa mappa in input per
entrambe le mappe.
86
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
108. Analisi dei valori di una mappa: Cb
Il comando Statistics - Cb calcola le statistiche dei valori di
una mappa rispetto a quelli contenuti in un’altra mappa
i dati della prima mappa vengono raggruppati in un numero
prefissato di intervalli e viene calcolato il valore medio della
variabile indipendente in ciascun intervallo
ad ogni intervallo corrisponde un set di valori nella seconda
mappa, dei quali viene calcolata la media e gli altri momenti
richiesti dall’utente
il comando restituisce nella vista Console tutti questi valori per
ogni intervallo, associati al numero di pixel contenuti nell’intervallo
I valori stampati in output possono essere facilmente salvati in un file di
testo puro (mediante un copia incolla) in formato ASCII che un
qualsiasi foglio elettronico o R può leggere facilmente.
87
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
109. Cb: input
Questo particolare comando
richiede in input:
le due mappe su cui
calcolare le statistiche
numero di intervalli in cui
dividere il range di valori
della prima mappa
il primo e l’ultimo ordine dei
momenti da calcolare
Le due mappe possono anche essere
la stessa mappa se si vuole ottenere
la distribuzione dei valori contenuti
nella mappa sul bacino (va sempre
inserita in entrambe i campi).
88
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
110. Cb: output
Questo particolare comando
stampa, in ordine da sx a dx:
la media nell’intervallo dei
valori della prima mappa
il numero di pixel della prima
mappa nell’intervallo
il momento di primo ordine
(media) dei valori della
seconda mappa
il momento di secondo ordine
(varianza) dei valori della
seconda mappa
se richiesti, i momenti di
ordine superiore dei valori
della seconda mappa
89
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
111. Esempio di plot dei risultati
Questo è un esempio di plot con R della distribuzione delle distanze dei
punti del bacino: rappresenta la funzione d’ampiezza del bacino.
read.table(rd1)-rd1
plot(rd1[,1],rd1[,2],type=“l”,ylab=“Area [pixel]”,
xlab=“Distanza [m]”,main=“Distanze Riscalate”)
90
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
112. Indice dei simboli
Simbolo Nome udm
TI Indice topografico -
A Area totale al di sopra di ogni punto L2
b Lunghezza della parte di pixel
interessata dal drenaggio L
z Pendenza -
x Distanza di un punto del bacino dall’uscita
misurata lungo le direzioni di drenaggio L
x Distanza dall’uscita riscalata L
xc Distanza di un punto del canale dall’uscita L
xh Distanza di un punto dal canale
a cui afferisce (lungo le linee di drenaggio) L
r 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
91
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
113. Indice dei comandi
Comando Breve Descrizione
Cb Calcola le le statistiche delle mappe
Curvature Calcola le curvature longitudinali e trasversali
CutOut Ritaglia una mappa raster
DrainDir Stima le direzioni di drenaggio corrette
ExtractNetwork Estrae il reticolo idrografico
FlowDirection Stima le direzioni di drenaggio con D8 puro
MapCalc Esegue calcoli sui raster
MarkOutlet Marca l’uscita del bacino in esame
Pitfiller Riempie le depressioni di un DEM
RescaledDistance Calcola la funzione di ampiezza riscalata
Slope Calcola il modulo della pendenza
Tc Calcola le classi topografiche
Tca Calcola le aree contribuenti
TopIndex Calcola l’indice topografico
WaterOutlet Estrae il bacino idrografico
92
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
114. Credits
La Horton Machine è il frutto del lavoro di ricerca
congiunto di cudam ed Hydrologis s.r.l.
93
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
115. 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 Ispra
nell’ambito del progetto Danube Flood Risk e dalla Provincia
Autonoma di Bolzano, nell’ambito del progetto HydroAlp.
Per quanto possibile, questa presentazione è stata redatta con l’uso di
software libero. L TEX per a scrittura, per il quale Leonardo Perathoner
A
ha approntato un apposito stile. Il programma statistico R
(http://cran.r-project.org/) per l’elaborazione delle figure non
prodotte da uDig.
94
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013
116. Grazie dell’attenzione
JGrassTools Mailinglist:
https://groups.google.com/forum/?fromgroups#!forum/jgrasstools
95
S. Franceschi, L. Perathoner, M. Toro, G. Formetta
17 marzo 2013