Assegnare categoria prevalente¶
Dati due shapefile poligonali, fabbricati e circorscrizioni. I fabbricati hanno un attributo (categoria) che li categorizza come A,B,C,D. Come attribuire alle circoscrizioni la categoria prevalente dei fabbricati; cioè, se ci fossero, in una circoscrizione, più fabbricati con categorie B, rispetto agli altri, allora assegnare la categoria B, oppure A se, la maggioranza dei fabbricati, fosse la categoria A.
Avviamo il calcolatore di campi relativamente al layer circoscrizioni e creiamo un campo testuale:
popolato con la seguente espressione:
array_majority(
string_to_array(
aggregate(
layer:='fabbricati_pa',
aggregate:='concatenate',
expression:="categoria",
filter:=intersects( $geometry, geometry(@parent)),
concatenator:=',')
)
)
PS: occorre installare il plugin ArrayPlus in modo da poter usare la funzione array_majority.
Prova tu