计算气压高度需要哪些数据?我如何获得它们然后计算高度?
气压测量与GPS高度相比有多准确?我试过GPS,但在网上搜索了几个小时后,我找不到合适的大地水准面库。
如果我有任何概念,请纠正我。
答案 0 :(得分:9)
您需要使用pressure sensor来测量压力,然后使用SensorManager.getAltitude(float, float)调用来转换测量压力以及参考海平面压力以获得高度。
棘手的一点是用作参考压力的东西。这将随着天气而变化,并会随着时间的推移而变化。通常,您会进行某种校准以设置此值并可能更新它。这取决于您的用例,正确的解决方案是什么。
如果正确校准的基于压力的高度要准确得多,那么基于gps的高度尤其是如果您想要感兴趣的是高度差而不是绝对高度。通过对原始压力传感器值进行一些过滤,您可以轻松检测到将手机保持在脸部水平或手臂长度上方,您需要使用gps。
答案 1 :(得分:0)
自变量为: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个锁为止。之后,将调用上述方法。