17.17. Per iniziare con il modellatore grafico

Nota

In questa lezione useremo il modellatore grafico, un potente componente che possiamo usare per definire un flusso di lavoro ed eseguire una concatenazione di algoritmi.

Una normale sessione con gli strumenti di processing include più dell’esecuzione di un singolo algoritmo. Di solito ne vengono eseguiti diversi per ottenere un risultato, e gli output di alcuni di questi algoritmi vengono utilizzati come input per alcuni degli altri.

Usando il modellatore grafico, quel flusso di lavoro può essere messo in un modello, che eseguirà tutti gli algoritmi necessari in una sola esecuzione, semplificando così l’intero processo e automatizzandolo.

Per iniziare questa lezione, calcoleremo un parametro chiamato Indice di Umidità Topografica. L’algoritmo che lo calcola si chiama Topographic wetness index (twi).

../../../_images/twi.png

Come puoi vedere, ci sono due input obbligatori: Slope e Catchment area. C’è anche un input opzionale, ma non lo useremo, quindi possiamo ignorarlo.

I dati per questa lezione contengono solo un DEM, quindi non abbiamo nessuno degli input richiesti. Tuttavia, sappiamo come calcolarli entrambi da quel DEM, dato che abbiamo già visto gli algoritmi per calcolare la pendenza e il bacino idrografico. Quindi possiamo prima calcolare quei layer e poi usarli per l’algoritmo TWI.

Ecco le finestre di dialogo dei parametri che dovresti usare per calcolare i 2 layer intermedi.

Nota

La pendenza deve essere calcolata in radianti, non in gradi.

../../../_images/slope1.png
../../../_images/area.png

Ed è così che devi impostare la finestra di dialogo dei parametri dell’algoritmo TWI.

../../../_images/twi_filled.png

Questo è il risultato che otterrai (per la rappresentazione è stata usata la palette invertita pseudocolor a banda singola di default). Puoi usare lo stile twi.qml fornito.

../../../_images/twi_layer.png

Quello che cercheremo di fare ora è creare un algoritmo che calcoli il TWI da un DEM in un solo step. Questo ci farà risparmiare lavoro nel caso in cui in seguito dovessimo calcolare un layer TWI da un altro DEM, poiché avremo bisogno di un solo step per farlo invece dei tre di cui sopra. Tutti i processi di cui abbiamo bisogno si trovano nella casella degli strumenti, quindi quello che dobbiamo fare è definire il flusso di lavoro per impacchettarli. È qui che entra in gioco il modellatore grafico.

  1. Apri il modellatore selezionando la sua voce nel menu di processing.

    ../../../_images/modeler.png

    Due cose sono fondamentali per creare un modello: impostare gli input di cui avrà bisogno e definire l’algoritmo che contiene. Entrambe vengono fatte aggiungendo elementi dalle due schede nella parte sinistra della finestra del modellatore: Input e Algoritmi.

  2. Cominciamo con gli input. In questo caso non abbiamo molto da aggiungere. Abbiamo solo bisogno di un layer raster con il DEM, e questo sarà il nostro unico dato di input.

  3. Fai doppio clic sull’input Raster e vedrai la seguente finestra di dialogo.

    ../../../_images/raster_input.png
  4. Qui dobbiamo definire l’input che vogliamo:

    1. Poiché ci aspettiamo che questo layer raster sia un DEM, lo chiameremo DEM. Questo è il nome che l’utente del modello vedrà quando lo esegue.

    2. Dato che abbiamo bisogno di tale layer per funzionare, lo definiremo come un layer obbligatorio.

    Ecco come dovrebbe essere configurata la finestra di dialogo.

    ../../../_images/raster_input_filled.png
  5. Clicca su OK e l’input apparirà nella finestra del modellatore.

    ../../../_images/canvas_1.png
  6. Ora passiamo alla scheda Algoritmi.

  7. Il primo algoritmo che dobbiamo eseguire è l’algoritmo Slope, Aspect, Curvature. Individualo nella lista degli algoritmi, fai doppio clic su di esso e vedrai la finestra di dialogo mostrata qui sotto.

    ../../../_images/slope_modeler.png

    Questa finestra di dialogo è molto simile a quella che si può trovare quando si esegue l’algoritmo dalla casella degli strumenti, ma l’elemento che si può usare come valore del parametro non è preso dal progetto QGIS corrente, ma dal modello stesso. Ciò significa che, in questo caso, non avremo tutti i layer raster del nostro progetto disponibili per il campo Elevation, ma solo quelli definiti nel nostro modello. Poiché abbiamo aggiunto un solo input raster chiamato DEM, questo sarà l’unico layer raster che vedremo nella lista corrispondente al parametro Elevation`.

    Gli output generati da un algoritmo sono gestiti un po” diversamente quando l’algoritmo è usato come parte di un modello. Invece di selezionare il percorso del file dove si vuole salvare ogni output, si deve solo specificare se quell’output è un layer intermedio (e non si vuole che sia conservato dopo che il modello è stato eseguito), o è uno finale. In questo caso, tutti i layer prodotti da questo algoritmo sono intermedi. Noi ne useremo solo uno ( il layer della pendenza), ma non vogliamo conservarlo, poiché ci serve solo per calcolare il layer TWI, che è il risultato finale che vogliamo ottenere.

    Quando i layer non sono un risultato finale, si dovrebbe semplicemente lasciare il campo corrispondente. Altrimenti, è necessario inserire un nome che verrà utilizzato per identificare il layer nella finestra di dialogo dei parametri che verrà mostrata quando si esegue il modello in seguito.

  8. Non c’è molto da selezionare in questa prima finestra di dialogo, dato che non abbiamo che un solo layer nel nostro modello (l’input DEM che abbiamo creato). In realtà, la configurazione predefinita della finestra di dialogo è quella corretta in questo caso, quindi devi solo premere OK. Questo è ciò che avrai ora nella finestra del modellatore.

    ../../../_images/canvas_2.png
  9. Il secondo algoritmo che dobbiamo aggiungere al nostro modello è l’algoritmo del bacino di raccolta. Useremo l’algoritmo chiamato Catchment area (Paralell). Useremo di nuovo il layer DEM come input, e nessuno degli ouput che produce è definitivo, quindi ecco come devi riempire la finestra di dialogo corrispondente.

    ../../../_images/area_modeler.png

    Ora il tuo modello dovrebbe assomigliare a questo.

    ../../../_images/canvas_3.png
  10. L’ultimo step è quello di aggiungere l’algoritmo Topographic wetness index, con la seguente configurazione.

    ../../../_images/twi_modeler.png

    In questo caso, non useremo il DEM come input, ma invece, useremo i layer della pendenza e del bacino idrografico che sono calcolati dagli algoritmi che abbiamo aggiunto in precedenza. Man mano che si aggiungono nuovi algoritmi, gli output che essi producono diventano disponibili per altri algoritmi, e con essi si collegano gli algoritmi, creando il flusso di lavoro.

  11. In questo caso, il layer di output TWI è un layer finale, quindi dobbiamo indicarlo. Nella casella di testo corrispondente, inserisci il nome che vuoi che sia mostrato per questo output.

    Ora il nostro modello è finito e dovrebbe apparire così.

    ../../../_images/canvas_4.png
  12. Inserisci un nome e un nome di gruppo nella parte superiore della finestra del modello.

    ../../../_images/model_name.png
  13. Salvalo cliccando sul pulsante :guilabel: Salva. Puoi salvarlo dove vuoi e aprirlo in seguito, ma se lo salvi nella cartella models (che è la cartella che vedrai quando appare la finestra di dialogo del file di salvataggio), il tuo modello sarà disponibile anche nella casella degli strumenti. Quindi rimani su quella cartella e salva il modello con il nome del file che preferisci.

  14. Ora chiudi la finestra di dialogo del modellatore e vai alla casella degli strumenti. Nella voce Modellatore troverai il tuo modello.

    ../../../_images/toolbox1.png
  15. Puoi eseguirlo come qualsiasi algoritmo normale, facendo doppio clic su di esso.

    ../../../_images/model_dialog.png

    Come puoi vedere, la finestra di dialogo dei parametri contiene l’input che hai aggiunto al modello, insieme agli output che hai impostato come finali quando hai aggiunto gli algoritmi corrispondenti.

  16. Eseguilo usando il DEM come input e otterrai il layer TWI in un solo step.