Nella versione 2.16 di QGIS è stato introdotto, nel calcolatore di campi di QGIS, un nuovo gruppo di funzioni chiamate ‘aggregates’ che contiene funzioni che aggregano valori nei livelli e campi; attualmente contiene 22 funzioni,

in particolare vedremo la prima funzione, aggregate, in cui è possibile usare la variabile @parent (solo per questa funzione). Ciò rende possibile accedere agli attributi e alla geometria dalla funzione genitore quando si trova nel filtro della funzione di espressione “aggregata”, capiremo meglio con i tre esempi che seguiranno.
Primo esempio: conta i punti nel poligono

in questo esempio abbiamo due layer, uno poligonale e l’altro puntuale; con il calcolatore di campi e le funzioni di aggregazione è possibile aggiungere un nuovo campo – nel vettore poligonale – e popolarlo con il numero di punti che vi ricadono.[ qui maggiori dettagli].
oppure: conta punti nel poligono con categorie (grazie a Martina Savarese)

in questo esempio abbiamo due layer, uno poligonale e l’altro puntuale; con il calcolatore di campi e le funzioni di aggregazione e l’operatore booleano (AND) è possibile aggiungere un nuovo campo – nel vettore poligonale – e popolarlo con il numero di punti che vi ricadono distinguendoli per categoria: [ qui maggiori dettagli].
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
concat( | |
'Civilian/Public:', | |
aggregate(layer:='airports',aggregate:='count',expression:="USE", filter:= ("USE"='Civilian/Public' AND intersects ($geometry,geometry(@parent)))), | |
',', | |
'Military:', | |
aggregate(layer:='airports',aggregate:='count',expression:="USE", filter:= ("USE"='Military' AND intersects ($geometry,geometry(@parent)))), | |
',', | |
'Joint Military/Civilitan:', | |
aggregate(layer:='airports',aggregate:='count',expression:="USE", filter:= ("USE"='Joint Military/Civilitan' AND intersects ($geometry,geometry(@parent)))), | |
',', | |
'Other:', | |
aggregate(layer:='airports',aggregate:='count',expression:="USE", filter:= ("USE"='Other' AND intersects ($geometry,geometry(@parent)))) | |
) |
Secondo esempio: somma le lunghezze delle linee all’interno dei poligoni

in questo esempio abbiamo due layer, uno poligonale e l’altro lineare; con il calcolatore di campi e le funzioni di aggregazione è possibile aggiungere un nuovo campo – nel vettore poligonale – e popolarlo con la somma delle lunghezze delle linee che vi ricadono.[ qui maggiori dettagli].
Terzo esempio: realizzare una spatial-join con aggregazione di poligoni

in questo esempio abbiamo due layer poligonali; con il calcolatore di campi e le funzioni di aggregazione è possibile aggiungere un nuovo campo – nel vettore poligonale – e popolarlo in modo da trasferire, concatenandoli, un attributo dell’altro poligono .[qui maggiori dettagli].
NOTE FINALI: il calcolatore di campi di QGIS, per gli amici field calc, è uno strumento straordinario con cui è possibile realizzare cose incredibili come i tre esempi di sopra. Ho realizzato una guida HfcQGIS, sul field calc, in cui descrivo tutte le funzioni con molti esempi e tantissimi screenshot.
Buona lettura e W QGIS e tutti gli sviluppatori.
Se la guida HfcQGIS vi è stata utile, contribuite affinché rimanga online ed aggiornata.
Terzo esempio –> Maggiori dettagli –> …che vuol dire “cose che pampine”? …;-) …scherzo …il siciliano è bello e musicale …ma comprensibile a pochi eletti (quando facevo il Caporale nell’Esercito, gli unici due che non comprendevo mai, ma mai mai mai, erano un bergamasco e un messinese e sono convinto che mi abbiano mandato a quel paese almeno 3000 volte senza che io lo abbia mai capito)
"Mi piace"Piace a 1 persona
È un modo di dire per indicare che una cosa è fatta particolarmente bene.
Il ‘pampino’ è la foglia della vite.
ciao
"Mi piace""Mi piace"