Mettiti alla prova con le espressioni di QGIS↵
Provaci Tu↵
Risolvi questi quesiti e scopri il tuo livello di conoscenza delle funzioni/espressioni del Field Calc di QGIS.
Dati utilizzati↵
Gli shapefile ISTAT 2021 generalizzati scaricabili da qui
Esercizi e quesiti da svolgere con QGIS 3.16 Hannover o superiore:
Quesiti↵
1.Usando il layer Reg01012020_g_WGS84, tracciare il Bounding Box (poligono) delle regioni, usando il Generatore di geometrie:
2.segue esempio 1), visualizzare etichetta solo nel Bounding Box della Puglia, nell'angolo in alto a destra:
3.Usando i layer Reg01012021_g_WGS84 e RipGeo01012021_WGS84 creare un vettore lineare usando il geo-algoritmo Geometria tramite espressione che colleghi i centroidi delle ripartizioni geografiche con i centroidi delle relative regioni, vedi sotto:
4.Usando il layer ProvCM01012021_WGS84, calcolare la lunghezza della linea che collega tutti i point_on_surface delle province ordinate per regione; poi etichettare lo stesso strato in modo da visualizzare in basso a sinistra la lunghezza totale formattata, vedi sotto:
5.Come selezionare la provincia italiana che ha il maggior numero di province confinanti?;
6.Come selezionare la terza provincia più estesa della ripartizione geografica Nord-Est;
7.Creare un campo numerico e popolarlo con la classifica (1,2,3,4….) delle province più estese raggruppate per ripartizione geografica (ovvero, 5 classifiche, una per ogni ripartizione, in modo che possa leggere quale sia l'ordine delle province più estese per ogni ripartizione);
8.Perché in generale $area <> area($geometry)
?
9.Con quale espressione è possibile tracciare il centroide lungo una linea (non rettilinea)?
10.Perché sono utili i campi virtuali?
11.In che condizioni è vera questa uguaglianza $x = x($geometry))
?
12.Usando i layer Reg01012021_g_WGS84 e ProvCM01012021_WGS84 (filtro per cod_reg=9) creare l'effetto visualizzabile nello screenshot di sotto (spostando il mouse, è visibile il layer sottostante e la relativa etichetta):
13.I Raster possono essere utilizzati nel Field Calc? motivare la risposta.
14.Posso richiamare i valori di un altro layer usando le espressioni di QGIS? Se sì, con quali funzioni?
15.Per fare la concatenazione di stringhe è possibile utilizzare sia ||
che +
, ma che differenza c'è tra i due ?
16.Utilizzando lo shapefile Reg01012021_g_WGS84 quale espressione permette di selezionare le feature pari?
17.All'interno della Finestra di dialogo del Field Calc (dove scriviamo le espressioni) è possibile scrivere dei commenti, in quale modo?
18.Utilizzando lo shapefile Reg01012021_g_WGS84, quale elemento restituisce questa espressione array_agg("COD_REG")[-1]
(il primo, l'ultimo, nessuno, …)?
19.Utilizzando lo shapefile ProvCM01012021_WGS84, quale valore devo sostituire al posto della X
affinché l'uguaglianza sia soddisfatta: array_first(array_agg("COD_PROV")) = array_agg("COD_PROV")[X]
?
20.Nella Selezione per Espressione, quale tipo di output (numero, testo, booleano) deve dare l'espressione utilizzata nella finestra di dialogo sottostante (stesso concetto vale per i filtri) ?
21.Usando i layer Reg01012021_g_WGS84 e RipGeo01012021_WGS84 etichettare il layer RipGeo01012021_WGS84 con il numero delle regioni corrispondenti, come sotto (utilizzare solo espressioni):
22.Dove posso utilizzare la variabile @parent
? (ovunque o solo in?)
23.Le variabili dipendono dal contesto in cui lavoriamo (field calc, seleziona per espressione, compositore di stampe, ecc…) ? motivare la risposta;
24.Posso utilizzare le espressioni nel compositore di stampe ? fai qualche esempio
25.La variabile @atlas_geometry
è sempre disponibile? motivare la risposta.
26.Nel Field Calc è possibile aggiornare un attributo, cosa significa aggiornare l'attributo geometria tramite espressione, fai un esempio ?
27.Cosa sono e a che servono i parametri denominati nelle espressioni ?
28.Mettiti alla prova, rispondi prima di verificare in QGIS: '1' + '20' = 21
è corretta questa uguaglianza ? motiva la risposta.
29.Il Field Calc popola un attributo alla volta, è vera questa affermazione ? motiva risposta.
30.A partire dalla colonna "cod_rip", come ottenere la colonna "INVERTI" ? che espressione useresti ? vedi sotto:
31.Usando il layer ProvCM01012021_WGS84 selezionare le province che hanno il nome ("den_uts") con meno di 5 lettere:
32.Supponiamo di avere, in una tabella degli attributi, due colonne: la prima (field_1
) è una descrizione caratterizzata da un lungo testo; un secondo campo (field_2
) in cui c'è una parola; come verificare che la parola sia presente nel attributo descrizione ?
33.Usando il layer ProvCM01012021_WGS84 come scoprire il suo EPSG usando le espressioni ?
34.Usando i layer RipGeo01012021_WGS84 e in particolare la sua tabella degli attributi, aggiungere un campo (cum
) e popolarlo con la somma cumulativa del campo "cod_rip", in modo da ottenere:
35.Alla variabile @parent
è assegnata una feature o un valore ? motivare la risposta.
36.La seguente uguaglianza $id = @rownumber
relativamente alla prima feature, è vera quando?
37.Usando uno shapefile, $id
inizia da 1 o 0 ?
38.Usando un GeoPackage, @row_number
inizia da 0 o 1 ?
39.È possibile realizzare una JOIN tabellare (al volo) usando solo espressioni ? motivare la risposta. (esempio: fare una join tabellare tra il vettore RipGeo01012021_WGS84 e il file CSV sottostante)
id | valore |
---|---|
1 | ciao |
2 | viva |
3 | QGIS |
4 | 3.16.6 |
5 | Hannover |
40.È uno dei geo-algoritmi più famosi in ambito GIS Conta punti nel Poligono
, è possibile fare la stessa cosa usando solo le espressioni del Field Calc di QGIS ? motivare la risposta
41.Con quale espressione è possibile aggiungere il numero di pagine in un atlante (nel formato nro pagina/totale pagine) ?
42.Quale valore memorizza la variabile @project_folder
?
43.È possibile associare a una variabile una immagine SVG ? se sì, in quali casi ?
44.Se definissi una variabile Globale
con nome my_var = 5 e poi definissi la stessa variabile a livello di Progetto
my_var = 50; quale valore verrebbe associato alla variabile ? motivare la risposta
45.Le espressioni di QGIS sono utilizzabili ovunque in QGIS, per esempio: tabella attributi, tematizzazione, etichettatura, strumenti di processing, compositore di stampe, atlanti, report, moduli inserimento dati, widget, legenda, azioni, plugin, modellatore grafico, diagrammi, filtri, selezione, decorazioni, copyright, ecc.. lo sapevi ? motivare la risposta!😁
46.Quattro vettori da 4 provider differenti (PostGIS, Spatialite, GeoPackage e shapefile), dove funzionano meglio le espressioni di QGIS ? motivare la risposta
47.La funzione array_agg()
permette di trasformare un campo in un array, quale funzione trasforma una feature in un array ?
48.Nella finestra del Calcolatore di Campi, nella sezioni Gruppi
(dove ci sono tutti le funzioni suddivise per gruppi), alcuni gruppi sono presenti solo in certe condizioni, per esempio il gruppo Relazioni quando è visibile ?
49.Supponiamo di avere il seguente CSV con tre attributi, l'ultimo GPS
contiene la coppia di coordinate separate da ,
come da tabella sotto:
DATA | NOME | GPS |
---|---|---|
01/02/20 | cucu | 44.852747416606434,10.028176383697463 |
02/02/20 | ciao | 44.044566892850995,12.055562011167229 |
03/02/20 | arrivederci | 41.83774391119999,13.131616192302847 |
04/02/20 | pluto | 41.08389804418973,16.013252812971114 |
05/02/20 | paperino | 38.336008270894254,16.06188803019758 |
domanda 1 : come ottenere quest'altra tabella, dividendo i campi latitudine e longitudine ?
DATA | NOME | GPS | latitude | longitude |
---|---|---|---|---|
01/02/20 | cucu | 44.852747416606434,10.028176383697463 | 44.852747416606434 | 10.028176383697463 |
02/02/20 | ciao | 44.044566892850995,12.055562011167229 | 44.044566892850995 | 12.055562011167229 |
03/02/20 | arrivederci | 41.83774391119999,13.131616192302847 | 41.8377439119999 | 13.131616192302847 |
04/02/20 | pluto | 41.08389804418973,16.013252812971114 | 41.08389804418973 | 16.013252812971114 |
05/02/20 | paperino | 38.336008270894254,16.06188803019758 | 38.336008270894254 | 16.06188803019758 |
domanda 2 : come ottenere solo sei cifre decimali per gli ultimi due campi ?
DATA | NOME | GPS | latitude | longitude |
---|---|---|---|---|
01/02/20 | cucu | 44.852747416606434,10.028176383697463 | 44.852747 | 10.028176 |
02/02/20 | ciao | 44.044566892850995,12.055562011167229 | 44.044566 | 12.055562 |
03/02/20 | arrivederci | 41.83774391119999,13.131616192302847 | 41.837743 | 13.131616 |
04/02/20 | pluto | 41.08389804418973,16.013252812971114 | 41.083898 | 16.013252 |
05/02/20 | paperino | 38.336008270894254,16.06188803019758 | 38.336008 | 16.061888 |
50.A cosa serve l'operatore '\n'
?
Esito esercizi↵
Per chi volesse sapere l'esito degli esercizi svolti, inviare le risposte alla mail: pigrecoinfinito@gmail.com
con OGGETTO: Test #HfcQGIS
Risultati↵
Sono 50 quesiti di difficoltà variabile (media-alta
), sotto i consigli di Pigreco
nro | range (risposte esatte) | significato |
---|---|---|
1 | tra 0 e 10 | occorre urgentemente seguire il Corso HfcQGIS 😁 |
2 | tra 11 e 25 | seguire il Corso ti permetterebbe di rispondere bene quasi a tutte 😊 |
3 | tra 26 e 40 | hai qualche lacuna che potresti colmare seguendo il Corso HfcQGIS 😎 |
4 | tra 41 e 50 | conosci bene il Field Calc ! 😍 |
Contatto : ✉ pigrecoinfinito@gmail.com
Licenza↵
In questa sezione Provaci tu e tutti gli esercizi svolti, la licenza è CC-BY-NC-SA 4.0