Concetti fondamentali sul calcolatore di campi di QGIS¶
Introduzione¶
Intro
In questa sezioni sono raccolti i concetti fondamentali sul Field Calc espressi tramite un elenco puntato. La conoscenza di questi concetti permette di velocizzare il lavoro e capire il comportamento del Field Calc.
Memorizzare
¶
- il CALCOLATORE di campi è attivabile solo per layer vettoriale1 e tabelle editabili2;
- la creazione di un nuovo campo è relativo al layer selezionato nella TOC (Pannello Layer);
- il calcolatore popola un campo per volta (la modifica multipla è un caso particolare);
- l'output del calcolatore popola, in generale, tutte le celle (della colonna) della tabella attributi o solo quelle selezionate (caso particolare);
- nella tabella attributi tutte le operazioni agiscono riga per riga (questo è uno dei motivi della lentezza di alcuni processi);
- è possibile richiamare altri layer tramite le funzione get_feature, get_feature_by_id e aggregate e overlay*_;
- il risultato delle funzioni di aggregazione verrà ripetuto in tutte le righe (questo è uno dei motivi della lentezza di alcuni processi);
- è possibile aggiornare la geometry >= QGIS 2.14;
$area,$perimeterecc.. il$davanti ad una funzione significa che riguarda la geometry corrente ($ sarà sostituito con @);- i nomi dei layer vanno scritti tra apici semplici ('nome_layer') mentre i nomi dei campi con doppi apici ("nome_campo") ma funziona anche senza apici, ma per evitare problemi è consigliato i doppi apici;
- i valori numerici vanno scritti senza apici es: 10, mentre i valori alfanumerici vanno scritti tra apici semplici es: 'Sicilia';
- l'anteprima del calcolatore (pto 17 - vedi screenshot) è utile ma non sempre corretta o completa; provate la funzione to_datetime o usare funzioni che restituiscono un output lungo;
- con il doppio clic è possibile aggiungere funzioni o valori nelle espressioni nell'area di editing;
- è possibile aggiungere funzioni personalizzate tramite codice Python nel gruppo Custom;
- è possibile aggiungere altri gruppi di funzioni tramite plugin es:refFunction → gruppo Reference;
- è possibile editare/salvare/importare/esportare e condividere espressioni utente; >= QGIS 3.12;
- è possibile cambiare l'attributo visualizzabile in
Elementodalle proprietà Suggerimenti del layer; - è possibile aumentare la dimenzione del testo all'interno dell'editor tramite la rotellina del mouse ( Ctrl+rotellina )
- è possibile personalizzare i colori e i font utilizzati nell'area di scrittura espressioni da Impostazioni|Opzioni|IDE;
- Campi e valori sono visibili sia per il layer corrente che per tutti i layer vettoriali (nel Gruppo Layer Mappa)
Calcolatrice¶
Il field calc di QGIS può essere utilizzata come semplice calcolatrice per le 4 operazioni +, -, * e /
Motore delle espressioni¶
Nell'interfaccia del field calc, nella parte centrale, è presente un'area dedicata alle funzioni, suddivisa per argomenti: all'interno ci sono circa 400 espressioni pronti per essere utilizzate nei nostri calcoli.
Operatori interfaccia¶
L'interfaccia del calcolatore rende immediatamente disponibili alcuni operatori:
uguale:
- uguaglianza tra numeri
10 = 10; - uguaglianza tra lettere
'A' = 'A'; - uguaglianza tra parole
'Ciao' = 'Ciao'; - ugualgianza tra stringhe
'Viva QGIS' = 'Viva QGIS'; - uguaglianza tra campi
"field1" = "field2"; - uguaglianza tra espressioni
$area = area($geometry);
sommma:
- somma di numeri
10 + 15.4; - somma di stringhe (unione)
'QGIS' + '3.0'; - somma di campi
"fied1" + "field2" - somma di espressioni
$perimeter + 500;
sottrazione:
- differenza tra numeri
250 -200; - differenza tra campi
"field1"-"field2"; - differenza tra espressioni
length("field1") - length("field2");
divisione:
- divisione tra numeri
125/5; - divisione tra campi
"field1"/"field2"; - divisione tra espressioni
$area/$perimeter;
moltiplicazione:
- moltiplicazione tra numeri
12*22; - moltiplicazione tra campi
"field1"*"field2"; - moltiplicazione tra espressioni
$perimeter*length($area);
potenza:
- potenza tra numeri
10^2; - potenza tra campi
"field1"^"field2"; - potenza tra espressioni
$area^length($area);
unione di stringhe:
- unione di numeri (che trasforma in stringhe)
12 || 24 → '1224'; - unione tra lettere
'A'||'b' → 'Ab'; - unione tra parole
'Ciao' || 'Mondo' → 'CiaoMondo'; - unione tra stringhe
'Viva QGIS' || 'Viva Pigreco' → 'Viva QGISViva Pigreco'; - unione tra campi
"field1" = "field2"; - unione tra espressioni
$area || area($geometry); - unione tra simboli
'A'||'=>'||'B' → 'A=>B';
parentesi aperta:
- il calcolatore indica se una parentesi è rimasta aperta;
parentesi chiusa:
- il calcolatore indica se una parentesi è rimasta chiusa;
nuova riga:
- aggiunge una nuova riga:
(12 || 24 ) ||'\n' ||( '12' || '24' ) → stamperà '1224' su 1224'in due righe; - molto utile per le etichette su due o più righe;
Formato GIS¶
Tabella attributi e tipo di formato GIS, cosa cambia.
La scelta del formato vettoriale GIS è molto importante in quanto potrebbe condizionare il lavoro che stiamo svolgendo.
Lo shapefile è un formato molto vecchio e si porta con se molti limiti dovuti alla vecchiaia (nato anni '90), di seguito alcuni limiti legati alla tabella attributi:
- i nomi dei campi non possono superare i 10 caratteri, per esempio
descrizione(descrizion),popolazione(popolazion) ecc..., cioè troncherebbe il nome del campo; - un campo testuale può contenere al massimo 255 caratteri, dal 256esimo verrebbero troncati;
- non gestisce i campo
datatimema solodataquindi non potremmo scrivere data e ora, ma solo data;
Il geojson è un formato molto più modermo rispetto allp shapefile e non ha i limiti descritti sopra. Questo formato è solitamente usato per realizzare mappe web.
Il GeoPackage è un nuovissimo fomato GIS (formato default di QGIS) basato su SQLite/SpatiaLite, non ha i limiti dello shapefile; è un contenitore di dati GIS: 1. vettori; 2. raster; 3. semplici tabelle; 4. stili; 5. file di progetto QGIS.
Lo SpatiaLite è un geo-database.
Warning
Se possibile non usare mai il formato shapefile! (perché ha molte limitazioni)
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.



