問題は、ポイント座標で標高を十分な精度で取得する方法です。
現在、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;
しかし、問題は次のとおりです。
- そのコードはかなり遅い
- 結果は十分に正確ではありません
また、ジオイドの高さを取得できるGeographicLibがあることも知っています。しかし、ジオイドの高さは楕円体とジオイドの高さの差であり、その絶対値ではありません。
そこで、次の 2 つの質問があります。
座標から地図上のポイントの高度を取得する最も速くて正確な方法は何ですか? (Google Elevation API の場合、コードを改善するにはどうすればよいですか?)
GeographicLib を使用して取得することは可能ですか? 英語は私の母国語ではなく、ドキュメントですべてが明確であるため、理解できないかもしれません。