Version 2 (modified by warmerdam, 7 years ago) (diff)


Vertical Datums

As part of a project to incorporate good support for vertical datum transformation support in libLAS, I, Frank Warmerdam, have been contracted to incorporate support for vertical datum transformations in PROJ.4 in the sprint of 2010. This page is intended to collect information on the changes made to PROJ.4, grid shift files, and other notes of interest.


To support transformation between a variety of vertical datums. At the minimum between vertical datums such as WGS84, ITRFxx and NAVD88. Also desirable would be support for tidal datums.

Preliminary Review

There seems to be a few classes of vertical datums, as described at

This is a fairly US oriented treatment, and it is not immediately clear how well it applies worldwide.

Ellipsoidal Datums

These are things like ITRFxx, WGS84 and NAD83 and they are meters above the ellipsoid for a given traditional horizontal datum. These are already supported by PROJ.4. It may be desirable to add better support in the default dictionaries for some datum shifts.

Orthometric (Geoidal) Datums

The NAVD88 seems to be related to the geoid rather than to the ellipsoid. Programs like VDatum provide transformations between NAD83/WGS84(transit) and NAVD88 using the geoid shift files.

Other datums like NGVD29 (the NAD27 equivelent) and IGLD85 (great lakes) are normally computed from WGS84(transit) by first converting to NAVD88 using the geoid file, and then applying an additional grid shift file to the particular datums.

Tidal Datums

There are a variety of tidal datums possible (low water, high water, etc) but in VDatum at least LMSL (Local Mean Sea Level) is used as a tidal pivot datum. Shifts from NAVD88 to LMSL are made with a grid shift file, and then another grid shift file is applied to convert to the other tidal datums.

Planned Implementation in PROJ.4

Loosely speaking, my plan is to add mechanisms similar to +nadgrids for applying a variety of grid shift files to transit between different vertical datums. Many of the VDatum grid shift files are supplied in a very simple .GTX file format (a raster grid in lat/long coordinates with floating point elevation offsets in meters). Tentatively I plan to transform other vertical datum grids into this format so PROJ.4 doesn't need to have too many translators built in.