Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了java – Android晴雨表高度读数错误?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直在努力实现一项功能,以便根据Android Galaxy S5手机的气压计传感器获得正确的海拔高度.唯一的问题是,我不认为这是准确的.基于我在特定位置的http://www.whatismyelevation.com,它显示我的海拔高度约为114米.但是,在我的手机上,根据气压计传感器显示它是210米.然而,我在一座高楼里,但我认为它不是100米高.

这是我的简单代码

@Override
protected void onCreate(Bundle savedInstanceStatE)
{
    super.onCreate(savedInstanceStatE);
    setContentView(R.layout.configure_setTings);
    context = getApplicationContext();

    mSensoRMANager = (SensoRMANager) getSystemservice(SENSOR_serviCE);
    sensors = mSensoRMANager.getSensorList(Sensor.TYPE_PRESSURE);

    if (sensors.size() > 0)
    {
        sensor = sensors.get(0);
        mSensoRMANager.registerListener(this,sensor,SensoRMANager.SENSOR_DELAY_NORMAL);
    }

}

@Override
public void onSensorChanged(SensorEvent event)
{
    float pressure = event.values[0];
    altitude = String.valueOf(SensoRMANager.getAltitude(
            SensoRMANager.PRESSURE_STANDARD_ATMOSPHERE,pressurE));

}

谢谢!

最佳答案
第一:气压计非常精确,但不准确.如果您将10台Android手机彼此相邻放置在桌面上,您可以发现设备之间的气压差异高达3 mb.这是一个错误来源.

第二:不同的群体将以不同的方式定义“高度”,因此请确保使用相同的定义.例如,在LOCATIOn类中,getAltitude定义为

http://developer.android.com/reference/android/location/Location.html#getAltitude()

第三,天气将影响气压计的读数高达40 mb.如果您想从晴雨表获得更准确的高度读数,您将不得不偏离当前的天气.大气可以将当地压力改变到每小时1-2毫巴(在极端情况下)

第四:使用智能手机中的晴雨表尚无法获得完全准确的高度读数.目前还没有人解决这个问题 – 例如,单独的晴雨表不足以实现楼层检测.

便说一下,我是PressureNet的开发人员 – 我从智能手机上收集了超过20亿的压力读数,我每天都会看到所有这些类型的错误.

结束时:如果您想要达到“海拔高度”的值,气压计提供给您的读数需要在使用前进行重要解释.认情况下,从每个气压计读取的每个值都是“错误的”;你必须做具体的工作才能让它适合你,具体取决你的确切需求.

github.com/cbsoftware/pressurenet

大佬总结

以上是大佬教程为你收集整理的java – Android晴雨表高度读数错误?全部内容,希望文章能够帮你解决java – Android晴雨表高度读数错误?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。