计算气压高度需要哪些数据?我如何得到它们然后计算高度?
What are the data needed for calculating barometric altitude? How do I get them and then calculate the altitude?
与 GPS 高度相比,气压的准确度如何?我尝试了 GPS,但在网上搜索了几个小时后,我找不到合适的大地水准面库.
Also how accurate is the barometric compared to GPS altitude? I tried GPS but after searching hours in the web I cannot find a suitable Geoid library.
如果我有任何概念,请纠正我.
Please correct me if I got any concept long.
你需要使用压力传感器 测量压力然后使用 SensorManager.getAltitude(float, float) 调用以将测量压力与参考海平面压力一起转换以获得高度.
You need to use the pressure sensor to measure the pressure then use the SensorManager.getAltitude(float, float) call to convert the measures pressure along with a reference sea level pressure to get the altitude.
棘手的一点是使用什么作为参考压力.这会随着天气的变化而变化,并且会随着时间的推移而漂移.通常,您会进行某种校准以设置此值并可能对其进行更新.这取决于您的用例,什么是正确的解决方案.
The tricky bit is what to use as the reference pressure. This will change with the weather and will drift over time. Typically you would do some sort of calibration to set this values and possibly update it. It depends on your use case what the right solution is.
如果正确校准的基于压力的高度比基于 gps 的高度要准确得多,尤其是如果您希望对高度差异而不是绝对高度感兴趣.通过对原始压力传感器值进行一些过滤,您可以轻松地检测到您将手机保持在面部水平或头顶手臂长度,这是您想要使用 gps 执行的操作.
If properly calibrated pressure based altitude is considerably more accurate then gps based altitude especially if want you are interested in is altitude differences rather than absolute altitudes. With a bit of filtering on the raw pressure sensor values you can easily detect holding the phone at face level or arms length above your head which you want do with gps.
这篇关于如何在Android中获得气压高度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何检测 32 位 int 上的整数溢出?How can I detect integer overflow on 32 bits int?(如何检测 32 位 int 上的整数溢出?)
return 语句之前的局部变量,这有关系吗?Local variables before return statements, does it matter?(return 语句之前的局部变量,这有关系吗?)
如何将整数转换为整数?How to convert Integer to int?(如何将整数转换为整数?)
如何在给定范围内创建一个随机打乱数字的 intHow do I create an int array with randomly shuffled numbers in a given range(如何在给定范围内创建一个随机打乱数字的 int 数组)
java的行为不一致==Inconsistent behavior on java#39;s ==(java的行为不一致==)
为什么 Java 能够将 0xff000000 存储为 int?Why is Java able to store 0xff000000 as an int?(为什么 Java 能够将 0xff000000 存储为 int?)