[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