Vediamo come filtrare i dati in una tabella attributi in QGIS, utilizzando il filtro
.
Per filtrare i dati in una tabella attributi in QGIS selezioniamo un layer dal panel layers (pannello dei layers) clicchiamo il tasto destro e selezioniamo il campo filtro
.
Si aprirĂ una nuova finestra: in alto a sinistra possiamo visualizzare i campi della tabella attributi, mentre a destra verranno restituiti tutti i valori dei campi.
In basso troviamo una serie di operatori logici sotto abbiamo la possibilitĂ di scrivere una espressione utilizzando gli operatori.

Se vogliamo ad applicare un filtro sul campo “PROV” utilizzando l’operatore “=” scriveremo la seguente espressione
“PROV” = ‘SA’
Questa espressione ci permette filtrare i valori dove il campo provincia = ‘SA’.
Cliccando su OK l’espressione mi restituirĂ su mappa tutti i valori che soddisfino questa espressione.
I valori vanno inseriti tra due apici (‘) se sono di tipo ‘STRINGA’.
- L’operatore LIKE e ILIKE
L’operatore ‘LIKE‘ è simile all’operatore ‘=’.
“PROV” LIKE ‘SA’
anche questa espressione ci permette filtrare i valori dove il campo provincia = ‘SA’ esattamente come l’operatore ‘=’.
L’operatore ‘LIKE’ è key sensitive cioè distingue le lettere in maiuscolo ed in minuscolo; se scriviamo ‘Sa’ e non ‘SA’ così come è scritto in tabella attributi il filtro non viene applicato e sulla mappa non ci verrĂ restituito nessun dato.
Se non ci interessa distinguere le le lettere in maiuscolo dalle minuscole possiamo utilizzare l’operatore ‘ILIKE’
“PROV” ILIKE ‘Sa’
in questo caso l’espressione non farĂ distinzioni tra maiuscolo e minuscolo e restituirĂ sulla mappa tutti i valori dove il campo provincia = ‘SA’.
- L’operatore %
Un altro operatore interessante è il simbolo “%”: questo operatore ci permette, per esempio, di filtrare i valori un campo che inizia o contiene una determinata lettera.
Per esempio, possiamo filtrare i valori della tabella attributi che iniziano con la lettera C
“Nome_Attributo” ILIKE ‘C%‘
Questa espressione filtra tutti i valori che iniziano per la lettera C e li restituisce sulla mappa.
Se volgiamo filtrare tutti i valori che contengono all’interno della STRINGA la lettera C scriveremo questa espressione
“Nome_Campo” ILIKE ‘%C%’
La lettera C sarĂ contenuta tra due operatori ‘%’.
Quando attiviamo un filtro notiamo che nel pannello layer apparirĂ il simbolo del filtro accanto al layer dove abbiamo appunto applicato un filtro.
- L’operatore IN e NOT IN
Nel caso vogliamo filtrare i dati per piĂ¹ campi possiamo utilizzare l’operatore ‘IN’.
Per esempio, se vogliamo filtrare la tabella attributi e visualizzare solo id dati che contengono i valori A e B nel campo “Nome_Campo” scriveremo questa espressione:
“Nome_Attributo” IN (‘A’ , ‘B’)
Se invece di utilizzare l’operatore ‘IN’ utilizziamo ‘NOT IN’ quindi scriveiamo l’espressione
“Nome_Attributo” NOT IN (‘A’ , ‘B’)
otterremo il risultato contrario cioè i dati saranno filtrati tutti i comuni non presenti della lista quindi della provincia di Av, Bn e Na.
- L’operatore AND e OR
In QGIS, l’operatore ‘AND’ è utilizzato per combinare condizioni logiche all’interno di una query spaziale o attributiva.
Per esempio, supponiamo di avere un layer di dati contenente le informazioni sugli alberi e vogliamo selezionare solo gli alberi che sono di specie “Quercia” e hanno un’altezza superiore a 5 metri. In questo caso, utilizzeremo l’operatore ‘AND’ per combinare queste due condizioni:
(“Specie” = ‘Quercia’) AND (“Altezza” > 5)
L’ operatore ‘AND’ richiede che i valori che vogliamo selezionare soddisfino tutti i requisiti richiesti nella espressione.
Se utilizziamo l’operatore ‘OR’ , invece, al posto di AND per cui scriviamo
(“Specie” = ‘Quercia’) OR (“Altezza” > 5)
i dati che vogliamo filtrare devono soddisfare o l’una o l’altra condizione e non necessariamente entrambe.
Bene, questi sono gli operatori di base che possiamo utilizzare per applicare dei filtri ad un layer vettoriale in Qgis.
E’ possibile consultare il Manuale Utente di QGIS sull’argomento a questo link.
Articoli pubblicati correlati all’argomento: