Nel Forum Openoikos, dove sono iscritto, leggo il seguente quesito:
devo calcolare l’area delle porzioni di poligoni che ricadono dentro ad una cella di un reticolo, lo strato è un dusaf (Destinazione d’Uso dei Suoli Agricoli e forestali ndr), la domanda a cui rispondere è: quanta superficie di quegli usi del suolo ricadono nella singola maglia del reticolo?

SOLUZIONE
Aggiungere un campo (tipo Real) sup nella tabella attributi del layer reticolo e popolarlo – usando il calcolatore di campi di QGIS – con la seguente espressione:
aggregate(
layer:='dusaf_5',
aggregate:='sum',
expression:=area(intersection(geometry(@parent),$geometry )),
filter:=intersects( $geometry,geometry(@parent)))

PS: la funzione di aggregazione calcola l’area della porzione di dusaf che interseca ogni rettangolo del reticolo e poi somma per ogni rettangolo, come richiesto nel quesito. Per maggiori dettagli consultare la mia guida HfcQGIS
Stavo provando a studiare questo tuo case study (ho la sensazione che con la funzione “aggregate” si possano fare molte cose e vorrei imparare ad usarla) ma ho notato che, nella mitica HfcQGIS, la documentazione della funzione “parent” non è ancora sviluppata. Per il momento dove posso trovare qualche dritta su come funziona e come applicarla? Grazie
"Mi piace"Piace a 1 persona
Ciao e grazie per la domanda.
La variabile @parent è una variabile nascosta, non si trova da nessuna parte: occorre sapere che esiste. Questa variabile funziona SOLO per la funzione aggregate.
"Mi piace""Mi piace"