In questo blog post del 2019 parlai di QGIS e il FILTRO, uno strumento molto utile e potente la cui documentazione è ancora ferma alla definizione della versione 2.x, ovvero non troviamo cenno sulle reali potenzialità del filtro: in questo post cercherò di colmare questa lacuna.
Nella documentazione si legge:
The Query Builder provides an interface that allows you to define a subset of the features in the layer using a SQL-like WHERE clause and to display the result in the main window. As long as the query is active, only the features corresponding to its result are available in the project.
ovvero è possibile scrivere solo la condizione where
, mentre in realtà è possibile scrivere l’intera SQL Statement, mi spiego meglio con l’esempio seguente:

come si vede dallo screenshot, non ho scritto solo la condizione where
ma l’intera query:
select * from Reg01012019_g_WGS84 where "COD_REG" >= '15'
ottenendo:
La possibilità di scrivere l’intera query mette a disposizione altri vantaggi:
- limitare i campi nella tabella attributi (
select a,b,c
…); - usare Alias (
select field1 AS campo1
…); - usare funzioni spaziali per modificare la geometria (
st_buffer()
per esempio);
select "DEN_REG",st_buffer (geom, 10000) as geom
from Reg01012019_g_WGS84
where "COD_REG" >= '15'
NOTE FINALI: Ho notato questo comportamento usando il plugin DB Manager e creando una query, appena aggiungevo la query alla map canvas ottenevo il risultato di sopra. La possibilità di scrivere l’intera SQL statement è presente dalla versione 3.x in poi, da prove effettuate nella 2.18.28 è possibile scrivere solo la condizione where
ecco perché, ad inizio post, affermo che la definizione di FILTRO è ferma alla versione 2.x di QGIS. Ho già segnalato il problema nel gruppo Telegram di QGIS-it.
RIFERIMENTI
- QGIS : https://qgis.org/it/site/
- QUERY BUILDER : https://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/vector_properties.html#query-builder
- Il mio canale Telegram : https://t.me/pigrecoinfinito
Se il blog post vi è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!
Se il blog vi è stato utile contribuite a mantenerlo aggiornato PayPal
ottimo come sempre!
Se ho intuito bene:
– con formato shp, solo sql “classico”
– con formati geopack, spatialite, postigis, anche SQL spazile su 1 layer.
– per analisi spoaziale e sql che prende vari layer si usa il virtual layer o le query del DB Manager?
Grazie!
"Mi piace"Piace a 1 persona
Ciao Luca
Bella sintesi!!!
"Mi piace"Piace a 1 persona
Grazie a te! avevo bisogno di conferme!
"Mi piace"Piace a 1 persona