FAQ Cartografia
Domande frequenti su GIS, proiezioni, datum e sviluppo di applicazioni cartografiche.
Qual è la differenza tra WGS84 ed ETRS89?
WGS84 è il datum globale adottato dal GPS; ETRS89 è il datum europeo ancorato alla placca euroasiatica. La differenza pratica è inferiore a 1 metro nel 2024 (la placca euroasiatica si sposta rispetto al centro della Terra di circa 2,5 cm/anno rispetto a ITRF). Per applicazioni topografiche standard i due datum sono intercambiabili; per applicazioni geodetiche di alta precisione (reti di monitoraggio, deformazioni crostali) la distinzione è fondamentale. La cartografia INSPIRE usa ETRS89.
Come si converte da coordinate geografiche WGS84 a UTM?
La conversione richiede di scegliere il fuso UTM corretto (per l'Italia: fuso 32N per la parte occidentale, fuso 33N per la parte orientale), poi applicare la proiezione Mercatore trasversa. In Python: from pyproj import Transformer; t = Transformer.from_crs("EPSG:4326", "EPSG:32632"); e, n = t.transform(lat, lon). Il codice EPSG:32632 identifica UTM zona 32N su WGS84. Attenzione: la funzione transform di pyproj ≥ 2.2 accetta coordinate nell'ordine del CRS (per EPSG:4326 è latitudine, longitudine).
Cosa sono i codici EPSG e dove posso trovarli?
I codici EPSG sono identificatori numerici univoci assegnati a sistemi di riferimento (CRS), proiezioni, datum ed ellissoidi dal registro IOGP (ex-EPSG). Il registro è consultabile su epsg.io (con descrizioni e trasformazioni) e epsg.org (sito ufficiale IOGP). I codici più usati in Italia: EPSG:4326 (WGS84 geografico), EPSG:32632 (UTM 32N WGS84), EPSG:32633 (UTM 33N WGS84), EPSG:3857 (Web Mercator), EPSG:3003 (Gauss-Boaga Ovest), EPSG:3004 (Gauss-Boaga Est), EPSG:4258 (ETRS89 geografico).
Qual è la differenza tra quota GPS e quota sul livello del mare?
Il GPS fornisce la quota ellissoidica (h): distanza verticale dall'ellissoide WGS84. La quota usata nelle carte topografiche è la quota ortometrica (H): distanza dal geoide (approssimazione del livello medio del mare). La relazione è H = h - N, dove N è l'ondulazione del geoide. In Italia N varia tipicamente tra +30 m e +50 m (il geoide si trova 30-50 m sopra l'ellissoide WGS84). Il modello del geoide italiano ufficiale (ITALGEO2005, distribuito dall'IGM) fornisce N con precisione centimetrica.
Perché le coordinate in GeoJSON sono in ordine longitudine-latitudine e non latitudine-longitudine?
La RFC 7946 (agosto 2016) ha standardizzato GeoJSON con ordine longitudine-latitudine (X, Y) per allineamento con la geometria cartesiana (asse X orizzontale = Est, asse Y verticale = Nord). Questo è in contrasto con la tradizione geografica (latitudine prima, poi longitudine) e con gli standard OGC. Molte API (incluso l'Overpass API di OSM) restituiscono oggetti GeoJSON con ordine lon-lat; le librerie JavaScript come Leaflet e Mapbox usano convention diverse (Leaflet: lat-lon, Mapbox/Turf.js: lon-lat). Verificare sempre la convenzione prima di usare le coordinate.
Come scelgo la scala cartografica giusta per la mia applicazione?
La scala dipende dall'estensione geografica da coprire e dal livello di dettaglio necessario. Linee guida: 1:5.000–1:10.000 per dati di dettaglio urbano (catasto, reti tecnologiche); 1:25.000 per escursionismo e outdoor (carta IGM standard); 1:50.000–1:100.000 per pianificazione territoriale; 1:250.000–1:500.000 per visioni regionali; 1:1.000.000+ per cartografia nazionale o globale. Per applicazioni web, la scala equivalente è data dallo zoom level: zoom 15-17 corrisponde approssimativamente a 1:5.000–1:2.000; zoom 13-14 a 1:25.000–1:50.000.
Come funziona la proiezione UTM e quali sono i suoi limiti?
UTM divide la Terra in 60 fusi di 6° di longitudine. In ogni fuso applica la proiezione Mercatore trasversa con fattore di scala centrale k₀ = 0,9996 (riduzione di scala lungo il meridiano centrale per bilanciare le deformazioni). La deformazione lineare massima è 1 parte su 2.500 alle estremità del fuso (±3°), accettabile per la maggior parte delle applicazioni topografiche. I limiti di UTM: non adatta ai poli (latitude limite: 84°N, 80°S, dove si usa il sistema UPS); possibili discontinuità al cambio di fuso (es. tra UTM 32N e UTM 33N in Italia); non adatta per dataset che si estendono su più fusi senza riproiezione.
Come si legge una carta topografica IGM 1:25.000?
La carta IGM 1:25.000 è organizzata in fogli numerati secondo la suddivisione 25V o 25DB. Gli elementi principali: isoipse (curve di livello ogni 25 m, con isoipse maestre ogni 125 m in grassetto); reticolato UTM-ETRS89 in km (griglia in blu, con coordinate Est e Nord riportate ai margini); graticola geografica in gradi (meridiani e paralleli in nero ai bordi); legenda dei simboli convenzionali (vedi specifiche IGM sul portale igmi.org); indicazione della declinazione magnetica con data di riferimento (da usare per la conversione bussola-carta).
Cosa è il datum di una proiezione e come si specifica in un file GIS?
Il datum definisce la forma e la posizione dell'ellissoide rispetto alla Terra reale. In un file GIS, il datum è specificato come parte del CRS. Nei file Shapefile è scritto nel file .prj come stringa WKT; nei GeoTIFF è embedded nei metadati GeoTIFF; nei GeoPackage è nella tabella gpkg_spatial_ref_sys. La stringa WKT include i parametri dell'ellissoide (semiasse maggiore, schiacciamento) e i parametri di rotazione/traslazione rispetto all'ITRF. Nei codici EPSG, il datum è un componente del CRS: ad esempio EPSG:32632 usa datum WGS84, EPSG:3003 usa datum Roma 1940, EPSG:25832 usa datum ETRS89.
Cos'è un DEM e come si genera?
DEM (Digital Elevation Model) è una rappresentazione digitale del terreno come griglia di quote. Si genera tramite: (1) fotogrammetria aerea o da drone (software SfM come Agisoft Metashape, OpenDroneMap); (2) dati LiDAR (classificazione del point cloud con LAStools o PDAL per estrarre il suolo nudo); (3) interferometria radar (InSAR, es. dati Sentinel-1 elaborati con software SNAP); (4) dati SRTM (missione NASA, disponibili su earthexplorer.usgs.gov). Il DEM risultante è tipicamente in formato GeoTIFF con datum WGS84 e risoluzione dipendente dalla tecnica (da sub-metrico per LiDAR a 30 m per SRTM1).
Come si calcola la distanza tra due punti geografici?
Per distanze brevi (< 100 km) l'approssimazione piana (formula euclidea in UTM) è accettabile. Per distanze maggiori bisogna usare la formula di Haversine (distanza sferica) o la formula di Vincenty (più precisa, su ellissoide). In Python: from pyproj import Geod; g = Geod(ellps='WGS84'); az12, az21, dist = g.inv(lon1, lat1, lon2, lat2). La funzione inv di pyproj restituisce azimut e distanza geodesica in metri su ellissoide WGS84.
Cosa è OpenTopoMap e come si usa?
OpenTopoMap è un servizio di rendering di mappe topografiche basato sui dati OSM e SRTM, con stile simile alle carte topografiche tradizionali (isoipse, simboli convenzionali, toponomastica). I tile sono a URL https://tile.opentopomap.org/{z}/{x}/{y}.png (copyright OpenTopoMap e collaboratori OSM). Utilizzabile come base layer in Leaflet, OpenLayers, QGIS. Uso consentito per applicazioni non commerciali con attribuzione.
Qual è la differenza tra Shapefile e GeoPackage?
Shapefile (ESRI) è il formato vettoriale legacy più diffuso ma ha limitazioni serie: nomi di campi max 10 caratteri, file max 2 GB, un solo tipo di geometria per file, encoding dei caratteri non standardizzato. GeoPackage (OGC) è lo standard moderno basato su SQLite: supporta UTF-8, nomi lunghi, geometrie miste, più layer in un file, attributi di tipo data e lista, nessun limite pratico di dimensione. L'OGC raccomanda la migrazione a GeoPackage per i nuovi progetti.
Come si usa PostGIS per query spaziali?
PostGIS aggiunge funzioni spaziali a PostgreSQL. Esempi di query: SELECT ST_Distance(ST_GeomFromText('POINT(11.2558 43.7696)', 4326)::geography, ST_GeomFromText('POINT(12.4964 41.9028)', 4326)::geography); restituisce la distanza in metri tra Firenze e Roma sullo sferoide WGS84. SELECT * FROM comuni WHERE ST_Contains(geom, ST_GeomFromText('POINT(11.2558 43.7696)', 4326)); restituisce il comune che contiene un punto dato. Il tipo geography è più preciso del tipo geometry per distanze lunghe perché usa l'ellissoide invece del piano.
Come si imposta il CRS in un layer QGIS e come si riproietta?
In QGIS, il CRS di un layer si imposta tramite Proprietà Layer → Sorgente → SR del layer. Per riproiettare (salvare il layer in un CRS diverso): clic destro sul layer → Salva con nome → scegli il CRS di uscita. Da linea di comando con GDAL: ogr2ogr -t_srs EPSG:32632 output.gpkg input.shp. Per raster: gdalwarp -t_srs EPSG:32632 output.tif input.tif. Attenzione: la riproiezione cambia le coordinate, non solo l'etichetta del CRS.
Cosa significa conforme (isogona) vs. equivalente in una proiezione?
Una proiezione conforme (o isogona) conserva gli angoli locali: le forme piccole sono riprodotte senza deformazione angolare. Esempio: UTM, Mercatore. Una proiezione equivalente conserva le aree: la superficie di ogni poligono è proporzionale alla superficie reale. Esempio: Albers Equal Area, Lambert Azimuthal Equal Area. Nessuna proiezione piana può essere contemporaneamente conforme ed equivalente. La scelta dipende dall'uso: conforme per navigazione e misure angolari; equivalente per analisi statistiche su aree.