QGIS e le aree Dusaf

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?

QGIS: dati di esempio – reticolo 500 x 500 m e DUSAF 5 Lombardia

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)))
QGIS: calcolatore di campi
QGIS: tabella attributi con il calcolo delle aree dusaf

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

2 pensieri su “QGIS e le aree Dusaf

  1. 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

    Piace a 1 persona

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

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.