以可靠的方式获得地面高度

时间:2012-05-05 03:11:37

标签: google-earth-plugin

程序如何确定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

问题是,该计划应如何确定其可靠地获得最准确的高度?

1 个答案:

答案 0 :(得分:2)

这是谷歌地球的一个陷阱。地面高度取决于可用于该给定点的图像质量。所以,它的图像是好的,价值是准确的,如果图像不好,价值可能是坏的。

您可以使用getStreamingPercent()检查加载的图像数量 - 随着流量百分比的增加,地面高度值应该更准确。

您可能希望使用Google的提升API,它实际上会调出来从外部服务器获取数据(%loading不会发挥作用。)此方法的缺点是它需要互联网连接,所以这是要记住的事情。

https://developers.google.com/maps/documentation/elevation/

修改

另一件需要记住的事情是,getGroundAltitude()电话非常挑剔。它试图获得地球上单个点的值 - 但它没有非常好的错误检查(即,它可能不知道点X,Y的值,所以它返回错误,即使所有点周围X,Y有有效数据。)