[PROJ] Converting NAD83/NADV88 heights to HAE

Greg Troxel gdt at lexort.com
Wed Jul 1 18:09:38 PDT 2020


Patrick Young <patrick.mckendree.young at gmail.com> writes:

> echo 565890.947 4192011.754 55 | cs2cs +proj=utm +zone=10 +datum=NAD83
> +units=m +no_defs +geoidgrids=us_noaa_g2018u0.tif +to +proj=utm +zone=10
> +datum=NAD83 +units=m +vunits=m +no_defs
> 565890.95       4192011.75 55.00

I suspect you need to be very careful to distinguish among

  2D CRS (horizonal only)

  3D version of NAD83 (and thus HAE relative to NAD83 ellipsoid)

  some CRS which has the NAD83 horizontal coordinates and NAVD88 as the
  vertical

I would advise using projinfo to explain the transforms, and you may
have to look up EPSG codes for that particular UTM zone.   I am really
unclear on how cs2cs maps "NAD83" and a zone into a 2d vs 3d CRS.

> Am I using the wrong geoid grid?  From the grid readme, it mentions
> "us_nga_g2018u0.tif : Conterminous US, referenced to
> NAD83(2011). Vertical datum: NAVD88" (presumably the nga <-> noaa is a
> typo in the readme) so I think I'm using the right one.

The US government publishes two kinds of geoid models.  One family is
from the NGA and called "EGMyear" and converts between WGS84 ellipsoidal
height and WGS84 orthometric height.  The other family is by NGS (which
is part of NOAA) and is called GEOIDyear, converting between NAD83
ellipsoidal height and NAVD88.  See
https://www.ngs.noaa.gov/GEOID/GEOID18/ for more.  So in the US,
ignoring NGVD29, treating modern WGS84 as matching ITRF, and ignoring
vertical motions, you still end up with 4 different height values for a
single station.  Which is a long way of saying that GEOID18 is almost
certainly what you do want.


More information about the PROJ mailing list