Ho uno shapefile ma non so in che sistema di coordinate è
< Torna a HOWTOs e procedure tipo
La percentuale degli shapefile esistenti corredati del file .PRJ che contiene le informazioni sul sistema di riferimento è molto bassa. Capita quindi con una certa frequenza di avere a che fare con dati di cui non conosciamo il sistema di riferimento.
Qui in breve un possibile approccio al problema, posto che abbiamo una vaga idea di dove siano situati i nostri dati.
Indice |
[modifica] Coordinate geografiche o cartografiche
Controlliamo le coordinate dei nostri dati. Tipicamente, se sono espressi come numeri decimali compresi tra -90 e 90 (Nord/Y), -180 e 180 (Est,X) siamo di fronte a dati espressi secondo un sistema di coordinate geografiche (latitudine, longitudine).
Al contrario, se le coordinate sono espresse in numeri decimali dell'ordine delle decine di migliaia e oltre, siamo invece in presenza di un sistema di riferimento con coordinate proiettate (cartografiche).
Nel primo caso, è sufficiente recuperare il datum e l'ellissoide di riferimento. Nel secondo, dovremo impegnarci un po' più a fondo.
[modifica] Datum ed ellissoide
Oggigiorno il sistema più diffuso per la gestione delle coordinate geografiche è il WGS84, utilizzato anche dai ricevitori GPS. QGIS carica in automatico i file privi di informazioni sul CRS usando il sistema WGS84 in modalità geografica (latitudine, longitudine), tuttavia l'ellissoide WGS84 può anche essere utilizzato per sistemi di coordinate proiettate (v. esempio sotto).
I dati provenienti dagli USA spesso usano il datum NAD83.
[modifica] Sistema di proiezione
Se dobbiamo rintracciare il sistema di proiezione utilizzato, è necessaria un po' di pratica in social engineering oltre che in geomatica. Conoscere lo stato o la regione a cui sono riferiti i nostri dati restringe solitamente a un paio di possibilità su diverse migliaia di sistemi di proiezione. Il database EPSG, incluso in tutti i pacchetti software GFOSS, contiene le definizioni di tutti i principali CRS (anche se non ne include alcuni molto diffusi in Italia), ed è consultabile tramite GRASS o QGIS.
[modifica] Esempio
steko@gibreel:~/gisdata/pozzi$ ogrinfo -al -so punti.shp
INFO: Open of `punti.shp'
using driver `ESRI Shapefile' successful.
Layer name: punti
Geometry: Point
Feature Count: 61
Extent: (715019.999902, 8023340.859677) - (749456.999794, 8072390.000021)
Layer SRS WKT:
(unknown)
RECNUM: String (6.0)
NAME: String (17.0)
LAT: String (12.0)
LON: String (12.0)
ALTITUDE: String (6.0)
LONGNAME: String (17.0)
I dati sono chiaramente proiettati. Sappiamo che sono riferiti alle posizioni di alcuni pozzi in Mozambico, quindi cerchiamo come prima cosa quale è la zona UTM del Mozambico, ovvero la zona UTM 36S.
Possiamo quindi provare in QGIS ad applicare questo CRS al nostro shapefile, sovrapponendolo a una base cartografica certa (es. WMS NASA o dati VMAP0). Nel nostro caso siamo stati fortunati e abbiamo trovato al primo tentativo il CRS corretto. Tra i vari ellissoidi a disposizione abbiamo scelto WGS84 perché avevamo l'informazione dalla nostra fonte. Il codice EPSG è quindi EPSG:32736.
Possiamo trasformare il nostro shapefile in un file GPX caricabile sul GPS con il seguente comando:
steko@gibreel:~/gisdata/pozzi$ ogr2ogr -s_srs "EPSG:32736" -t_srs "EPSG:4326" -f "GPX" punti.gpx punti.shp
Convertendo le coordinate da proiettate in geografiche nel sistema WGS84.
Se vogliamo evitare di dover ogni volta impostare il CRS a mano, possiamo creare un file .PRJ da annettere allo shapefile...