17.7. Selezione

Nota

In questa lezione vedremo come gli algoritmi di processig gestiscono le selezioni nei layer vettoriali che sono usati come input, e come creare una selezione usando un particolare tipo di algoritmo.

A differenza di altri plugin di analisi in QGIS, non troverai nel processing dei geoalgoritmi nessuna casella di controllo «Usa solo gli elementi selezionati» o simili. Il comportamento relativo alla selezione è impostato per l’intero plugin e tutti i suoi algoritmi, e non per ogni esecuzione dell’algoritmo. Gli algoritmi seguono le seguenti semplici regole quando usano un layer vettoriale.

  • Se il layer ha una selezione, vengono usate solo elementi selezionati

  • Se non c’è alcuna selezione, vengono usate tutti gli elementi.

Nota che puoi cambiare questo comportamento deselezionando la relativa opzione nel menu Processing ► Opzioni ► Generale.

Puoi provarlo tu stesso selezionando alcuni punti in uno qualsiasi dei layer che abbiamo usato nell’ultimo capitolo, ed eseguendo l’algoritmo di riproiezione su di essi. Il layer riproiettato che si otterrà conterrà solo i punti che sono stati selezionati, a meno che non ci sia stata nessuna selezione, il che farà sì che il layer risultante contenga tutti i punti del layer originale.

Per fare una selezione, puoi utilizzare uno qualsiasi dei metodi e strumenti disponibili in QGIS. Tuttavia, puoi anche usare un geoalgoritmo per farlo. Gli algoritmi per creare una selezione si trovano nella casella degli strumenti sotto Vettore/Selezione.

../../../_images/selection_algs.png

Apri l’algoritmo Selezione casuale.

../../../_images/random_selection1.png

Lasciando i valori predefiniti, selezionerà 10 punti dal layer corrente.

../../../_images/selected1.png

Noterai che questo algoritmo non produce alcun risultato, ma modifica il layer in ingresso (non il layer stesso, ma la sua selezione). Questo è un comportamento insolito, poiché tutti gli altri algoritmi producono nuovi layer e non modificano i layer in ingresso.

Dato che la selezione non fa parte dei dati stessi, ma qualcosa che esiste solo all’interno di QGIS, questi algoritmi di selezione devono essere usati solo selezionando un layer che è aperto in QGIS, e non con l’opzione di selezione del file che si trova nella casella dei valori dei parametri corrispondenti.

La selezione che abbiamo appena fatto, come la maggior parte di quelle create dal resto degli algoritmi di selezione, può essere fatta anche manualmente da QGIS, quindi ti starai chiedendo che senso ha usare un algoritmo per questo. Anche se ora questo potrebbe non avere molto senso per te, vedremo in seguito come creare modelli e script. Se vuoi fare una selezione nel mezzo di un modello (che definisce un flusso di lavoro di elaborazione), solo un geoalgoritmo può essere aggiunto a un modello, e altri elementi e operazioni di QGIS non possono essere aggiunti. Questo è il motivo per cui alcuni algoritmi di elaborazione duplicano funzionalità che sono disponibili anche in altri componenti di QGIS.

Da ora in poi, basta ricordare che le selezioni possono essere fatte usando i geoalgoritmi di processing, e che gli algoritmi useranno solo gli elementi selezionati se esiste una selezione, o altrimenti tutti gli elementi.