[gdal-dev] Ellipsoid-geoid offsetting and compound SRS

Starms, William (MU-Student) waskd6 at missouri.edu
Sun Mar 30 17:57:10 PDT 2025


Hello all, I’ve recently learned I’ve been using my elevation dataset wrong and could use some expert tips. I’m using ASTERv3 as my DEM source and that’s defined relative to EGM96. I’ve been using OSSIM for orthorectification and it turns out I configured that correctly by accident.

I tried building a VRT that summed my ASTER and EGM96 VRTs but it seems that the only way to do this was using embedded python which feels like overkill (not to mention my python version selection issues). I’d like to avoid this method.

I found a few references to EPSG:4326+5773 but couldn’t get it working in any of the combinations I tried.

I set the SRS during VRT build and it produces a VRT with three axes which seemed off; gdallocationinfo on the VRT returns the ASTER height uncorrected. Looks like this was the wrong way to do it.

Neither “gdaltransform -s_srs EPSG:4326 -t_srs EPSG:4326+5773” nor the reverse gave the EGM96 offset. gdalsrsinfo gives this proj string: “+proj=longlat +datum=WGS84 +geoidgrids=us_nga_egm96_15.tif +geoid_crs=WGS84 +vunits=m +no_defs” so I tried that (with the full path to the EGM file) as well and didn’t get anywhere.

I found an old ticket comment of Even’s (hi 😊) that seems to suggest what I’m trying should work https://trac.osgeo.org/gdal/ticket/5648#comment:1 but I couldn’t get debug logging working with CPL_DEBUG to see if anything was failing in the backend. I’m using the 3.10.2 ubuntu full container, so there shouldn’t be any proj file lookup issues and none were printed.

Alternatively, offsetting the ASTER tiles manually includes an int16->float32 conversion so the dataset doubles in size which I don’t love, but disk is cheap. I could truncate for +-0.5m error, but I’d rather have a larger dataset than a less correct one. I’m curious if anyone has thoughts on supersmapling EGM96 the ~900 times to match ASTER’s resolution as it feels like such a jump would have important nuances. In my tests so far I’ve just used bilinear interpolation.

Eager to hear what others think!

Will
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250331/5a5185d5/attachment.htm>


More information about the gdal-dev mailing list