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].
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"