【问题标题】:Android get exact height above NNAndroid 获得高于 NN 的准确高度
【发布时间】:2013-05-26 07:56:22
【问题描述】:

我如何获得我所在位置的实际(准确约 1m)高度?

我尝试注册一个 LocationListener,接收海拔高度,但这不能正常工作甚至不准确。我在 NN 上方约 400m 处显示 7m。

结果:我认为 GPS 并不是一个好的高度提供者。

你知道如何获得这个高度吗?

【问题讨论】:

    标签: android gps location height


    【解决方案1】:

    大概您请求的是 LocationManager,而不是 LocationListener,并使用 getAltitude() 来获取您的身高。

    GPS/GNSS 在海拔高度上不如在经度和纬度上那么好,但为了进行合理的修复,您应该在正确高度的 10m 范围内。请注意,高度已针对使用的大地水准面 (http://en.wikipedia.org/wiki/Geoid) 和基准面 (http://en.wikipedia.org/wiki/Datum_(geodesy) 进行了调整,与您的预期相比,这可能会改变您报告的高度。

    但您的位置可能是由实际上不是 GPS 的位置提供商提供的 - 它可能是基于手机信号塔的,也可能是由于航位推算或 WiFi 定位。或者您使用的安卓手机可能只是有一个糟糕的 GPS 集成设计,这会影响您的准确性。

    我建议下载一个测试应用程序,例如 GPS 测试(请参阅 https://market.android.com/details?id=com.chartcross.gpstest&hl=en),它会显示您是否有修复,以及 GPS 实际报告的高度。 GPS 测试应用底部的第三个框显示每个定位点的高度、航向和速度值。

    【讨论】:

      【解决方案2】:

      如果您有 GPS、气压计和数据连接,则可以将 GPS 位置发送到多个天气 API 之一以获取本地气压计设置 (p0)。如果 p1 是来自压力传感器的值,那么SensorManager.getAltitude(p0, p1) 将为您提供非常准确的高度。

      我认为高度不会有 1 米的精度,但它与您希望的一样准确。

      此 SO 问题/答案讨论天气 API: Sealevel Pressure and Temperature Calculation

      【讨论】:

        猜你喜欢
        • 2012-03-10
        • 1970-01-01
        • 2018-10-14
        • 2013-08-03
        • 1970-01-01
        • 2018-04-16
        • 1970-01-01
        • 2012-06-25
        相关资源
        最近更新 更多