Alcune volte nasce l’esigenza di rielaborare molte colonne nelle tabelle degli attributi (espandere abbreviazioni, sostituire valori numerici con valori stringa e così via), questo si può fare usando il calcolatore di campi e espressioni come CASE WHEN THEN END
, ma questo avverrebbe un campo per volta. In questo blog post dimostrerò che è possibile rielaborare più attributi contemporaneamente usando un algoritmo di processing e le espressioni.
Il metodo che propongo passa attraverso l’utilizzo di un algoritmo presente negli Strumenti di Processing, l’algoritmo si chiama aggrega
(aggregate in inglese) ed è molto potente!!!
Il nome dell’algoritmo potrebbe ingannare, nel senso che fa subito pensare che funzioni SOLO per aggregare dati e/o geometrie, ma non è così: se lo utilizzassimo in modo intelligente, potremmo ottenere la modifica di più attributi senza nessuna aggregazione.
Il trucco sta nel selezionare, nel campo Raggruppa tramite espressione
(1), un campo con valori UNIVOCI, per esempio il campo fid
dei GeoPackage.
ecco un rapido test per dimostrare quanto detto sopra: layer delle regioni ISTAT, avvio algoritmo e selezione fid
, come screen di sopra, sotto le due tabelle attributi, prima e dopo algoritmo:
come è facilmente visibile, le due tabelle sono rimaste identiche (anche se erano selezionate delle funzioni di aggregazioni come sum
, concatenate
).
Ma così facendo abbiamo utilizzato solo l’1% della potenza dell’algoritmo, vediamo cosa possiamo fare con le espressioni:
troviamo l’icona (1) che apre l’interfaccia del calcolatore di campi; per ogni attributo(2), elenco delle funzioni di aggregazione. PAZZESCO!!!
Componendo le espressioni per ogni attributo che vogliamo modificare in Espressioni Sorgente
e selezionando, per tutti i campi, first_value
in Funzioni di Aggregazione
, il gioco è fatto.
NOTE FINALI: come tutti (o quasi) gli algoritmi di Processing, l’output è un nuovo layer!!! Aggiungo che si può raggiungere lo stesso risultato utilizzando l’algoritmo Riorganizzazione campi
RIFERIEMNTI
- QGIS : https://www.qgis.org/it/site/
- DOC aggrega: https://docs.qgis.org/3.22/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html#qgisaggregate
- DOC Riorganizzazione campi: https://docs.qgis.org/testing/en/docs/user_manual/processing_algs/qgis/vectortable.html#qgisrefactorfields
I MIEI CANALI – ISCRIVITI
- Telegram : https://t.me/pigrecoinfinito
- YouTube : https://www.youtube.com/c/TotòFiandaca
Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!