[Gfoss] WKT, Proj4, OGC WKT

Paolo Corti pcorti a gmail.com
Ven 17 Set 2010 08:57:52 CEST


2010/9/17 Patti Giuseppe <geognu a infinito.it>:
> Prendevo spunto dalla discussione sui CRS e mi chiedevo: esiste un tool tipo
> quello di spatialreference.org per convertire automaticamente una stringa
> proj4 (es. presa dal DB di QGis) in una formattata come OGC WKT (per usarla
> ad esempio per gli overrides in Geoserver)?

ciao Giuseppe
non so se esiste un tool in qualche desktop GIS o qualche utility che
faccia cio', pero' con GDAL e' un'operazione assai semplice.
Usa questo banale script in python (oppure fai tutto dalla shell):

import sys
from osgeo import osr

def proj2wkt(proj4_string):
    print proj4_string
    srs = osr.SpatialReference()
    srs.ImportFromProj4(proj4_string)
    print srs.ExportToWkt()

proj2wkt(sys.argv[1])

salvalo ad es come proj2wkt.py, dopodiche' da linea di comando:

$ python proj2wkt.py '+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996
+x_0=2520000 +y_0=0 +ellps=intl +units=m
+towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +no_def'
+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0
+ellps=intl +units=m
+towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +no_def

output:
PROJCS["unnamed",GEOGCS["International 1909
(Hayford)",DATUM["unknown",SPHEROID["intl",6378388,297],TOWGS84[-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",15],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",2520000],PARAMETER["false_northing",0],UNIT["Meter",1]]

spero di essere stato chiaro
nb puoi facilmente ottenere gli altri formati rappresentativi la
proiezione, ad es: EPSG, ESRI, PCI, ... basta cambiare il metodo
lanciato alla fine
ciao!
P

-- 
Paolo Corti
GIS Architect and Developer
web: http://www.paolocorti.net
twitter: @paolo_corti


Maggiori informazioni sulla lista Gfoss