17.26. L’interfaccia per i processi in serie

Nota

Questa lezione introduce l’interfaccia per i processi in serie, che permette di eseguire un singolo algoritmo con una serie di valori in ingresso differenti.

A volte un dato algoritmo deve essere eseguito ripetutamente con input diversi. Questo è, per esempio, il caso in cui un insieme di file di input deve essere convertito da un formato a un altro, o quando diversi layer in una data proiezione devono essere convertiti in un’altra proiezione.

In questo caso, richiamare ripetutamente l’algoritmo negli strumenti non è la migliore opzione. Invece, dovrebbe essere utilizzata l’interfaccia per i processi in serie, che semplifica enormemente l’esecuzione multipla di un dato algoritmo. Per eseguire un algoritmo come un processo in serie, cercalo negli strumenti e, invece di fare doppio–click su di esso, fai click con il tasto destro e seleziona Esegui come processo in serie.

../../../_images/batch_menu.png

Per questo esempio, useremo l’algoritmo Riproiezione, per cui cercalo e applica quanto descritto sopra. Comparirà la seguente finestra di dialogo.

../../../_images/batch_dialog.png

Se dai un’occhiata ai dati per questa lezione, vedrai che contengono un insieme di tre shapefile, ma non il file di progetto QGIS. Questo perché, quando l’algoritmo è eseguito come un processo in serie, i vettori in ingresso possono essere selezionati o dal progetto QGIS corrente o dai file. Ciò rende più facile processare un grande quantitativo di vettori, come, per esempio, tutti i vettori in una data cartella.

Ogni riga nella tabella della finestra di dialogo per i processi in serie rappresenta una singola esecuzione dell’algoritmo. Le celle in ogni riga corrispondono ai parametri richiesti dall’algoritmo, i quali non sono disposti uno sopra l’altro, come nella tipica finestra di dialogo per una esecuzione singola, ma orizzontalmente lungo essa.

La definizione del processo in serie da eseguire è fatta riempiendo la tabella con i valori corrispondenti, e la finestra di dialogo stessa contiene diversi strumenti per rendere tale operazione più facile.

Iniziamo a riempire i campi uno per uno. La prima colonna da riempire è quella del vettore in ingresso. Invece di inserire i nomi di ogni vettore che vogliamo processare, puoi selezionarli tutti e lasciare che sia la finestra di dialogo a inserirli in ogni riga. Clicca sul pulsante nella cella in alto a sinistra e, nella finestra di dialogo di selezione file che apparirà, seleziona i tre file da riproiettare. Siccome soltanto uno di essi è necessario per ogni riga, quelli rimanenti saranno utilizzati per riempire le righe sottostanti.

../../../_images/first_column_filled.png

Il numero predefinito di righe è pari a 3, che è esattamente il numero di vettori che dobbiamo convertire ma, se selezioni più vettori, saranno aggiunte nuove righe automaticamente. Se vuoi riempire i campi manualmente, puoi aggiungere più righe utilizzando il pulsante Aggiungi riga.

Dovremo convertire tutti questi layer nel CRS EPSG:23029, per cui dobbiamo selezionare tale CRS nel secondo campo. Volendo utilizzare lo stesso per tutte le righe, non dobbiamo ripetere la stessa procedura per ogni riga. Piuttosto, seleziona il CRS per la prima riga (la prima in alto) usando il pulsante nella cella corrispondente, e in seguito fai doppio click sull’intestazione della colonna. Ciò avrà come conseguenza il riempimento di tutte le celle nella colonna utilizzando il valore della colonna in cima.

../../../_images/second_column_filled.png

Infine, dobbiamo selezionare un file in uscita per ogni esecuzione, che conterrà il vettore riproiettato corrispondente. Di nuovo, eseguiamo l’operazione soltanto sulla prima riga. Clicca sul pulsante nella cella più in alto e, nella cartella in cui vorrai salvare i tuoi file in uscita, inserisci un nome file (per esempio, riproiettato.shp).

Adesso, quando clicchi OK nella finestra di dialogo di selezione file, il file non sarà automaticamente scritto nella cella, ma sarà mostrato un riquadro come quello mostrato di seguito.

../../../_images/autofill.png

Se selezioni la prima opzione, sarà riempita soltanto la cella corrente. Se selezioni una qualunque delle altre opzioni, tutte le celle saranno riempite con un certo schema. In questo caso, selezioniamo l’opzione Riempi con i valori del parametro, e poi il valore Vettore in Ingresso nel menu a tendina sotto. Ciò farà sì che il valore in Vettore in Ingresso (che è il nome del vettore) venga aggiunto al nome file che abbiamo definito, rendendo ogni nome file in uscita diverso. La tabella per i processi in serie dovrebbe ora apparire in questo modo.

../../../_images/complete.png

L’ultima colonna definisce se aggiungere o meno il vettore risultante al progetto QGIS corrente. Lascia l’opzione Si predefinita, in modo tale da vedere i tuoi risultati in questo caso.

Clicca su OK e il processo in serie sarà eseguito. Se tutto funziona bene, tutti i tuoi vettori saranno processati, e 3 nuovi vettori saranno creati.