android - 通过“CMMotionManager”检索的 iOS 加速度数据有多原始?
问题描述
可以在 Android 和 iOS 手机上检索包括重力在内的加速度数据:
- 在 iOS 上,原始加速度数据可以通过
CMMotionManager
. - 在 Android 上,可以通过以下方式检索两种不同类型的数据,包括重力
SensorManager
:TYPE_ACCELEROMETER
:沿 x/y/z 轴的加速力(包括重力)。TYPE_ACCELEROMETER_UNCALIBRATED
:沿 X/Y/Z 轴测量的加速度,没有任何偏置补偿。
未经校准的加速度计传感器报告设备沿三个传感器轴的加速度,没有任何偏差校正(工厂偏差和温度补偿应用于未经校准的测量),以及偏差估计。
这就引出了一个问题:iOS 是否对其CMMotionManager
API 进行任何偏差补偿?CMDeviceMotion
API记录了它消除了重力,但没有明确说明它是否进行任何额外的校准以消除潜在的传感器偏差,类似于 Android API。
检索已经处理以消除环境偏差的数据,例如重力的影响。
换句话说,iOS 的加速度计是否应该被CMMotionManager
视为等同于 Android 的TYPE_ACCELEROMETER_UNCALIBRATED
?TYPE_ACCELEROMETER
解决方案
您引用的网站上的文字说:“加速度计报告的值是以重力加速度的增量测量的,值 1.0 表示在给定方向上的加速度为每秒 9.8 米(每秒)。” 据我了解,这意味着它已经过校准,相当于 TYPE_ACCELEROMETER。
推荐阅读
- .net-core - 具有多个配置文件和环境的 Ocelot
- powershell - 为什么 Write-Error 会终止脚本?
- android - 如何根据颤动中文本小部件的索引将多个文本小部件的数据传递给字符串列表
- xml - 为什么我的 XSL 样式表不能与我的 XML 一起使用?
- r - 类 tibble 的 Tibble 列而不是类数据框
- javascript - 无法将地图中的项目参数传递给 onClick
- node.js - 邮件因涉嫌垃圾邮件 Nodejs、Yandex、Firebase 功能而被拒绝
- firebase - Cloud Function 自动终止
- django - 根据模型的数量在 django 模板中使用特定的引导列
- javascript - 如何通过单击按钮更改 Javascript 中的 src 来更改多个图像