I have a question concerning the SRTM elevation data (http://srtm.usgs.gov/).

As a little thought experiment, assume I want to build a 3D model of the earth's surface as a point cloud. The earth's center is at position (0, 0, 0). For each latitude/longitude position for which elevation data is available, I want to find the Cartesian coordinates of the point on the earth's surface.

It says on the SRTM website "Heights are in meters referenced to the WGS84/EGM96 geoid". I'm not 100% sure if I understand this correctly.

From what I understand, the meters in the SRTM data are above sea level with respect to the EGM96 geoid. So for certain coordinates (latitude, longitude) I first need to find the Cartesian direction vector for these coordinates (let's call it d). Then I need to find the sea level at these coordinates with respect to the EGM96 ellipsoid (let's call it s) and then the height above sea level for these coordinates from the SRTM data (let's call it h). Then the position of the surface point would be (h + s) * d. Is this correct or did I misunderstand something?

If this is in fact correct, I have two more questions:

  • How can I find the Cartesian direction vector from the latitude/longitude?
  • How can I find the sea level with respect to the EGM96 geoid at a certain latitude/longitude coordinate?

closed as too broad by ahmadhanb, nmtoken, mgri, BERA, whyzar Nov 2 '17 at 10:18

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.