17.12. Definire le estensioni

Nota

In questa lezione vedremo come definire le estensioni, che sono necessarie per alcuni algoritmi, specialmente quelli raster.

Alcuni algoritmi richiedono un’estensione per definire l’area che deve essere trattata dall’analisi che eseguono, e di solito per definire l’estensione del layer risultante.

Quando un’estensione è necessaria, può essere definita manualmente inserendo i quattro valori che la definiscono (min X, min Y, max X, max Y), ma ci sono anche altri modi più pratici e più interessanti per farlo. Li vedremo tutti in questa lezione.

Per prima cosa, apriamo un algoritmo che richiede la definizione di un’estensione. Apriamo l’algoritmo Rasterizzare (da vettore a raster), che crea un layer raster da un layer vettoriale.

../../../_images/rasterize1.png

Tutti i parametri, eccetto gli ultimi due, sono usati per definire quale layer deve essere rasterizzato, e configurare come il processo di rasterizzazione dovrebbe funzionare. Gli ultimi due parametri, invece, definiscono le caratteristiche del layer in uscita. Ciò significa che definiscono l’area coperta (che non è necessariamente la stessa area coperta dal layer vettoriale in ingresso), e la risoluzione/dimensione delle celle (che non può essere dedotta dal layer vettoriale, poiché i layer vettoriali non hanno una dimensione delle celle).

La prima cosa da fare è digitare i 4 valori di definizione spiegati prima, separati da virgole.

../../../_images/type.png

Questo non ha bisogno di ulteriori spiegazioni. Mentre questa è l’opzione più flessibile, è anche la meno pratica in alcuni casi, ed è per questo che sono state implementate altre opzioni. Per accedervi, dovete cliccare sul pulsante a destra della casella di testo dell’estensione.

../../../_images/menu1.png

Vediamo cosa fa ognuno di loro.

La prima opzione è Usa l’estensione della mappa, che mostrerà la finestra di dialogo di selezione mostrata qui sotto.

../../../_images/layer.png

Qui puoi selezionare l’estensione della mappa (l’estensione coperta dallo zoom corrente), o l’estensione di uno qualsiasi dei layer disponibili. Selezionalo e clicca su OK, e la casella di testo sarà automaticamente riempita con i valori corrispondenti.

La seconda opzione è Select extent on canvas. In questo caso, la finestra di dialogo dell’algoritmo scompare e si può cliccare e trascinare sulla tela QGIS per definire l’estensione desiderata.

../../../_images/extent_drag.png

Una volta che rilasci il pulsante del mouse, la finestra di dialogo riapparirà e la casella di testo avrà già i valori corrispondenti all’estensione definita.

L’ultima opzione è Use min covering extent from input layers, che è l’opzione predefinita. Questa calcolerà l’estensione minima di copertura di tutti i layer usati per eseguire l’algoritmo, e non c’è bisogno di inserire alcun valore nella casella di testo. Nel caso di un singolo layer in ingresso, come nell’algoritmo che stiamo eseguendo, la stessa estensione può essere ottenuta selezionando quello stesso layer in ingresso nel campo Calcola da layer che abbiamo già visto. Tuttavia, quando ci sono più layer in ingresso, l’estensione minima di copertura non corrisponde a nessuna delle estensioni dei layer in ingresso, poiché viene calcolata da tutti loro insieme.

Useremo quest’ultimo metodo per eseguire il nostro algoritmo di rasterizzazione.

Riempi la finestra di dialogo dei parametri come mostrato di seguito, e premi OK.

../../../_images/parameters.png

Nota

In questo caso, meglio usare un Integer (1 byte) invece di un Floating point (4 byte), poiché il NOME è un intero con valore massimo=64. Questo si tradurrà in una dimensione minore del file e in calcoli più veloci.

Otterrai un layer rasterizzato che copre esattamente l’area coperta dal layer vettoriale originale.

../../../_images/result.png

In alcuni casi, l’ultima opzione, Calcola da layer, potrebbe non essere disponibile. Questo accadrà in quegli algoritmi che non hanno layer in ingresso, ma solo parametri di altro tipo. In questo caso, dovrai inserire il valore manualmente o usare una delle altre opzioni.

Nota che, quando esiste una selezione, l’estensione del layer è quella dell’intero insieme di elementi, e la selezione non viene usata per calcolare l’estensione, anche se la rasterizzazione viene eseguita solo sugli elementi selezionati. In questo caso, si potrebbe voler creare effettivamente un nuovo layer dalla selezione, e poi usarlo come input.