Uploaded image for project: 'Spatial Information Systems'
  1. Spatial Information Systems
  2. SIS-390

When datum shift information are missing, still apply ellipsoid change



    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.7
    • 0.8
    • Referencing
    • None


      For some pairs of CRS, the datum is not the same but Apache SIS is nevertheless unable to apply the datum change, either because we didn't found explicit information in EPSG geodetic database, or because the datum shift depends on a grid file that we don't have. The problem is what to do in such case? Apache SIS 0.7 did nothing. Apache SIS 0.8 takes at least the change of ellipsoid in account.

      Example: EPSG:4609 — NAD27(CGQ77) uses the Clarke 1866 ellipsoid, which is different than the WGS 84 ellipsoid. The coordinate operation from that CRS to EPSG:4326 is EPSG:1691. That operation requires the CGQ77-98.gsb datum shift file, which may not be installed. In absence of datum shift information, an ellipsoid change can still be applied using a Molodensky operation with all geocentric translation parameters left to zero. This can be seen in the following fragment in the MathTransform WKT (this fragment is absent if the transform does nothing about the datum/ellipsoid change). Note there is a change of 69 meters in the semi-major axis length and 169 meters in the semi-minor axis length:

      Param_MT["Abridged Molodensky",
        Parameter["dim", 2],
        Parameter["src_semi_major", 6378137.0, Unit["metre", 1]],
        Parameter["src_semi_minor", 6356752.314245179, Unit["metre", 1]],
        Parameter["tgt_semi_major", 6378206.4, Unit["metre", 1]],
        Parameter["tgt_semi_minor", 6356583.8, Unit["metre", 1]],
        Parameter["X-axis translation", 0.0, Unit["metre", 1]],
        Parameter["Y-axis translation", 0.0, Unit["metre", 1]],
        Parameter["Z-axis translation", 0.0, Unit["metre", 1]],
        Parameter["Semi-major axis length difference", 69.4, Unit["metre", 1]],
        Parameter["Flattening difference", 3.726463918114448E-5, Unit["unity", 1]]]

      Apache SIS conservatively reports an "accuracy" of 3 km when there is no datum shift operation, no matter if we nevertheless applied an ellipsoid change or not.




            desruisseaux Martin Desruisseaux
            desruisseaux Martin Desruisseaux
            0 Vote for this issue
            1 Start watching this issue