26.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.
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 Modelli: Crea Nuovo Modello…, Apri Modello Esistente… e Aggiungi Modello agli Strumenti…;
lavorare con Scripts: Crea Nuovo Script…, Crea Nuovo Script da Modello…, Apri Script Esistente… e Aggiungi Script agli Strumenti…;
attivare la casella degli strumenti alla in-place modification mode usando il pulsante Modifica funzioni in loco: vengono visualizzati solo gli algoritmi che sono adatti ad essere eseguiti sul layer attivo senza generare un nuovo layer;
Sotto questa barra degli strumenti c’è una casella 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.
Per eseguire uno strumento, basta fare doppio clic sul suo nome nella casella degli strumenti.
26.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. 26.8 sotto (in questo caso, la finestra di dialogo corrisponde all’algoritmo Centroidi
).
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.
26.3.1.1. Tipologie Parametro
La scheda Parametri è usata per impostare i valori in ingresso 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 vettoriale, per selezionare da un elenco di tutti i layer vettoriali disponibili (attualmente aperti) in QGIS. Puoi anche utilizzare layer non caricati: premi il pulsante … sul lato destro del widget e seleziona:
Seleziona file…: seleziona il file sul disco utilizzando l’esploratore dei file del sistema operativo
Sfoglia per layer…: apre il pannello Browser panel, che permette di caricare i layer direttamente dalle fonti di database (PostgreSQL, SQL Server, Oracle, …), servizi web (WFS, AFS, …) o file su disco.
Nota
Per impostazione predefinita, il widget del layer mostra il SR del layer insieme al suo nome. Se non desideri vedere queste informazioni aggiuntive, puoi disabilitare questa funzionalità nella finestra di impostazioni processing, deselezionando l’opzione menuselection:Generale –> Mostra SR del layer nelle caselle di selezione.
Il widget di input vettoriale ha anche le seguenti opzioni:
un pulsante di iterazione: se attivato, l’algoritmo verrà eseguito in modo iterativo su ciascuno dei suoi elementi, anziché solo una volta per l’intero layer, producendo tanti risultati quante sono le volte in cui viene eseguito l’algoritmo. Ciò consente di automatizzare il processo quando tutti gli elementi di un layer devono essere elaborati separatamente. Se l’algoritmo contiene più vettori in ingresso su cui è possibile iterare, l’iterazione verrà elaborata solo sul primo parametro attivato, nell’ordine in cui i parametri sono dichiarati nell’algoritmo.
pulsante Opzioni avanzate per regolare le impostazioni da utilizzare per quel parametro specifico. Queste impostazioni riguardano:
Filtri di funzionalità non validi: permette di annullare il default method per la gestione delle funzionalità con geometrie non valide
Limita elementi processati: limite opzionale sul numero di elementi elaborati dalla fonte
È anche possibile limitare l’esecuzione dell’algoritmo sul layer vettoriale per Solo elementi selezionati.
Una tabella, da selezionare da un elenco di tutte quelle disponibili in QGIS. Le tabelle non spaziali vengono caricate in QGIS come layer vettoriali e utilizzano il same widget.
Un layer raster, da selezionare da un elenco di tutti i layer raster disponibili in QGIS. Il selettore contiene anche un pulsante … sul lato destro, per consentirti di selezionare nomi file che rappresentano layer attualmente non caricati in QGIS.
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 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.
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.
Una estensione, una casella di testo che definisce un rettangolo attraverso le coordinate degli angoli nel formato
xmin, xmax, ymin, ymax
. Premi il pulsante Imposta all’estensione corrente della mappa per utilizzare l’estensione della tela della mappa. Facendo clic sulla freccia sul lato destro del selettore di valori, apparirà un menu a comparsa che offre le seguenti opzioni:: riempie la casella di testo con le coordinate del perimetro di delimitazione di un layer da selezionare tra quelli caricati.
: riempie la casella di testo con le coordinate di un elemento della mappa selezionato da un layout del progetto corrente.
: riempie la casella di testo con le coordinate di un segnalibro salvato.
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.
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.
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.
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 Calcolatore 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.
26.3.1.2. Log dell’esecuzione
Oltre alla scheda Parametri, esiste un’altra scheda denominata Log (vedere Fig. 26.15 più avanti). Le informazioni fornite dall’algoritmo durante la sua esecuzione vengono scritte in questa scheda, consentendo di seguire l’esecuzione e di conoscere e avere maggiori dettagli sull’algoritmo durante la sua esecuzione. Le informazioni sull’esecuzione dell’algoritmo sono riportate anche nel pannello .
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.
In fondo alla scheda Log troverai i pulsanti per Salva Log su File, Copia Log negli Appunti e 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.
26.3.1.3. Altri strumenti
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 menu :menuselection: Avanzato –> fornisce funzioni per riutilizzare la configurazione definita nella finestra di dialogo senza eseguire l’algoritmo:
Copia come comando Python: consente di copiare facilmente l’equivalente PyQGIS command per eseguire lo strumento utilizzando i parametri definiti nella finestra di dialogo.
Copia come comando qgis_process: consente di generare facilmente il comando qgis_process, comprese le impostazioni dell’ambiente, come le unità di distanza, le unità di area, l’ellissoide e qualsiasi valore di parametro complicato, come gli output del GeoPackage con layer specifici.
Copy as JSON: all the settings of the command are copied in a
JSON
format, ready to be consumed by qgis_process. This is a convenient way to see the expected format of the commands, even for complex parameters (like TIN interpolation parameters). You can store these easily and then restore them later by pasting the values.Incolla Impostazioni in un formato
JSON
Il pulsante Esegui come Processo in Serie… attiva la batch processing mode 1 che consente di configurare ed eseguire istanze multiple dell’algoritmo con una varietà di parametri. Il pulsante Esegui come Singolo Processo… consente di tornare indietro dalla modalità batch.
Quando l’esecuzione di un algoritmo termina (con successo o meno), viene visualizzato un nuovo pulsante Cambia Parametri finché la scheda Log è attiva.
26.3.1.4. 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 Riproietta layer per eseguire la riproiezione dei layer allo stesso SR prima di eseguire l’algoritmo utilizzando questi output.
26.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 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
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).