23.3. Gli Strumenti di Processing

Processing è il componente principale della GUI di Processing, e quello che probabilmente tu usi nel tuo lavoro quotidiano. Mostra l’elenco di tutti gli algoritmi disponibili raggruppati in diversi blocchi chiamati Sorgenti dati, Modelli e Script personalizzati che puoi aggiungere per estendere l’insieme degli strumenti. Quindi Processing è il punto di accesso per eseguirli, sia come singolo processo che come un processo batch che coinvolge diverse esecuzioni dello stesso algoritmo su diversi insiemi in ingresso.

../../../_images/toolbox3.png

Fig. 23.6 Strumenti di Processing

Le Sorgenti dati possono essere (de)attivate in Processing settings dialog. Per impostazione predefinita, solo le sorgenti dati che non si basano su applicazioni di terze parti (cioè quelli che richiedono solo strumenti QGIS per essere eseguiti) sono attivi. Gli algoritmi che richiedono applicazioni esterne potrebbero richiedere una configurazione aggiuntiva. La configurazione dei sorgenti esterni provider è spiegata in un later chapter di questo manuale.

Nella parte superiore della finestra di dialogo degli strumenti di processing, troverai una serie di strumenti per:

  • lavorare con processingModel Modelli: Crea Nuovo Modello…, Apri Modello Esistente… e Aggiungi Modello agli Strumenti…;

  • lavorare con pythonFile Scripts: Crea Nuovo Script…, Crea Nuovo Script da Modello…, Apri Script Esistente… e Aggiungi Script agli Strumenti…;

  • aprire il pannello processingHistory Storico;

  • aprire il pannello processingResult Visualizzatore Risultati;

  • attivare la casella degli strumenti alla :ref`in-place modification mode <processing_inplace_edit>` usando il pulsante processSelected Modifica funzioni in loco: vengono visualizzati solo gli algoritmi che sono adatti ad essere eseguiti sul layer attivo senza generare un nuovo layer;

  • apri la finestra di dialogo options Opzioni.

Sotto questa barra degli strumenti c’è una casella search Cerca… per aiutarti a trovare facilmente gli strumenti che ti servono. Puoi inserire qualsiasi parola o frase nella casella di testo. Nota che, mentre digiti, il numero di algoritmi, modelli o script nella casella degli strumenti si riduce solo a quelli che contengono il testo che hai inserito nei loro nomi o parole chiave.

Nota

In cima alla lista degli algoritmi sono visualizzati gli strumenti più utilizzati ultimamente; comodo se vuoi rieseguirne uno.

../../../_images/toolbox_search.png

Fig. 23.7 Processing Toolbox visualizzazione dei risultati della ricerca

Per eseguire uno strumento, basta fare doppio clic sul suo nome nella casella degli strumenti.

23.3.1. La finestra di dialogo configurazione di un algoritmo

Una volta che fai doppio clic sul nome dell’algoritmo che vuoi eseguire, viene mostrata una finestra di dialogo simile a quella della Fig. 23.8 sotto (in questo caso, la finestra di dialogo corrisponde all’algoritmo Centroids).

../../../_images/parameters_dialog.png

Fig. 23.8 La finestra di dialogo Algoritmo - Parametri

La finestra di dialogo mostra due schede (Parametri e Log) sulla parte sinistra, la descrizione dell’algoritmo sulla destra e una serie di pulsanti in basso.

La scheda Parametri è usata per impostare i valori in igresso di cui l’algoritmo ha bisogno per essere eseguito. Mostra un elenco di valori in ingresso e parametri di configurazione da impostare. Naturalmente ha un contenuto diverso, a seconda dei requisiti dell’algoritmo da eseguire, e viene creato automaticamente in base a tali requisiti.

Anche se il numero e tipo dei parametri dipende dal tipo di algoritmo, la struttura di base è simile per tutti. I parametri che si trovano nella tabella possono essere di uno dei seguenti tipi.

  • Un layer raster, da selezionare da una lista di tutti i layer di questo tipo disponibili (attualmente aperti) in QGIS. Il selettore contiene anche un pulsante sul lato destro, che permette di selezionare nomi di file che rappresentano layer attualmente non caricati in QGIS.

  • Un ** layer vettoriale**, da selezionare da un elenco di tutti i layer vettoriali disponibili in QGIS. Anche i layer non caricati in QGIS possono essere selezionati, come nel caso dei layer raster, ma solo se l’algoritmo non richiede un campo di tabella selezionato dalla tabella degli attributi del layer. In questo caso, solo i layer aperti possono essere selezionati, dato che devono essere aperti per recuperare l’elenco dei nomi dei campi disponibili.

    Vedrai un pulsante iteratore per ogni selettore di layer vettoriale, come mostrato nella figura qui sotto.

    ../../../_images/vector_iterator.png

    Fig. 23.9 Pulsante iteratore vettore

    Se l’algoritmo ne contiene molti, potrai selezionarne anche solamente uno. Se il pulsante corrispondente a un vettore in input è attivo, allora l’algoritmo verrà eseguito iterativamente su tutte le sue geometrie, invece di una sola volta per tutto il vettore. Il numero di output dipende da quante volte eseguirai l’algoritmo. Questo ti permette di automatizzare il processo quando tutte le geometrie in un vettore devono essere elaborate separatamente.

Nota

Per impostazione predefinita, la finestra di dialogo dei parametri mostrerà una descrizione del SR di ogni layer insieme al suo nome. Se non vuoi vedere queste informazioni aggiuntive, puoi disabilitare questa funzionalità nella finestra di dialogo delle impostazioni di processing, deselezionando l’opzione Generale ► Mostra SR del layer nelle caselle di selezione.

  • Una tabella, da selezionare da una lista di tutte quelle disponibili in QGIS. Le tabelle non spaziali sono caricate in QGIS come i layer vettoriali, e infatti sono trattate come tali dal programma. Attualmente, la lista delle tabelle disponibili che vedrai quando eseguirai un algoritmo che ha bisogno di una di esse è limitata alle tabelle provenienti da file in formato dBase (.dbf) o Comma-Separated Values (.csv).

  • Una opzione, per scegliere da una lista di selezione di opzioni possibili.

  • Un valore numerico, da introdurre in una casella di rotazione. In alcuni contesti (quando il parametro si applica al layer dell’elemento e non a quello del layer), troverai al suo fianco un pulsante dataDefined Sovrascrittura definita dai dati, che ti permette di aprire il expression builder e inserire un’espressione matematica per generare valori variabili per il parametro. Alcune variabili utili relative ai dati caricati in QGIS possono essere aggiunte alla tua espressione, così puoi selezionare un valore derivato da una qualsiasi di queste variabili, come la dimensione della cella di un livello o la coordinata più a nord di un altro.

../../../_images/number_selector.png

Fig. 23.10 Espressione sulla base dell’input

  • Un intervallo, con valori minimi e massimi da introdurre in due caselle di testo.

  • Una stringa di testo, da introdurre in una casella di testo.

  • Un campo, da scegliere tra la tabella degli attributi di un layer vettoriale o una singola tabella selezionata in un altro parametro.

  • Un sistema di riferimento delle coordinate. Puoi selezionarlo tra quelli usati di recente dall’elenco a discesa o dalla finestra di dialogo CRS selection che appare quando clicchi sul pulsante a destra.

  • Un estensione, una casella di testo che definisce un rettangolo attraverso le coordinate dei suoi angoli nel formato xmin, xmax, ymin, ymax. Facendo clic sul pulsante sul lato destro del selettore di valori, apparirà un menu pop-up che ti darà le opzioni per:

    • Calcula da layer: riempie la casella di testo con le coordinate del perimetro di delimitazione di un layer da selezionare tra quelli caricati

    • Usa l’estensione della mappa

    • Disegna nell’Area di mappa: la finestra dei parametri si nasconderà, così potrete cliccare e trascinare sulla mappa. Una volta definito il rettangolo di estensione, riapparirà la finestra di dialogo, contenente i valori dell’estensione nella casella di testo.

    ../../../_images/extent.png

    Fig. 23.11 Selettore estensione

  • Una lista di elementi (sia layer raster che vettoriali, tabelle, campi) da selezionare. Clicca sul pulsante a sinistra dell’opzione per vedere una finestra di dialogo come la seguente. La selezione multipla è consentita e quando la finestra di dialogo viene chiusa, il numero di elementi selezionati viene visualizzato nel widget della casella di testo dei parametri.

    ../../../_images/multiple_selection.png

    Fig. 23.12 Selezione multipla

  • Una piccola tabella che può essere modificata dall’utente. Queste sono usate per definire parametri come le tabelle di lookup o i kernel di convoluzione, tra tanti altri.

    Cliccate sul bottone sul lato destro per vedere la tabella e aggiornare i suoi valori.

    ../../../_images/fixed_table.png

    Fig. 23.13 Tabella corretta

    A seconda dell’algoritmo, potrai modificare il numero delle righe, usando i pulsanti sul lato destro della finestra.

Nota

Alcuni algoritmi richiedono molti parametri per funzionare, per esempio nel Calculatore raster devi specificare manualmente la dimensione della cella, l’estensione e il SR. Puoi evitare di scegliere tutti i parametri manualmente quando l’algoritmo ha il parametro Reference layers. Con questo parametro puoi scegliere il layer di riferimento e tutte le sue proprietà (dimensione delle celle, estensione, SR) saranno utilizzate.

Insieme alla scheda Parametri, c’è un’altra scheda chiamata Log (vedi Fig. 23.14 sotto). Le informazioni fornite dall’algoritmo durante la sua esecuzione sono scritte in questa scheda, e ti permettono di seguire l’esecuzione ed essere consapevole e avere maggiori dettagli sull’algoritmo mentre viene eseguito. Le informazioni sull’esecuzione dell’algoritmo sono anche riportate in :menuselection: Visualizza –> Pannelli –> Messaggi di log.

Si noti che non tutti gli algoritmi scrivono informazioni nella scheda Log, e molti di essi potrebbero essere eseguiti in modo silente senza produrre alcun risultato oltre ai file finali. Controlla il pannello Messaggi di Log in questo caso.

../../../_images/algdialoglog.png

Fig. 23.14 Finestra di dialogo Algoritmo - Log

In fondo alla scheda Log troverai i pulsanti per fileSave Salva Log su File, editCopy Copia Log negli Appunti e clearConsole Ripulisci Log. Queste sono particolarmente utili quando hai spuntato l’opzione Mantieni la finestra aperta dopo l’esecuzione dell’algoritmo nelle opzioni Generale di Processing.

Sul lato destro della finestra di dialogo troverai una breve descrizione dell’algoritmo, che ti aiuterà a capire il suo scopo e le sue regole di base. Se tale descrizione non è disponibile, il pannello di descrizione non verrà mostrato.

Per un file di aiuto più dettagliato, che potrebbe includere la descrizione di ogni parametro usato, o esempi, troverai un pulsante Aiuto in fondo alla finestra di dialogo che ti porterà al Processing algorithms documentation o alla documentazione del provider (per alcuni provider di terze parti).

Il pulsante Esegui come processo in serie… attiva il batch processing mode permettendo di configurare ed eseguire più istanze dell’algoritmo con una varietà di parametri.

23.3.1.1. Nota sulle proiezioni

L’esecuzione dell’algoritmo di processing viene sempre eseguita nel sistema di riferimento delle coordinate del layer in ingresso (SR). A causa delle funzionalità di riproiezione on-the-fly di QGIS, anche se due layer potrebbero sembrare sovrapporsi e combaciare, questo potrebbe non essere vero se le loro coordinate originali sono usate senza riproiettarle su un sistema di coordinate comune. Ogni volta che si usa più di un layer come input per un QGIS native algorithm, sia vettoriale che raster, i layer saranno tutti riproiettati per corrispondere al sistema di riferimento delle coordinate del primo layer in ingresso.

Questo è comunque meno vero per la maggior parte delle applicazioni esterne i cui algoritmi sono mostrati attraverso il framework di processing, poiché presuppongono che tutti i layer siano già in un sistema di coordinate comune e pronti per essere analizzati.

Per impostazione predefinita, la finestra di dialogo dei parametri mostrerà una descrizione del SR di ogni layer insieme al suo nome, rendendo facile selezionare i layer che condividono lo stesso SR da usare come layer in ingresso. Se non vuoi vedere queste informazioni aggiuntive, puoi disabilitare questa funzionalità nella finestra di dialogo delle impostazioni di Processing, deselezionando l’opzione Mostra SR del layer nelle caselle di selezione.

Se cerchi di eseguire un algoritmo usando come input due o più layer con SR non corrispondenti, verrà mostrato un messaggio di avvertimento. Questo avviene grazie all’opzione Avvisa prima di eseguire se i SR dei layer non corrispondono

Potrai comunque eseguire l’algoritmo, ma sappi che nella maggior parte dei casi ciò produrrà cattivi risultati, come ad esempio layer di uscita inconsistenti, proprio perché questi non sono sovrapposti.

Suggerimento

Utilizzare algoritmi di Processing per fare la riproiezione al volo

Quando un algoritmo non può essere eseguito con successo su più layer in ingresso a causa di SR non corrispondenti, utilizza l’algoritmo interno di QGIS Layer riproiettato per eseguire la riproiezione dei layer allo stesso SR prima di eseguire l’algoritmo utilizzando questi output.

23.3.2. Dati generati dagli algoritmi

I dati generati da un algoritmo possono appartere a una delle seguenti tipologie:

  • Un layer Raster

  • Un vettore

  • Una tabella

  • Un file HTML (usato per risultati testuali e grafici)

Questi sono tutti salvati su disco, e la tabella dei parametri conterrà una casella di testo corrispondente a ciascuna di tali output, dove è possibile digitare il canale di output da utilizzare per salvarlo. Un canale di uscita contiene le informazioni necessarie per salvare l’oggetto risultante da qualche parte. Nel caso più usuale, lo si salverà in un file, ma nel caso di layer vettoriali, e quando sono generati da algoritmi nativi (algoritmi che non utilizzano applicazioni esterne) si può anche salvare in un database PostGIS, GeoPackage o SpatiaLite, o in un layer temporaneo.

Per selezionare una opzione per il risultato, basta cliccare sul pulsante a destra della casella di testo, e vedrai un piccolo menu contestuale con le opzioni disponibili.

Nel caso più usuale, selezionerai il salvataggio in un file. Se selezioni questa opzione, ti verrà mostrata una finestra di dialogo per il salvataggio del file, dove potrai selezionare il percorso desiderato per il file. Le estensioni di file supportate sono mostrate nel selettore del formato di file della finestra di dialogo, a seconda del tipo di output e dell’algoritmo.

Il formato dell’output è definito dall’estensione del nome del file. I formati supportati dipendono da ciò che è supportato dall’algoritmo stesso. Per selezionare un formato, basta selezionare l’estensione del file corrispondente (o aggiungerla, se invece stai digitando direttamente il percorso del file). Se l’estensione del percorso del file inserito non corrisponde a nessuno dei formati supportati, un’estensione predefinita verrà aggiunta al percorso del file e il formato di file corrispondente a tale estensione verrà utilizzato per salvare il layer o la tabella. Le estensioni predefinite sono .dbf per le tabelle, .tif per i layer raster e .gpkg per i layer vettoriali. Queste possono essere modificate nella finestra di dialogo delle impostazioni, selezionando qualsiasi altro formato supportato da QGIS.

Se non inserisci alcun nome di file nella casella di testo di output (o si seleziona l’opzione corrispondente nel menu contestuale), il risultato sarà salvato come temporary file nel corrispondente formato di file predefinito, e sarà cancellato una volta che esci da QGIS (fai attenzione a questo, nel caso in cui salvi il tuo progetto e questo contiene layer temporanei).

Puoi impostare una cartella predefinita per i dati in uscita. Vai nella finestra di dialogo delle impostazioni (puoi aprirla dal menu Impostazioni ► Opzioni ► Processing), e nel gruppo Generale, troverai un parametro chiamato Cartella dei risultati. Questa cartella dei risultati è usata come percorso predefinito nel caso in cui tu digiti solo un nome di file senza percorso (cioè, myfile.shp) quando esegui un algoritmo.

Durante l’esecuzione di un algoritmo che usa un vettore in modo iterativo, il percorso del file inserito è usato come percorso di base per tutti i file generati, i quali sono nominati usando il nome del vettore e aggiungendo poi un numero che rappresenta l’indice di iterazione. L’estensione del file (e il formato) viene usata per tutti i file generati.

Oltre a layer raster e a tabelle, gli algoritmi generano anche grafici e testo come file HTML. Questi risultati sono mostrati alla fine dell’esecuzione dell’algoritmo in una nuova finestra di dialogo. Questa finestra di dialogo manterrà i risultati prodotti da qualsiasi algoritmo durante la sessione corrente, e può essere mostrata in qualsiasi momento selezionando Processing ► Visualizzatore risultati dal menu principale di QGIS.

Alcune applicazioni esterne potrebbero avere file (senza particolari restrizioni di estensione) come risultato, ma non appartengono a nessuna delle categorie di cui sopra. Questi file di output non saranno processati da QGIS (aperti o inclusi nel progetto QGIS corrente), poiché la maggior parte delle volte corrispondono a formati di file o elementi non supportati da QGIS. Questo è, per esempio, il caso dei file LAS usati per i dati LiDAR. I file vengono creati, ma non si vedrà nulla di nuovo nella sessione di lavoro di QGIS.

Per tutti gli altri tipi di output, troverai una casella di controllo che potrai usare per indicare se caricare o meno il file una volta che è stato generato dall’algoritmo. Come impostazione predefinita, tutti i file vengono aperti.

Risultati opzionali non sono supportati. Cioè, vengono creati tutti i risultati . Tuttavia, puoi deselezionare la casella di controllo corrispondente se non sei interessato a un determinato output, il che essenzialmente lo fa comportare come un risultato opzionale (in altre parole, il layer viene creato comunque, ma se si lascia la casella di testo vuota, verrà salvato in un file temporaneo e cancellato una volta usciti da QGIS).