I have altitude data points that are in units of height above MSL, and I'd like to convert these to WGS84 altitude (height above WGS84 ellipsoid). I'm trying to use vDatum command line to achieve this, but I'm not very used to this tool and all its parameters, and conversions in general. There seems to be a lot of options for vertical reference plane, several of them seem like a good choice for MSL, and several of them contains the phrase "WGS84" plus some other strings. I'm not 100% sure what the exact MSL reference is, but what I was told is that the altitude was computed collecting pressure altimeters readings and correcting them via pressure/temperature readings at nearby weather stations, so it's a close approximation to height about MSL.

Can someone give me some pointers on setting up the vDatum command line?

  • Have you seen these examples running vdatum at the command line: vdatum.noaa.gov/docs/userguide_cmd.html#fileconv? Also, there is a good explanation of different vertical datums here: vdatum.noaa.gov/docs/datums.html#lmsl. How do you know your input data reference MSL? Where did these elevation originate? Did they come from a GNSS unit, a drone image's exif data, or some other source? Why do you need to convert to the WGS84 ellipsoid?
    – GBG
    Commented Oct 18, 2021 at 15:57
  • Yes, I have seen the command line guides but I am still uncertain about the parameter choice for my specific scenario. I described in the question where the data came from: pressure altimeter corrected via weather stations. So since it's pressure altitude, I believe (though I am unsure) that this is referring to local mean sea level. As for the "why", I need to compare the data points to another set of data that is in WGS84. Commented Oct 18, 2021 at 16:33
  • Sorry, I was hasty and not clear in my last comment. Now I understand that you had barometric pressures that were converted to altitudes based on the weather station's elevation and pressure at the time of launch. What assurances do you have that the weather station's elevation references MSL? vDatum will not do tidal datum conversions unless those data are near ocean. See here: vdatum.noaa.gov/docs/faqs.html. Maybe your weather stations actually reference NGVD29? This would be the vertical datum of older USGS 10m DEMs or older topographic maps?
    – GBG
    Commented Oct 18, 2021 at 18:49
  • I don't have an absolute assurance about the weather station accuracy, or what the weather station altitude is even referencing. So we may have to go with an assumption/approximation for now. What I was told: the altitudes were collected from an aircraft using barometric altimeters as in "uncorrected pressure altitudes", at which point data from nearby weather stations are used to "correct" the altitudes to generate a MSL altitude. The formulas are dealing with pressures and temperatures, so I think it's going off some basic property of pressure/altitude which is relative to MSL Commented Oct 18, 2021 at 18:59
  • As you can see from the vertical datum tutorial and this reference list vdatum.noaa.gov/docs/services.html#step60 there are lots of assumptions. You don't have enough information to do these conversions. Can you determine the locations of the weather station used and get a station vertical datum that way? Your data have XY values from an on-board GNSS unit? Can you get elevations that way? At least you would narrow down some of the choices.
    – GBG
    Commented Oct 18, 2021 at 20:28

1 Answer 1


The string below worked for me at the command line on a Linux computer. The command line window was opened in the same directory as the vdatum.jar file before execution.

My string uses /usr/lib/jvm/java-11-openjdk-amd64/bin/java as the path to Java. Your path will differ if you are using a Windows machine but that is documented at the vDatum Command-line guide.

There is a bug in the current downloadable version of vDatum v4.3. If you are not running v4.3 then delete your current version and download v4.3 now. Replace the vdatum.jar file with this file before running command line conversions. Feel free to write vDatum for the new vdatum.jar if you are hesitant to get it from my Dropbox.

Be forewarned, assumptions were made that will affect the quality of the conversion. We do not know the source of your GNSS values but here they are assumed to be autonomous GPS and not augmented (but that will not matter much). This command line assumes local mean sea level - the points converted must be over or close to water (see vdatum guide for more on that subject) . Again, I doubt your weather station elevation references MSL but still....here you go.

And of course, do not forget to change the longs, lats, and elevation values at the end of the string.

/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar vdatum.jar ihorz:NAD83_2011:geo:deg ivert:LMSL: ohorz:WGS84_G1150:geo:deg overt:WGS84_G1150:m: -pt:-122.7832,48.8505,0 

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.