程序如何确定Google地球API已获取某个位置的准确高度?
Google地球插件API具有以下获取地面高度的方法:
double GEGlobe.getGroundAltitude(double lat, double lon)
但是,此功能会根据相机与目标纬度,经度的距离返回不同的结果。例如,如果某个位置的真实高度为:+181.60
当相机与该位置的距离不同时调用该功能将返回以下高度:
在不同的摄像机位置返回getGroundAltitude的值:
-19.38(相机离地点很远)
+06.11(相机现在更近了)
+89.13(...)
+166.82
177.47
+181.53(相机现在v.close到位置)
返回值181.53足够接近真实海拔181.60
问题是,该计划应如何确定其可靠地获得最准确的高度?
答案 0 :(得分:2)
这是谷歌地球的一个陷阱。地面高度取决于可用于该给定点的图像质量。所以,它的图像是好的,价值是准确的,如果图像不好,价值可能是坏的。
您可以使用getStreamingPercent()
检查加载的图像数量 - 随着流量百分比的增加,地面高度值应该更准确。
您可能希望使用Google的提升API,它实际上会调出来从外部服务器获取数据(%loading不会发挥作用。)此方法的缺点是它需要互联网连接,所以这是要记住的事情。
https://developers.google.com/maps/documentation/elevation/
修改强>
另一件需要记住的事情是,getGroundAltitude()
电话非常挑剔。它试图获得地球上单个点的值 - 但它没有非常好的错误检查(即,它可能不知道点X,Y的值,所以它返回错误,即使所有点周围X,Y有有效数据。)