Modellatore grafico

Il modellatore grafico ti consente di creare modelli complessi utilizzando un’interfaccia semplice e facile da usare. Quando lavori con un GIS, la maggior parte delle operazioni di analisi non sono isolate, ma piuttosto fanno parte di una catena di operazioni. Usando il modellatore grafico, la successione dei processi può essere confezionata in un unico processo, quindi è più conveniente eseguire come un processo singolo anche su diversi input. Non importa quanti passi e diversi algoritmi coinvolge, un modello è eseguito come un unico algoritmo, risparmiando così tempo e fatica, soprattutto per i modelli più grandi.

Puoi aprire il modellatore grafico dal menu di Processing.

Il modellatore ha un’area grafica di lavoro dove sono visualizzati la struttura del modello ed il flusso delle operazioni che lo rappresenta. Si può usare un pannello con due riquadri sulla sinistra della finestra per aggiungere nuovi elementi al modello.

Figure Processing 17:

../../../_images/modeler_canvas.png

Modellatore

La creazione di un modello comporta due passaggi:

  1. Definizione degli input necessari. Tutti gli input verranno aggiunti alla finestra dei parametri, in questo modo puoi impostare i valori durante l’esecuzione del modello. Il modello stesso è un algoritmo, quindi la finestra dei parametri viene automaticamente generata come accade con tutti gli algoritmi disponibili.

  2. Definizione del flusso di lavoro. Usando i dati in input del modello, il flusso di lavoro è definito aggiungendo algoritmi e scegliendo come questi devono usare gli input o gli output generati da altri algoritmi già presenti nel modello.

Definizione dei dati di ingresso

Il primo passo per creare un modello è quello di definire tutti gli input. Nella parte sinistra del modellatore trovi la scheda Inputs dove potrai scegliere i vari elementi.

  • Raster

  • Vettori

  • Stringhe di testo

  • Campi di tabelle

  • Tabelle

  • Estensione

  • Numero

  • Booleano

  • File

Facendo doppio click su uno di questi elementi, apparirà una finestra di dialogo che servirà a definire le sue caratteristiche. A seconda del parametro, la finestra conterrà un solo elemento (la descrizione, ovvero quello che vedrai durante l’esecuzione del modello) oppure più elementi. Per esempio, aggiungendo un valore numerico, come puoi vedere nella figura seguente, oltre alla descrizione del parametro, dovrai definire un valore di partenza ed un intervallo di valori validi.

Figure Processing 18:

../../../_images/models_parameters.png

Parametri del modello

Per ogni dato di ingresso aggiunto, appare un nuovo elemento nel pannello grafico del modellatore.

Figure Processing 19:

../../../_images/models_parameters2.png

Parametri del modello

Puoi inoltre aggiungere input trascinandolo dall’elenco e rilasciandolo nella mappa del modellatore, nella posizione in cui vuoi posizionarlo.

Definizione del flusso operativo

Una volta definiti gli input, devi scegliere gli algoritmi che intendi usare. Gli algoritmi si trovano nella casella Algoritmi, raggruppati allo stesso modo come in Strumenti.

Figure Processing 20:

../../../_images/models_parameters3.png

Parametri del modello

Per aggiungere un algoritmo a un modello, fai doppio click sul suo nome o trascinalo, proprio come hai fatto durante l’aggiunta di input. Apparirà una finestra di dialogo, simile a quella che viene visualizzata quando si esegue l’algoritmo dagli strumenti. Quella mostrata di seguito corrisponde all’algoritmo SAGA ‘indice di convergenza’.

Figure Processing 21:

../../../_images/models_parameters4.png

Parametri del modello

Come puoi vedere, ci sono diverse differenze. Al posto della casella di output dove potevi specificare il percorso dei layer e tabelle, qui c’è una semplice casella di testo. Se il layer generato da questo algoritmo è solamente un layer temporaneo che deve essere usato come input da un altro algoritmo, allora non inserire niente in questa casella. Se riempi questa casella significa che il risultato è finale e che il testo che hai inserito corrisponderà all’output finale.

Anche il valore di ogni parametro è leggermente diverso, dal momento che che ci sono importanti differenze fra il contesto del modello e quello degli Strumenti. Vediamo come inserire i valori per ogni tipologia di parametro.

  • Layer (raster e vettoriali) e tabelle. Devi selezionarle da una lista, ma in questo caso i valori possibili non sono i layer o le tabelle attualmente aperte in QGIS, bensì la lista dei dati di ingresso del modello corrispondente per tipo, o altri layer e tabelle generate da algoritmi già aggiunti al modello.

  • Valori numerici. Puoi inserire questi valori direttamente nella casella di testo. Questa casella però funziona anche come elenco in modo che tu possa selezionare ogni valore numerico del modello. In questo caso, il parametro considererà il valore che hai inserito durante l’esecuzione del modello.

  • Stringa. Come nel caso dei valori numerici, puoi inserire una stringa o scegliere un stringa fra quelle disponibili.

  • Table filed. Il parametro parent layer dipende da altri layer caricati nel modello e quindi lo potrai definire solamente in un secondo momento. Inserisci prima il nome del parametro e poi scegli il parent layer dal menu a tendina. Nel menu avrai a disposizione tutti i layer caricati nel modello.

In tutti i casi troverai un parametro aggiunti chiamato Parent algorithms, non disponibile quando avvii un algoritmo dagli Strumenti. Questo parametro ti permette di definire l’ordine in cui gli algoritmi vengono eseguiti, in quanto scegli tu la nidificazione degli algoritmi. In altre parole, puoi forzare l’esecuzione di un algoritmo prima di un altro.

Quando usi l’output di un algoritmo come input per un altro algoritmo, allora il primo algoritmo è implicitamente trattato come Parent algorithm del secondo (e lo puoi anche vede dalla direzione della freccia nella finestra del modello). Tuttavia, in alcuni casi un algoritmo può dipendere da un altro algoritmo anche se non richiede output (per esempio, un algoritmo che esegue un’interrogazione SQL su un database PostGIS e un altro che importa un layer nel database stesso). In questo caso, basta che selezioni l’algoritmo precedente nel parametro Parent algorithms e i due passaggi verranno eseguiti nell’ordine corretto.

Una volta assegnati valori corretti a tutti i parametri, premi [OK] e l’algoritmo verrà aggiunto alla finestra. L’algoritmo sarà collegato a tutti gli altri elementi del pannello, sia algoritmi sia dati in input, che creano risultati usati come input dall’algoritmo.

Gli elementi possono essere trascinati in un’altra posizione all’interno della mappa, per cambiare il modo in cui viene visualizzata la struttura del modulo e renderlo più chiaro e intuitivo. I collegamenti tra gli elementi vengono aggiornati automaticamente. Puoi ingrandire e ridurre utilizzando la rotellina del mouse.

Puoi eseguire l’algoritmo in ogni momento premendo il pulsante [Run]. Tuttavia, per poterlo usare dagli Strumenti, devi prima salvarlo e poi chiudere la finestra di dialogo del modellatore in modo da consentire al sistema di aggiornare la configurazione.

Salvataggio e caricamento di modelli

Usa il pulsante [Salva] per salvare il modello ed il pulsante [Apri] per aprire un modello esistente. I modelli sono salvati con l’estensione .model. Se hai già salvato il modello non ti verrà più chiesto il nome del file da salvare, infatti il modello verrà automaticamente sovrascritto sul file già esistente.

Prima di salvare un modello, devi inserire un nome ed un gruppo di appartenenza usando le caselle di testo nella parte alta della finestra.

I modelli salvati nella cartella modelli (cartella predefinita dove vengono salvati i modelli) appariranno in Strumenti, nel gruppo corrispondente. Quando apri gli Strumenti, vengono cercati tutti i file con estensione .model e poi caricati nella finestra. Visto che un modello è inteso come un algoritmo, lo puoi aggiungere agli Strumenti come un algoritmo qualsiasi.

Puoi specificare la cartella dei modelli nella finestra di configurazione di Processing, presente nel gruppo Modellatore.

I modelli caricati dalla cartella models appariranno non solo negli Strumenti, ma anche nell’albero degli algoritmi della scheda Algorithms presente nella finestra del modellatore. Questo significa che puoi includere un modello all’interno di un altro modello, proprio come se fosse un semplice algoritmo.

Aggiornare il modello

Puoi modificare il modello mentre lo stai creando, ridefinendo il flusso e le relazioni fra gli algoritmi e i dati che definiscono il modello stesso.

Se premi il tasto destro del mouse su un algoritmo nel grafico che rappresenta il modello, apparirà un menu come quello sotto riportato:

Figure Processing 22:

../../../_images/modeler_right_click.png

Click destro sul modello

Selezionando l’opzione Remove rimuoverai l’algoritmo selezionato. Non potrai rimuovere un algoritmo se altri algoritmi dipendono da lui, ovvero quando un algoritmo vuole come input il risultato di un altro algoritmo. Se provi a rimuovere comunque uno di questi algoritmi, apparirà una finestra di avviso.

Figure Processing 23:

../../../_images/cannot_delete_alg.png

L’algoritmo non può essere eliminato

Selezionando l’opzione Modifica o semplicemente premendo due volte sull’icona dell’algoritmo apparirà la finestra dei parametri dell’algoritmo in modo che puoi cambiarne i valori. Non tutti i valori disponibili nel modello appariranno in questo caso come dati disponibili. Layer o valori generati ad un passaggio successivo del flusso del modello che possono causare dipendenze circolari non saranno disponibili.

Selezionate i nuovi valori e premete il pulsante [OK] come al solito. La connessione fra gli elementi del modello cambieranno di conseguenza anche nel pannello grafico.

Un modello può essere eseguito parzialmente, disattivando alcuni dei suoi algoritmi. Per farlo, seleziona l’opzione Disattiva nel menu di scelta rapida che viene visualizzato quando fai click destro e su un elemento di algoritmo. L’algoritmo selezionato e tutti quelli del modello che ne dipendono verranno visualizzati in grigio e non verranno eseguiti come parte del modello.

Figure Processing 24:

../../../_images/deactivated.png

Algoritmo disattivato

Quando fai click destro su un algoritmo che non è attivo, vedrai l’opzione Attiva che puoi utilizzare per attivarlo.

Informazioni ed aiuto per l’aggiornamento del modello

Puoi anche aggiungere una documentazione ai tuoi modelli. Premi il pulsante [Edit model help] per aprire la finestra di dialogo corrispondente.

Figure Processing 25:

../../../_images/help_edition.png

Editor della guida

Sulla parte destra vedrai una semplice pagina HTML, creata usando la descrizione dei parametri di input e di output dell’algoritmo insieme ad alcuni parametri aggiuntivi come la sua descrizione e l’autore. La prima volta che apri l’editor di aiuto, vedrai tutti i campi vuoti. Li puoi riempire usando le voci corrispondenti presenti nella parte sinistra della finestra di dialogo. Seleziona un elemento nella parte superiore e poi inserisci la descrizione nella casella di testo.

La guida del modello è salvata come parte del modello stesso

Esporta il modello come scipt python

Come vedrai in un capitolo successivo, gli algoritmi di elaborazione possono essere richiamati dalla console QGIS python e nuovi algoritmi di elaborazione possono essere creati anche utilizzando python. Un modo rapido per creare uno script python è creare un modello e quindi esportarlo come un file python

Per farlo, fare clic sul pulsante Esporta come script python. Seleziona il file di output nella finestra di dialogo del selettore di file e l’elaborazione scriverà i comandi di python che eseguono le stesse operazioni definite nel modello corrente.

A proposito degli algoritmi disponibili

Potrai notare che alcuni algoritmi eseguibili dagli Strumenti non appaiono nell’elenco di quelli disponibili quando stai creando un modello. Per essere incluso in un modello, un algoritmo deve avere una semantica corretta in modo da poter essere correttamente collegato a tutti gli altri nel flusso di lavoro. Se un algoritmo non ha una semantica corretta (ad esempio, se il numero dei layer generati non può essere conosciuto in anticipo) allora non lo potrai usare all’interno del modello e quindi non apparirà nell’elenco di quelli disponibili.

Inoltre, ci sono altri algoritmi presenti nel modellatore grafico ma non negli Strumenti. Questi sono gli algoritmi pensati per essere usati solamente come parte di un modello e non hanno senso in altri contesti. Un esempio è l’algoritmo ‘Calcolatore’. È infatti una semplice calcolatrice che puoi usare per cambiare valori numerici (inseriti da te o creati da qualche algoritmo). Questo strumento è molto utile in un modello ma non ha molto senso al di fuori di questo contesto.