opengeospatial / geotiff

18 stars 9 forks source link

Dynamic CRS and coordinate epoch #78

Open rouault opened 5 years ago

rouault commented 5 years ago

There's an interesting ongoing discussion on the PROJ mailing list ("Static/Dynamic datum problems " emails at https://lists.osgeo.org/pipermail/proj/2019-June/date.html) that boils down to the issue of dynamic datum/CRS and coordinate epoch. In the GeoTIFF realm, if one would use the code of a dynamic CRS as the value of GeodeticCRSGeoKey or ProjectedCRSGeoKey, we should normally also indicate the coordinate epoch at which the coordinates in the ModelTiepointTag or ModelTransformationTag are specified, but there's no standardized way of doing that.

Should that be a new GeoKey ?

or if we go for using a full WKT approach in a next major version (see #56), that could be solved by using the COORDINATEMETADATA keyword added in the new CRS WKT revised standard (OGC 18-010) :

COORDINATEMETADATA[
  GEOGCRS["WGS 84 (G1762)",
    DYNAMIC[FRAMEEPOCH[2005.0]],
    DATUM["World Geodetic System 1984 (G1762)",
      ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1.0]]
    ],
    CS[ellipsoidal,3],
      AXIS["(lat)",north,ANGLEUNIT["degree",0.0174532925199433]],
      AXIS["(lon)",east,ANGLEUNIT["degree",0.0174532925199433]],
      AXIS["ellipsoidal height (h)",up,LENGTHUNIT["metre",1.0]]
  ],
  EPOCH[2016.47]
]
rouault commented 3 years ago

As part of a ongoing move to add coordinate epoch to a number of geospatial raster and vector formats (https://github.com/OSGeo/gdal/pull/3810), I went ahead and added experimental support for that in GeoTIFF by adding a new CoordinateEpochGeoKey=5120 GeoKey of type double, with the value being the coordinate epoch in decimal year. This is GeoTIFF 1.2 material. Excellent backward compatibility.

rouault commented 3 years ago

Proposed pull request to add a CoordinateEpochGeoKey: https://github.com/opengeospatial/geotiff/pull/99