[MetaCRS] Vertical Coordinate Systems in .las, GeoTIFF and WKT

Martin Desruisseaux martin.desruisseaux at geomatys.fr
Tue Jan 12 18:50:52 EST 2010


Hello all

Below is my understanding of ISO 19111, completed by what I have heard at OGC 
meetings. The master in this domain is Roel Nicolai, the director of the CRS 
working group at OGC, who is behind many concepts discussed in ISO 19111. I hope 
to not be too wrong in my attempt to rapport the talks.

You already noticed that VERT_CS (in Well Known Text) have a VERT_DATUM element. 
In both ISO 19111 and OGC 01-009, this approach is generalized: ISO 19111 
associates different kind of datum to different kind of CRS. What we are used to 
call "Datum" (the one associated with Geographic, Projected and Geocentric CRS) 
is called "GeodeticDatum" by ISO 19111. The datum associated to VerticalCRS is 
called "VerticalDatum". "TemporalDatum" is associated to "TemporalCRS", 
"EngineeringDatum" to "EngineeringCRS", etc. The term "Datum" alone is the base 
class common to every kind of datum.

In OGC 01-009, VerticalDatum allows to distinguish between geoidal and 
ellipsoidal height, as well as other kind of height as you listed in your "OGC 
Vertical Datum Types" page. In ISO 19111, this is exactly the same approach with 
one big difference: CS_VD_Ellipsoidal is intentionnaly omitted from the list of 
Vertical Datum types, so there is no way to create a VerticalCRS for ellipsoidal 
height.

According Roel Nicolai (I hope I'm not miswording him), an ellipsoidal height 
used alone (without the horizontal part, latitude & longitude) does not make 
sense. We can make sense of a goidal height used alone: this is the height above 
something close to the main sea level, so this have a meaning in the real world. 
But the height above the ellipsoid does not make sense if we don't know the 
latitude and longitude, because the ellipsoid is an approximation which may very 
well be one hundred meters in the air above the sea. If we don't know the 
latitude and longitude, we don't know where the ellipsoid height is relative to 
the real world. In order to be sure that we don't distribute non-sense data, 
Roel wanted to make sure that it is not possible to create a VerticalCRS for 
ellipsoidal height without their longitude and latitude components.

To express ellipsoidal height in ISO 19111, we must create a three-dimensional 
GeographicCRS. This is not a CompoundCRS made of GeographicCRS + VerticalCRS, 
but this is rather a GeographicCRS with 3 axes, where the third axis is the 
ellipsoidal height. It is important to note that only ellipsoidal height is 
built that way, and only ellipsoidal height is allowed to be the third axis of a 
3D GeographicCRS. Every other kind of vertical height, including geodal height, 
are part of a CompoundCRS as you documented in your "Vertical Coordinate 
Systems" page.

So in ISO 19111 there is no VerticalDatum for ellipsoidal height. The datum in 
this case is the GeodeticDatum of the horizontal part, from which the 
ellipsoidal height is indisociable: the same GeodeticDatum applies to all 3 axes 
including the vertical one.

There is an other raison for handling ellipsoidal height in a special way. Every 
coordinate transformations are performed on a mathematical model which use the 
ellipsoidal height. For example suppose that you have:

   COMPD_CS[GEOGCS[DATUM["A"]], VERT_CS[VERT_DATUM[geoidal]]]

and you want to transform to an other COMPD_CS using DATUM["B"] instead. The 
steps are:

   1) Convert geoidal height to ellipsoidal height.
   2) Transform from datum A to datum B, taking in account
      the ellipsoidal height (this is a 3D transformation).
   3) Convert back the ellipsoidal height to geoidal height.

So the 3D GeographicCRS with ellipsoidal height is the pivot by which coordinate 
transformations pass through, and those operations shall be applied using the 3D 
tuple as a whole. See for example the formula for the Molodenski transform: the 
complete formula requires the ellipsoidal height, which impact on the resulting 
latitude and longitude. Because of this mathematical role, it make sense to 
treat the GeographicCRS as a whole 3D space when the height is ellipsoidal.


Relationship with Well Known Text
---------------------------------
While ISO 19111 forces us to modelize ellipsoidal height in a special way, OGC 
01-009 and WKT don't make this distinction. Consequently in Geotoolkit.org and 
GeoTools, the CRS are internally represented in the ISO 19111 way, but are 
converted to COMPD_CS during WKT formatting. Conversely, during WKT parsing 
COMPD_CS are converted to 3D GeographicCRS when the height is ellipsoidal.

If you want to keep the implementation simple, the OGC 01-009 approach is 
simplier and you can forget this email. If you want more rigor, the ISO 19111 
approach is worth consideration, and the WKT representation should be considered 
an exchange format which doesn't reflect the actual model at least in the 
ellipsoidal case.

Sorry for this long email...

	Martin



More information about the MetaCRS mailing list