Vai al contenuto

Selezionare usando le espressioni

Introduzione

Sotto alcuni esempi sulla selezione tramite espressione.

Esempi

Quesito A

Selezionare i primi 10 poligoni (per esempio le prime 10 province più estese d'Italia) di un layer poligonale usando la selezione per espressione di QGIS.

Espressione per selezionare

Info

Crea un array aggregando le aree $area, le ordina in modo decrescente, taglia le prime 10 e poi verifica se le aree sono presenti nell'array iniziale

array_contains( 
    array_slice(  
    array_sort( 
    array_agg($area), 
                ascending:=false ), 0,9 ),
        $area)

Espressione per etichettare

Info

Crea una etichetta concatenando l'attributo "DEN_UTS" con il numero sequenziale dell'ordinamento crescente dell'estensione delle province. NB: etichettare tramite regola usando come filtro is_selected()

"DEN_UTS"  || ' (' || 
(array_find(  
    array_sort( 
        array_agg( $area ) , 
                    ascending:=false ) ,
            $area ) +1)
            || ')'

Quesito B

Selezionare tramite funzioni di aggregazione: minimum e maximum

Minimum

Info

Confronta il valore dell'area di ogni riga con il valore minimo raggruppato per ogni provincia.

/* confronta ogni riga */
$area = minimum($area, group_by:= "COD_PROV" )

Maximum

Info

Confronta il valore dell'area di ogni riga con il valore massimo raggruppato per ogni provincia.

/* confronta ogni riga */
$area = maximum($area, group_by:= "COD_PROV" )
Quesito C

Selezionare poligoni convessi: Poligoni convessi sono figure geometriche in cui tutti gli angoli sono convessi e non contengono prolungamenti dei lati al di fuori della figura stessa. In altre parole, un poligono convesso è un poligono semplice in cui ogni angolo interno è convesso. Questi poligoni sono particolarmente importanti nella geometria piana e includono forme regolari come il triangolo, il quadrato, il rettangolo, il rombo, il parallelogramma, il trapezio e altri. Inoltre, i poligoni convessi presentano solo angoli minori di 180° e, se si traccia una retta tra due punti all’interno del poligono, il segmento sarà sempre interno alla figura.

Convex_hull

Info

Seleziona poligoni convessi tramite un calcolo OTF delle geometrie convex e centroid al variare della precisione (variabile)

/* solo per geometrie polygon */

with_variable ('precisione', 4,

geom_to_wkt( centroid(convex_hull(@geometry)),@precisione)
= 
geom_to_wkt( centroid(@geometry),@precisione))

Warning

La funzione convex_hull crea sempre geometria di tipo polygon, quindi per utilizzare l'espressione di sopra occorre convertire il layer di origine in polygon.

Quesito D

Selezionare poligoni con almeno un buco interno: Questo esempio è utile per selezionare tutti quei poligoni che hanno almeno un buco interno, in termini geometrici si parla di anelli interni (inner ring) il segmento sarà sempre interno alla figura.

num_rings

Info

Seleziona poligoni con almeno un anello interno.

/* solo per geometrie polygon */

 num_rings( $geometry)>1

riferimento

Esempi presi dalla guida HfcQGIS

DISCLAIMER

Il presente materiale didattico è stato realizzato e aggiornato da Salvatore Fiandaca nell'ambito del Academy Pigrecoinfinito - 2026.

Sviluppato utilizzando QGIS 3.44 Solothurn LTR nel periodo Maggio 2026.

Materiale rilasciato con licenza Creative Commons Attribuzione 4.0 Internazionale (CC BY 4.0): sei libero di condividerlo e modificarlo, anche per fini commerciali, a condizione di riconoscerne la paternità. Vedi la pagina Licenza uso.

©2026 Salvatore Fiandaca - CC BY 4.0.