Opened 13 years ago

Closed 12 years ago

#104 closed defect (fixed)

Many 7param transformations have reversed rotations (was: Ch1903ToPlus.gdc fallback datum has reversed rotation signs)

Reported by: ravenAtSafe Owned by: baertelchen
Priority: critical Milestone:
Component: Dictionaries Version:
Keywords: Cc:

Description

Ch1903ToPlus.gdc uses CH1903 as the fallback datum. This datum appears to have reversed signs for the rotations (see EPSG::1753 or the similarly named CH-1903).

Change History (8)

comment:1 by Norm Olsen, 13 years ago

Resolution: invalid
Status: newclosed

The EPSG definition specifies a coordinate operation of Coordinate Frame Transformation while the CS-MAP definition specified Seven Parameter. Flipping the signs of the rotation angles is the recognized difference between these two transformation techniques. No Change required.

comment:2 by ravenAtSafe, 13 years ago

Resolution: invalid
Status: closedreopened

CH1903 and CH-1903 are both 7PARAMETER, but have opposite rotations. So one of them is wrong and should be deprecated.

I was reasonably confident that 7PARAMETER used the same signs as Coordinate Frame; I will try to dig up evidence to support my belief.

Reopening for datum deprecation.

comment:3 by ravenAtSafe, 13 years ago

My evidence that 7PARAMETER uses the same rotation signs as Coordinate Frame (and that CH9103 is the bad datum):

  • EPSG G7-2.2010-10.pdf (section 2.4.3.2.1) includes Position Vector test points with accompanying WGS72->WGS84 parameters.
  • If you define a WGS72/7PARAMETER datum in CS-MAP using the specified Position Vector parameters and run the test point through it you will see x is off by about 2 meters and y is off by about 20 meters.
  • If you switch the rotation sign in the datum (to Coordinate Frame notation) the conversion becomes accurate within a centimeter or so.

That seems reasonably conclusive to me. If there is a mistake in the EPSG doc or I am misinterpreting it I would very much like to know!

comment:4 by ravenAtSafe, 13 years ago

Given that the position vector/coordinate frame question has not been resolved, I am concerned about the datum redefinitions in r1986. Many of them are no more than 7PARAMETER sign reversals; for example, Estonia92 -> Estonia92a.

comment:5 by ravenAtSafe, 12 years ago

Priority: majorcritical

comment:6 by ravenAtSafe, 12 years ago

Summary: Ch1903ToPlus.gdc fallback datum has reversed rotation signsMany 7param transformations have reversed rotations (was: Ch1903ToPlus.gdc fallback datum has reversed rotation signs)

comment:7 by baertelchen, 12 years ago

Owner: changed from hugueswski to baertelchen
Status: reopenednew

comment:8 by baertelchen, 12 years ago

Resolution: fixed
Status: newclosed

Fixed by Norm in changeset 2300; see details below

This submission includes the code for console programs which edit the following dictionaries, and the modified dictionaries themselves:

1> category.asc
2> coordsys.asc
3> datums.asc
4> GeodeticTransfotmation.asc, and the
5> NameMapper.csv database file.

These data files were modified as appropriate to deprecate and replace several datums and the coordinate systems and geodetic transformations which reference them. The list is given in a table coded into the SevenParamaterFixVersion2.cpp module. Tweaks to some of the test modules were made to produce accurate testing of the results.

In the past, modifications to the NameMapper.csv file were accomplished by editing the component .csv files maintained in the Data subdirectory and then rebuilding the NameMapper.csv file from scratch. As in the last twelve months several edits to the NameMapper.csv file were made manually, this technique could no longer be used. This submission includes some minor changes to the Name Mapper code which enable the name mapper database to be manipulated programatically (i.e. updated). This was the process used in this case, and what will need to be used from now on. The ....KeyNameMap.csv files in the Data subdirectory are no longer useful and should be deleted at some point in the near future.

Tested using the Tortoise Diff and ConsoleTestCpp modules.

Note: See TracTickets for help on using tickets.