I have multiple files in XYZ format in UTM horizontal + WGS84 ellipsoid vertical that I need to convert to UTM horizontal EGM96 geoid elevations. There are about 250'000 points in a an area that is 3km on 25km approximately. The points mostly bathymetry points located 5cm to 1m from each other so sampling a raster DEM will not work.

Is there a way do that using gdal, python script, Qgis or Arcgis ?

What I found so far:

  • The NGA's page where one can get EGM96 elevations from lat/long coordinates but that only works one point at a time.
  • EPSG:10084 seems to provide transformation from WGS84 to EGM96 but I couldn't find how to use it.

1 Answer 1


The United States National Oceanic and Atmospheric Administration distributes a freeware package called vDatum for doing vertical datum transformations. vDatum is a Java executable file so there are some installation steps and dependent software (like the appropriate version of Java).

vDatum will accept a text file as input.

Here is a link to the User Guide.

Her is a link to th Datum tutorial.

Sin you asked about GDAL or Python you might be intrested in Using vDatum at the command line.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.