[Gfoss] Ogr2ogr e file prj...

a.furieri a lqt.it a.furieri a lqt.it
Ven 21 Set 2012 21:50:55 CEST


On Fri, 21 Sep 2012 12:02:23 -0700 (PDT), stefano campus wrote:
> in piĆ¹, da quello che ho capito, qgis usa la codifica epsg e non proj 
> che se
> non erro sono diverso.
>

QGIS in senso stretto non ha nulla di speciale; come la maggior parte
del sw GFOSS si limita ad usare la libreria PROJ.4 (libproj).
http://trac.osgeo.org/proj/

purtroppo esistono due diverse notazioni per descrivere i sistemi di
riferimento: una (molto completa ed esaustiva) e' la notazione WKT
(da non confondere con il WKT per le geometrie, che e' tutt'altra 
cosa);
il WKT per i sistemi di riferimento e' esattamente quello che trovi
dentro ai files .PRJ che accompagnano gli Shapefiles.
purtroppo la notazione WKT ha un supporto abbastanza limitato nel sw
libero: in pratica solo GDAL riesce ad utilizzarla.

la libreria PROJ.4 viceversa e' di uso quasi universale, ma non e' in
grado di interpretare le definizioni WKT; si basa sull'uso di stringhe
geodetiche apposite. giusto come esempio:

questa e' la definizione WKT del Gauss-Boaga 3003:
--------------------------------------------------
PROJCS["Monte Mario / Italy zone 1",
GEOGCS["Monte Mario",
DATUM["Monte_Mario",
SPHEROID["International 1924",6378388,297,
AUTHORITY["EPSG","7022"]],
TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68],
AUTHORITY["EPSG","6265"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4265"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",9],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",1500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AXIS["X",EAST],
AXIS["Y",NORTH],
AUTHORITY["EPSG","3003"]]

e questa e' la stringa geodetica PROJ.4 sempre per il Gauss-Boaga 3003:
-----------------------------------------------------------------------
+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 \
   +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 \
   +units=m +no_defs

entrambe derivano dal dataset EPSG, ma sono due notazioni completamente 
diverse:
come puoi vedere, la notazione PROJ.4 e' molto piu' concisa e meno 
verbosa, ma
e' anche un po' piu' sommaria e speditiva.

tanto per complicare ulteriormente le cose, nel passaggio di versione 
tra la
libproj v3.7.0 e la v3.8.0 i criteri con cui vengono definite le 
stringhe
geodetiche della PROJ.4 sono cambiati in termini sostanziali.
quindi usando la versione piu' recente (ancora poco diffusa) otterrai 
sicuramente
risultati molto diversi da quelli che ottenevi storicamente con le 
versioni precedenti.

per gli interessati alla "memoria storica", qua potete rileggervi tutto 
il thread.
http://lists.gfoss.it/pipermail/gfoss/2012-May/023071.html


> per quanto riguarda il piemonte invece, ormai siamo passati da anni a 
> wgs84
> utm32n. ora siamo pensando come fare per adempiere al decreto.
> dato appunto lo scarto tra erts89 con realizzazione etrf2000 e 
> l'attuale
> wgs84, non vale assolutamente la pena riproiettare tutto. si pensava 
> magari
> di sostiuire il prj vecchio col nuovo.
>

fortunatamene sia WGS84 che ETRF2000 sono basati sul medesimo 
ellissoide; le
differenze tra i due sistemi ci sono, ma sono di ordine quasi 
infinitesimale.
tipicamente non dovrebbero mai superare i pochi millimetri / 
centimetri;
probabilmente qualcosa di piu' sull'asse Z.
insomma, per nostra fortuna lo SRID=32632 e lo SRID=35832 sono 
tranquillamente
interscambiabili, almeno nel caso 2D
introduci sicuramente un margine di errore, ma e' praticamente 
irrilevante
per la maggior parte degli scopi pratici.

ciao Sandro

-- 
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.



Maggiori informazioni sulla lista Gfoss