On Tue, Jul 24, 2007 at 02:01:28PM +0200, Andrea Antonello wrote:
Ciao, ho un dubbio riguardo a come fare ad avere in postgis una gauss
boaga con l'informazione del towgs per le trasformazioni. Non sono
riuscito a trovare tale info in una delle proiezioni.
Quindi parto dalla proiezione identificata da epsg 3003.
Info:
GRASS contiene parametri TOWGS84 che mancano in QGIS, PostGIS etc.
Mi basta aggiungere a srtext e proj4text i towgs ad entrambi, vero?
PROJCS["Monte Mario / Italy zone 1 / Pensinsular optimized",
GEOGCS["Monte Mario",
DATUM["Monte Mario",
SPHEROID["International 1924", 6378388.0, 297.0,
AUTHORITY["EPSG","7022"]],
TOWGS84[104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68]
AUTHORITY["EPSG","6265"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4265"]],
PROJECTION["Transverse Mercator", AUTHORITY["EPSG","9807"]],
PARAMETER["central_meridian", 9.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["scale_factor", 0.9996],
PARAMETER["false_easting", 1500000.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","3003"]]
e prj4text:
+proj=tmerc +lat_0=0 +lon_0=9 +k=0.999600 +x_0=1500000 +y_0=0
+ellps=intl +units=m +no_defs
+towgs84=104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68
... un problema di QGIS, PostGIS etc...
A questo punto vi chiedo anche una cosa che magari qualcuno sa come
ricostruire in modo programmatico. GRASS nel PROJ_INFO esattamente cosa
contiene?
GRASS 6.3.cvs (pat):~ > g.proj -w
PROJCS["Transverse Mercator",
GEOGCS["international",
DATUM["Monte_Mario",
SPHEROID["International_1924",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",9],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",1500000],
PARAMETER["false_northing",0],
UNIT["meter",1]]
GRASS 6.3.cvs (pat):~ > g.proj -p
-PROJ_INFO-------------------------------------------------
name : Transverse Mercator
datum : rome40
datumparams: towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68
proj : tmerc
ellps : international
a : 6378388.0000000000
es : 0.0067226700
f : 297.0000000000
lat_0 : 0.0000000000
lon_0 : 9.0
k_0 : 0.9996000000
x_0 : 1500000.0000000000
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1.0
I dati stanno li':
grep rome grass63/lib/gis/datumtransform.table
rome40 "towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68" "Italy (Peninsular Part)" "Accuracy 3-4m"
rome40 "towgs84=-168.6,-34.0,38.6,-0.374,-0.679,-1.379,-9.48" "Italy (Sardinia)" "Accuracy 3-4m"
rome40 "towgs84=-50.2,-50.4,84.8,-0.690,-2.012,0.459,-28.08" "Italy (Sicily)" "Accuracy 3-4m"
Qualcuno ha idea di come si possa ricostruire senza l'ausilio
delle proj4?
Potresti usare GRASS con SWIG
Utilizzando lib/proj/ che contiene
il codice aggiunto.
Magari potresti anche usare GDAL/OGR con SWIG.
ciao
Markus
PS: Ieri ho aggiornato GRASS 6.3-CVS su EPSG 6.13, seguendo GDAL.
------------------
ITC -> dall'1 marzo 2007 Fondazione Bruno Kessler
ITC -> since 1 March 2007 Fondazione Bruno Kessler
------------------