2

The question is - how to get elevation by point coordinates with sufficient accuracy?

Now I am using Google Maps Elevation API:

         string LatLngURL = "http://maps.googleapis.com/maps/api/elevation/xml?locations=" 
                + LatTmp.ToString(CultureInfo.GetCultureInfo("en-US"))
                    + "," + LngTmp.ToString(CultureInfo.GetCultureInfo("en-US"));
                AltNow.Text = LatLngURL; 
                XmlDocument altitudegoogle = new XmlDocument();
                altitudegoogle.Load(LatLngURL);
                XmlElement root = altitudegoogle.DocumentElement;
                XmlNode Alt = root.SelectSingleNode("/ElevationResponse/result/elevation");
                string Altitude = Alt.ChildNodes[0].InnerText;

But the thing is:

  1. That code quite slow
  2. The result is not accurate enough

Also I know that there's GeographicLib which enables to get a geoid height. But geoid height is just a difference between ellipsoid and geoid height not its absolute value.

So, there's two questions:

  1. What is the fastest and more accurate way to get altitude of the point on the map by its coordinates? (If Google Elevation API is, so how to improve my code?)

  2. Is it possible to get it using GeographicLib? Maybe I can not understand because English is not my native and everything is clear in its documentation.

Golovach Grach
  • 158
  • 2
  • 2
  • 16
  • What level of accuracy do you have for your inputs, and what level of accuracy are you expecting in the output? – Damien_The_Unbeliever Aug 04 '17 at 07:03
  • In general, I do not have formal requirements for accuracy of altitude determination. But I would like to do as accurately as possible. – Golovach Grach Aug 04 '17 at 07:30
  • I just know that Google using STRM for altitude, and its not like accurate enough in general, again - vertical resolution of 30 meters and a horizontal resolution of 90 meters. – Golovach Grach Aug 04 '17 at 07:35

0 Answers0