如何使用C#获得准确的海拔(海拔)值?

时间:2017-08-04 06:13:45

标签: c# elevation altitude google-elevation-api geographic-lib

问题是 - 如何以足够的精度获得点坐标?

现在我正在使用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;

但问题是:

  1. 那段代码很慢
  2. 结果不够准确
  3. 我也知道GeographicLib可以获得geoid height。但大地水准面高度只是椭圆体和大地水准面高度之间的差异,而不是绝对值。

    所以,有两个问题:

    1. 获得海拔高度的最快,更准确的方法是什么? 按坐标指向地图? (如果是Google Elevation API,那么 如何改进我的代码?)

    2. 是否可以使用GeographicLib获取它?也许我无法理解,因为英语不是我的母语,文档中的一切都很清楚。

0 个答案:

没有答案