Il modellatore grafico consente di creare modelli complessi mediante un’interfaccia semplice e facile. Quando lavorate con un GIS, molte operazioni di analisi non sono isolate, ma inserite in una catena di operazioni. Mediante il modellatore grafico questa catena di processi può essere combinata in un solo processo; in questo modo è più facile e conveniente eseguirlo come singolo processo invece di successivi processi basati su differenti dataset di input. Indipendentemente dal numero di passaggi e dai differenti algoritmi coinvolti, esso è eseguito come un singolo algoritmo, risparmiando quindi tempo e fatica, specialmente nel caso di modelli di grandi dimensioni.
Il modellatore può essere aperto dal menu SEXTANTE, ma anche dalla cassetta degli attrezzi. Nel ramo Modellatore dell’albero degli algoritmi troverete un gruppo denominato Attrezzi che contiene una opzione chiamata Crea un nuovo modello.
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 SEXTANTE 14:
La creazione di un modello comporta due passaggi:
Definizione dei dati di ingresso necessari. Queste informazioni saranno aggiunte alla finestra dei parametri in modo che l’utente possa configurare valori appropriati durante l’esecuzione del modello. Il modello stesso è un algoritmo di SEXTANTE, per cui la finestra dei parametri è generata automaticamente come accade per tutti gli algoritmi inclusi in SEXTANTE.
Definizione del flusso operativo. Usando i dati di ingresso configurati per il modello, il flusso è definito aggiungendo gli algoritmi e decidendo quali fra questi dati usare o se invece usare dati prodotti da algoritmi precedentemente inseriti nel modello.
Il primo passo per creare un modello è definire i dati in ingresso di cui necessita. Nella casella inputs alla sinistra della finestre del modellatore si trovano questi elementi:
Layer raster
Layer vettoriali
Stringhe di testo
Campi di tabelle
Tabelle
Valori numerici
Valori logici (booleani)
Premendo due volte con il mouse su uno di questi elementi, apparirà una finestra di dialogo per definire le sue caratteristiche. A seconda del parametro stesso, la finestra conterrà un solo elemento (la descrizione che è quello che l’utente vede durante l’esecuzione del modello) o più elementi. Ad esempio, aggiungendo un valore numerico, come si può vedere nella figura seguente, oltre alla descrizione del parametro, dovrete definire un valore di partenza ed un intervallo di valori validi.
Figure SEXTANTE 15:
Per ogni dato di ingresso aggiunto, appare un nuovo elemento nel pannello grafico del modellatore.
Figure SEXTANTE 16:
Una volta definiti i dati ingresso, occorre decidere gli algoritmi da applicare ad essi. Gli algoritmi si trovano nella casella Algoritmi, raggruppati allo stesso modo come nella cassetta degli attrezzi.
Figure SEXTANTE 17:
Per aggiungere un algoritmo, premete due volte con il mouse sul suo nome. Verrà mostrata una finestra di dialogo con un contenuto simile a quello della finestra che SEXTANTE fa apparire quando si esegue l’algoritmo dalla cassetta degli attrezzi. Quello che vedete di seguit si riferisce all’algoritmo ‘Indice di convergenza’ di SAGA, lo stesso di cui abbiamo parlato nel capitolo dedicato alla cassetta degli attrezzi di SEXTANTE.
Figure SEXTANTE 18:
Come potete vedere, esistono alcune differenze. Al posto della casella usata per definire il percorso del file per i layer risultanti, appare una semplice casella di testo. Se il layer generato dall’algoritmo è solo un risultato temporaneo da usare come dato di ingresso per un altro algoritmo e non deve essere conservato come risultato finale, non modificate la casella. Digitando qualcosa nella stessa significa che è un risultato finale ed il testo che avete fornito sarà la descrizione del risultato, quello che l’utente vedrà durante l’esecuzione dell’algoritmo.
Anche la selezione dei valori di ogni parametro è un po’ diversa, in quanto vi sono importanti differenze fra il contesto del modellatore e quello della cassetta degli attrezzi. Vediamo come introdurre il valore per ogni tipo di parametro.
Layer (raster e vettoriali) e tabelle. Devono essere selezionate da una lista, ma in questo caso i valori possibili non sono i layer o le tabelle correntemente 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. Si possono inserire valori direttamente nella casella, ma si possono anche scegliere da una lista i valori numeri di ingresso per il modello. In questo caso, il parametro prenderà il valore inserito dall’utente quando esegue il modello.
Stringhe. Come nel caso dei valori numerici, si possono inserire stringhe o selezionarle (da un elenco).
Campi di tabelle. I campi della tabella principale o del layer sono ignoti al momento del progetto, in quanto dipendono dalle scelte dell’utente nel momento di esecuzione del modello. Per definire il valore di questo parametro, digitate il nome del campo direttanente nella casella di testo, oppure selezionate un campo di tabella già esistente nel modello. La validità del campo selezionato sarà controllato da SEXTANTE in fase di esecuzione.
Una volta assegnati valori corretti a tutti i parametri, premete [OK] e l’algoritmo sarà aggiunto al pannello grafico. Sarà collegato a tutti gli altri elementi del pannello, sia algoritmi sia dati, che forniscono oggetti usati dall’algoritmo come dati di ingresso.
Figure SEXTANTE 19:
Gli elementi possono essere spostati nel pannello grafico per modificare la visualizzazione della struttura del modello e renderla più chiara ed intuitiva. I collegamenti fra gli elementi vengono aggiornati automaticamente.
Potete eseguire il vostro algoritmo in ogni momento premendo il pulsante [Run]. Tuttavia, per poterlo usare dalla cassetta degli attrezzi, occorre salvarlo e chiudere la finestra di dialogo del modellatore in modo da consentire al sistema di aggiornare la configurazione.
Usate il pulsante [Salvataggio] per salvare il modello corrente ed il pulsante [Apri] per aprire un modello esistente. I modelli sono salvati con l’estensione .model. Se il modello è già stato salvato [dalla finestra del modellatore] non vi sarà chiesto il nome del file perchè esiste già un file associato al modello e verrà usato quello.
Prima di salvare un modello, dovete inserire un nome ed un gruppo per esso usando le caselle di testo nella parte alta della finestra.
I modelli salvati nella cartella modelli (quella predefinita quando vi si chiede il nome del file dove salvare il modello) appariranno nella cassetta degli attrezzi, nel corrispondente gruppo. Quando si attiva la cassetta degli attrezzi, SEXTANTE cerca nella cartella modelli i file con l’estensione .model e carica il modello che contengono. Poichè un modello è anch’esso un algoritmo di SEXTANTE, può essere aggiunto alla cassetta degli attrezzi come qualsiasi altro algoritmo.
La cartella del modellatore può essere definita nella finestra di configurazione di SEXTANTE, sotto il gruppo Modellatore.
I modelli presenti nella cartella dei modelli appariranno non solo nella cassetta degli attrezzi, ma anche nell’albero degli algoritmi nel pannello Algoritmi della finestra del modellatore. Questo significa che potete incorporare un modello come parte di un modello più grande, esasttamente come aggiungete qualsiasi altro algoritmo.
In alcuni casi, SEXTANTE potrebbe non essere in grado di caricare un modello perchè non trova tutti gli algoritmi inclusi nella sua definizione. Se usate un certo algoritmo come parte del vostro modello, questo deve essere disponibile (cioè deve apparire nella cassetta degli attrezzi) per essere in grado di caricare quel modello. La disattivazione di un gestore di algoritmi nella finestra di configurazione di SEXTANTE renderà tutti quegli algoritmi inusabili, creando problemi nel caricamento dei modelli. Ricordatevene quando avete delle noie nel caricamento o nella esecuzione di modelli.
Potete modificare il modello mentre lo state creando, ridefinendo il flusso e le relazioni fra gli algoritmi e i dati che definiscono il modello stesso.
Se premete il tasto destro del mouse su un algoritmo nel grafico che rappresenta il modello, apparirà un menu come quello sotto riportato:
Figure SEXTANTE 20:
Selezionando l’opzione Cancella si cancellerà l’algoritmo selezionato. Un algoritmo può essere cancellato soltanto se non vi sono altri algoritmi dipendenti. Cioè se il risultato dell’algoritmo non è usato da un altro algoritmo. Se provate a rimuove un algoritmo da cui ne dipendono altri, SEXTANTE mostrerà un messaggio di avviso come quello che vedete sotto:
Figure SEXTANTE 21:
Selezionando l’opzione Modifica o semplicemente premendo due volte sull’icona dell’algoritmo apparirà la finestra dei parametri dell’algoritmo in modo che possiate 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.
Gli algoritmi possono essere disattivati nel modellatore, così non saranno eseguiti quando il modello sarà lanciato. Questo può essere sfruttato per mettere a punto una parte del modello o quando non avete bisogno di tutti i risultati generati dal modello.
Per disattivare un algoritmo, premete il tasto destro del mouse sulla sua icona nel pannello grafico e spuntate l’opzione Disattivazione. Vedrete che ora l’algoritmo sarà presentato con un’etichetta rossa sotto il nome che indica che questo non è attivo.
Figure SEXTANTE 22:
Anche gli algoritmi dipendenti (direttamente o indirettamente) da quell’algoritmo appariranno come disattivati in quanto non possono ora essere eseguiti.
Per abilitare un algoritmo basta premere sulla sua icona col pulsante destro del mouse e selezionare l’opzione Abilitare.
Potete documentare i vostri modelli in SEXTANTE. Premete il pulsante [Edit model help] ed apparirà una finestra di dialogo come la seguente.
Figure SEXTANTE 23:
Sul lato destro vedrete una semplice pagina HTML, creata usando la descrizione dei parametri di ingresso e di uscita dell’algoritmo, oltre ad informazioni integrative come una descrizione generale o il suo autore. La prima volta che aprite il gestore di aiuto tutte queste descrizioni sono vuote, ma potete modificarle usando gli elementi sul lato sinistro della finestra. Selezionate un elemento nella parte alta e quindi scrivete la sua descrizione nella casella sotto.
L’informazione di aiuto del modello è salvata nella stessa cartella insieme al modello stesso. Non dovete preoccuparvi del suo salvataggio perchè è eseguito automaticamente.
Noterete che alcuni algoritmi che potete eseguire dalla cassetta degli attrezzi non appaiono nella lista di quelli disponibili quando state creando un modello. Per essere incluso in un modello, un algoritmo deve avere una semantica corretta, così come essere correttamente collegato con 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 anticipatamente) allora non è possibile usarlo all’interno del modello e quindi non può apparie nella lista di quelli che potere trovare nella finestra del modellatore.
Inoltre, vedrete nel modellatore qualche algoritmo che non trovate nella cassetta degli attrezzi. Questi algoritmi sono fatti per essere usati esclusivamente come parte di un modello e non sono utili in altri contesti. L’algoritmo ‘Calcolatore’ è un esempiodi questi. Esso è un semplice calcolatore aritmetico che potete usare per modificare valori numerici (inseriti dall’utente o generati da qualche altro algoritmo). Questi strumenti sono utili all’interno di un modello, ma al di fuori di quel contesto non hanno molto senso.
Questa funzionalità non è al momento disponibile
Vicino al pannello che contiene lo schema grafico del modello, ne vedrete un altro contenente un codice Python che esegue lo stesso compito del modello. Usando quel codice, potete creare delle istruzioni a linea di comando (le spiegheremo più tardi in questo stesso manuale) e modificarle per inserire azioni e funzioni disponibili nel modellatore grafico, come iterazioni e strutture condizionali.
Questa caratteristica è anche molto utile per imparare ad usare SEXTANTE da linea di comando e come creare algoritmi di SEXTANTE usando codice Python, così potete usarla come strumento di apprendimento quando cominciate a creare le vostre istruzioni per SEXTANTE.
Troverete un pulsante sotto il testo che contiene il codice Python. Premetelo per creare direttamente un nuovo comando da quel codice, senza doverlo copiare ed incollare nel gestore dei comandi di SEXTANTE.