Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For a program I have to calculate the height according to EGM96. I found - this site delivers files with parameters and a fortran-program. But I feel unable to understand what is going on in this Fortran-program and have no idea how to use the parameters to generate the correct height. Can someone explain the algorithm to me?

share|improve this question
Which Fortran program? The one that interpolates values on a grid (intpt.f) or the one that sums spherical harmonics (f477.f)? – whuber Oct 14 '11 at 16:56
I don't even get, which one calculate the heights for me. – Mnementh Oct 18 '11 at 7:53
They both do, but they do it in (completely) different ways. – whuber Oct 18 '11 at 13:48

GeographicLib includes classes to compute the geoid height via interpolation on a grid of values (the Geoid class) and via summing the spherical harmonic sum (the GravityModel class). The interpolation method is pretty straightforward; see the associated documentation, Geoid height. I agree that the NGA programs for computing the geoid height via spherical harmonics are poorly documented. I've tried to explain the method on the documentation page, Gravity models. More to the point, I'm happy to answer questions. (I've had no luck getting NGA to answer questions about its programs!)

share|improve this answer

Pardon if I'm cross-posting a link from Stack Overflow. I asked a similar question on Stack Overflow with regards how to do the calculations for an IOS application. I actually ended up answering my own question but I've posted a link here which gives you both C and Objective C code to complete this task.

Code is here:

Somebody ported a Fortran program to do these calculations into C and I then ported it over to Objective C

share|improve this answer

Here is a C# library for calculating geoid EGM96 undulations:

Available also as Nuget packet: GeoidHeightsDotNet

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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