1

我使用任何位置的经度和纬度来使用 Google 海拔 API 获取海拔。

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

但它给了我不合逻辑的高度,例如我在二楼,它给了我 88 米

有人对这个问题有解释吗?!

4

2 回答 2

2

您正在查看的 API 根据参考数据集为您提供地平面高度。它希望能够告诉你在一栋大楼的二楼。它会做的最好的事情就是告诉你建筑物底层的高度。

如果您想要高于地面的高度,那么您可以在带有压力传感器的手机上获得大约 +-0.5m 的读数,但这意味着在地面上获得读数,然后在您感兴趣的水平上获得读数。有一个getAltitude (float,float)方法可用于根据压力读数获取两点的相对高度。如果没有校准,绝对高度值将不准确,但相对于彼此它们应该是好的。我的测试表明,我可以看到使用此设置从桌面上拿起我的 xperia Active 并稍微过滤原始压力值的区别。

于 2013-10-20T17:55:14.270 回答
2

我最近进入了这个 Elevation API 所以如果我在正确的轨道上,你得到的 88 米是地面高度(你的建筑物所在的地方)与海平面的差异,而不是从地面到二楼的高度。您可以为此使用getAltitude()方法,但它会为您提供椭球体的高度而不是海平面的高度,而且它不太准确,您可能需要进行一些计算来校正精度。

请在 SO 中查看此问题,建议的链接是thisthi

希望这对你有帮助

于 2013-11-26T07:03:32.103 回答