[GRASS5] 5.7: Datum transformation - DHDN?

Markus Neteler neteler at itc.it
Wed Oct 6 10:06:47 EDT 2004


Hello Paul
(cc grass5)

I'm just having import fun with projections and would like 
to hear your opinion:

Trying to import the German FRIDA free vector data extended by a .prj
file which looks like this:

cat frida-1.0-shp-joined/proj.prj
PROJCS["Transverse Mercator",GEOGCS["bessel",DATUM["D_Deutsche_Hauptdreiecksnetz",SPHEROID["bessel",6377397.155,299.1528128]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",1],PARAMETER["false_easting",3500000],PARAMETER["false_northing",0],UNIT["Meter",1]]

I face the following problem:

v.in.ogr dsn=frida-1.0-shp-joined/strassen-joined.shp output=strassen location=frida
A datum name potsdam (Deutsches_Hauptdreiecksnetz) was specified without transformation parameters.

Now select Datum Transformation Parameters
Enter 'list' to see the list of available Parameter sets
Enter the corresponding number, or <RETURN> to cancel request
>

Checking the name, reports:
grep -i Hauptdreiec ~/grass57/lib/gis/*
~/grass57/lib/gis/datum.table:potsdam "Deutsches_Hauptdreiecksnetz"       bessel        dx=606.0    dy=23.0     dz=413.0

Since ESRI uses the (gramatically wrong) 'D_Deutsche_Hauptdreiecksnetz', GRASS fails to
find the values. So far no surprise.

To overcome the problem I would like to add 'D_Deutsche_Hauptdreiecksnetz'
in lib/gis/datum.table. But I assume that I should add the 7 parms version
which I could extract from the EPSG SQL database
(should be identical to 'DHDN' = Deutsches HauptDreiecksNetz):

I created a VIEW 'datum_parameters_tidied' like this:

SELECT o.coord_op_name, m.coord_op_method_name, p.parameter_name, pu.sort_order, pv.parameter_value, u.unit_of_meas_name, a.area_name FROM ((((((epsg_coordoperation o JOIN epsg_coordoperationmethod m ON ((m.coord_op_method_code = o.coord_op_method_code))) JOIN epsg_coordoperationparamvalue pv ON (((pv.coord_op_method_code = o.coord_op_method_code) AND (pv.coord_op_code = o.coord_op_code)))) JOIN epsg_coordoperationparamusage pu ON (((pu.coord_op_method_code = o.coord_op_method_code) AND (pu.parameter_code = pv.parameter_code)))) JOIN epsg_coordoperationparam p ON ((p.parameter_code = pv.parameter_code))) JOIN epsg_unitofmeasure u ON ((u.uom_code = pv.uom_code))) JOIN epsg_area a ON ((a.area_code = o.area_of_use_code))) WHERE (((o.coord_op_type = 'transformation'::character varying) AND (o.coord_op_name ~~ '%WGS 84%'::text)) AND (o.deprecated = 0)) ORDER BY o.coord_op_name;

which then reports:
select * from datum_parameters_tidied where coord_op_name ~ 'DHDN';

[ see attached file dhdn_datum_parameters.csv ]

Question: which one to pick? I assume the 
'Position Vector 7-param. transformation'...

Recommendations are welcome.

Thanks
Markus
-------------- next part --------------
"coord_op_name","coord_op_method_name","parameter_name","sort_order","parameter_value","unit_of_meas_name","area_name"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","X-axis translation","1","582","metre","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","Y-axis translation","2","105","metre","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","Z-axis translation","3","414","metre","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","X-axis rotation","4","-1.04","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","Y-axis rotation","5","-0.35","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","Z-axis rotation","6","3.08","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (1)","Coordinate Frame rotation","Scale difference","7","8.3","parts per million","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","X-axis translation","1","598.1","metre","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","Y-axis translation","2","73.7","metre","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","Z-axis translation","3","418.2","metre","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","X-axis rotation","4","0.202","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","Y-axis rotation","5","0.045","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","Z-axis rotation","6","-2.455","arc-second","Germany - former west Germany"
"DHDN to WGS 84 (2)","Position Vector 7-param. transformation","Scale difference","7","6.7","parts per million","Germany - former west Germany"



More information about the grass-dev mailing list