2010/9/17 Patti Giuseppe <geognu@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