4

计算气压高度需要哪些数据?我如何得到它们然后计算高度?

与 GPS 高度相比,气压的准确度如何?我尝试了 GPS,但在网上搜索了几个小时后,我找不到合适的大地水准面库。

如果我有任何概念,请纠正我。

4

2 回答 2

11

您需要使用压力传感器测量压力,然后使用SensorManager.getAltitude(float, float)调用将测量压力与参考海平面压力一起转换以获得高度。

棘手的一点是使用什么作为参考压力。这会随着天气的变化而变化,并且会随着时间的推移而漂移。通常,您会进行某种校准以设置此值并可能对其进行更新。这取决于您的用例,什么是正确的解决方案。

如果正确校准的基于压力的高度要准确得多,那么基于 gps 的高度尤其是如果您感兴趣的是高度差异而不是绝对高度。通过对原始压力传感器值进行一些过滤,您可以轻松地检测到您将手机保持在面部水平或头顶手臂长度,您希望使用 gps 执行此操作。

于 2014-05-12T12:37:30.263 回答
1

参数是:GPS 高度(最好使用从测量数组计算的平均值)和气压。方法返回海平面的压力(来自SensorManager.getAltitude(float p0, float p)的反向公式)。

public static float getSealevelPressure (float alt, float p)
{
    float p0 = (float) (p / Math.pow(1 - (alt/44330.0f), 5.255f));
    return p0;
}

我使用默认值:SensorManager.PRESSURE_STANDARD_ATMOSPHERE,直到 GPS收集到10 个锁。之后,调用上述方法。

于 2018-11-29T23:17:41.637 回答