Importante
La traduzione è uno sforzo comunitario you can join. Questa pagina è attualmente tradotta al 88.89%.
17.24. Esecuzione iterativa di algoritmi
Nota
Questa lezione mostra un modo diverso di eseguire algoritmi che usano layer vettoriali, eseguendoli ripetutamente, iterando sulle proprietà in un layer vettoriale in ingresso
Conosciamo già il modellatore, che è un modo per automatizzare le attività di elaborazione. Tuttavia, in alcune situazioni, il modellatore potrebbe non essere ciò di cui abbiamo bisogno per automatizzare un determinato processo. Vediamo una di queste situazioni e come risolverla facilmente utilizzando una funzionalità diversa: l’esecuzione iterativa di algoritmi.
Apri i dati corrispondenti a questo capitolo. Dovrebbe apparire così.
Riconoscerai il nostro ben noto DEM dei capitoli precedenti e un insieme di bacini idrici estratti da esso. Immagina di dover tagliare il DEM in diversi layer più piccoli, ognuno dei quali contiene solo i dati di elevazione corrispondenti ad un singolo bacino. Questo sarà utile se in seguito vorrai calcolare alcuni parametri relativi ad ogni bacino, come la sua elevazione media o la sua curva ipsografica.
Questo può essere un compito lungo e noioso, specialmente se il numero di bacini è grande. Tuttavia, è un compito che può essere facilmente automatizzato, come vedremo.
The algorithm to use for clipping a raster layer with a polygon layer is called Clip raster with polygons, and has the following parameters dialog.
Puoi eseguirlo usando il layer dei bacini idrici e il DEM come input, e otterrai il seguente risultato.
Come puoi vedere, viene utilizzata l’area coperta da tutti i poligoni del bacino idrico.
Puoi ottenere il DEM ritagliato con un solo bacino idrico selezionando il bacino idrico desiderato e poi eseguendo l’algoritmo come abbiamo fatto prima.
Dato che vengono usati solo gli elementi selezionati, solo il poligono selezionato sarà usato per ritagliare il layer raster.
Fare questo per tutti i bacini produrrà il risultato che stiamo cercando, ma non sembra un modo molto pratico di farlo. Vediamo invece come automatizzare la funzione seleziona e ritaglia.
First of all, remove the previous selection, so all polygons will be used again. Now open the Clip raster with polygon algorithm and select the same inputs as before, but this time click on the button that you will find in the right-hand side of the vector layer input where you have selected the watersheds layer.
Questo pulsante fa sì che il layer di input selezionato venga suddiviso in tanti layer quanti sono gli elementi presenti al suo interno, ognuno dei quali contiene un singolo poligono. L’algoritmo verrà quindi richiamato ripetutamente, uno per ciascuno di questi layer a singolo poligono. Il risultato, invece di un solo layer raster nel caso di questo algoritmo, sarà un insieme di layer raster, ognuno dei quali corrisponde a una delle esecuzioni dell’algoritmo.
Ecco il risultato che si ottiene se esegui l’algoritmo di ritaglio come spiegato.
Per ogni layer, la tavolozza dei colori bianco e nero, (o qualsiasi tavolozza tu stia usando), è regolata in modo diverso, dai suoi valori minimi ai suoi valori massimi. Questo è il motivo per cui si possono vedere i diversi pezzi e i colori non sembrano corrispondere nel bordo tra i layer. I valori, tuttavia, corrispondono.
Se inserisci un nome di file per il risultato, i file risultanti saranno nominati usando quel nome di file e un numero corrispondente ad ogni iterazione come suffisso.