[PROJ] Converting NAD83/NADV88 heights to HAE

Greg Troxel gdt at lexort.com
Thu Jul 2 05:51:00 PDT 2020


Even Rouault <even.rouault at spatialys.com> writes:

1) I tried to use projinfo (6.3.2) with this defintiion, thinking that asking proj
"what do you think this really means" would be helpful:

  projinfo +proj=utm +zone=10 +datum=NAD83  +units=m +no_defs +geoidgrids=us_noaa_g2018u0.tif 

got me

  Too many parameters: +zone=10

Is it expected that any string that's valid for cs2cs can be queried
with projinfo?

2) It strikes me that once one moves away from basic 2D datums, the
legacy syntax is dangerous, and people should be encouraged to use a
clearer definition.  Do you agree, and if so I wonder what you think
should be done?

> Another way of doing this transformation is to use cct and PROJ pipeline syntax:
>
> echo 565890.947 4192011.754 55 | cct \
>   +proj=pipeline +step \
>       +inv +proj=utm +zone=10 +ellps=GRS80 \
>       +step +proj=vgridshift +grids=us_noaa_g2018u0.tif +multiplier=1 \
>       +step +proj=utm +zone=10 +ellps=WGS84

(I realize everybody but me thinks that somebody saying "WGS84" means
they have no idea what datum they really mean and thus an error of 2m is
ok, but this seems to be skipping the datum shift from NAD83(2011) to
modern WGS84.)

And, Patrick's original question seemed entirely in NAD83, and then the
example invocation changed to WGS84.  As the ellipsoids are in different
places, this is another source of difficulty.  (I know of no available
transforms from NAVD88 to WGS84 ellipsoidal height, although of course
two steps is the obvious approach.)

(I do realize that the difference in ellipsoidal height between GRS80
and WGS84 ellipsoid definitions, assuming same center, is just about
negligble.)

> The following also works, but you depend here on the fact that geoid2018 is the best 
> candidate used currently for the ellipsoidal<-->orthometric height transformation, and 
> specifying NAD83(2011) rather than NAD83 is critical to make it sure that geoid2018 is used. 
> If using plain NAD83, an older version of the geoid model will be used:
>
> echo 565890.947 4192011.754 55 | cs2cs \
>      "NAD83(2011) / UTM zone 10N + NAVD88 height" "WGS84 / UTM zone 10N"
>
> or
>
> echo 565890.947 4192011.754 55 | cs2cs EPSG:6339+5703 EPSG:32610

3) I didn't realize one caould merge two codes that way to construct a
compound CRS.  That may just be me that doesn't know that, but it might
help to add an example to cs2cs(1).


More information about the PROJ mailing list