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

On-the-fly Geographic3D ↔ CompoundCRS conversion when parsing/formatting WKT 1



    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.6
    • 0.7
    • Referencing


      According the ISO 19111 standard, ellipsoidal heights can not be represented by standalone VerticalCRS instances. Instead they need to be part of a three-dimensional GeographicCRS instance. Version 2 of Well Known Text (WKT) format follows this specification, but version 1 had a different model. In WKT 1, three-dimensional GeographicCRS did not existed (it is not even possible to represent such CRS in WKT 1 because of heterogeneous units of measurement). Instead, WKT 1 used a CompoundCRS made of a two-dimensional GeographicCRS followed by a VerticalCRS.

      Example (WKT 2 format):

      GEODCRS[“WGS 84 (3D)”,
        DATUM[“World Geodetic System 1984”,
          ELLIPSOID[“WGS84”, 6378137.0, 298.257223563, LENGTHUNIT[“metre”, 1]]],
          PRIMEM[“Greenwich”, 0.0, ANGLEUNIT[“degree”, 0.017453292519943295]],
        CS[ellipsoidal, 3],
          AXIS[“Longitude (L)”, east, ORDER[1], ANGLEUNIT[“degree”, 0.017453292519943295]],
          AXIS[“Latitude (B)”, north, ORDER[2], ANGLEUNIT[“degree”, 0.017453292519943295]],
          AXIS[“Ellipsoidal height (h)”, up, ORDER[3], LENGTHUNIT[“metre”, 1]],
        BBOX[-90.00, -180.00, 90.00, 180.00]]

      Same example than above, but using WKT 1 format:

      COMPD_CS[“WGS 84 (3D)”,
        GEOGCS[“WGS 84”,
          DATUM[“World Geodetic System 1984”,
            SPHEROID[“WGS84”, 6378137.0, 298.257223563]],
            PRIMEM[“Greenwich”, 0.0],
          UNIT[“degree”, 0.017453292519943295],
          AXIS[“Longitude”, EAST],
          AXIS[“Latitude”, NORTH]],
        VERT_CS[“Ellipsoidal height”,
          VERT_DATUM[“Ellipsoid”, 2002],
          UNIT[“metre”, 1],
          AXIS[“Ellipsoidal height”, UP]]]

      The WKT 1 structure is illegal in today's model, so we need to create it temporarily only during WKT 1 formatting and discard it immediately after. Conversely, the WKT parser needs to convert the above-cited CompoundCRS to a three-dimensional GeographicCRS on-the-fly.


        Issue Links



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