android – GPS V.S.加速度计来计算距离

我正在尝试实施一个能够跟踪 Android中运行速度和运行距离的健身应用程序.

看起来我可以使用GPS或加速度计来计算这些信息.

由于跑步者可以将手机放在手上,肩膀上或口袋里,所以我的第一个直觉是使用GPS来获取位置并计算跑步速度和跑步距离.但是最近有人告诉我,我也可以使用Accelerometer也这样做.

我的问题是:在Android中,哪种方法更好地计算运行速度和运行距离,GPS或加速度计?

解决方法

我怀疑计步器是基于加速度计,因为加速度计比GPS便宜.其实我觉得很多计步器甚至没有尝试测量距离.只是加速颠簸等同的步骤.然后如果他们给你一个距离测量,它是通过将检测到的步骤乘以一个猜测或平均步长.

GPS(如果你在一个工作的区域)将做一个非常好的距离测量.即使有一个非常便宜的GPS接收器.一切基本上都可以,你应该期望开始和结束位置在10m以内,所以在1km的旅行中,你有20m的uncertianty,这是2%的总距离uncertianty.这个不确定性与旅行距离线性下降(即2公里跑步将有1%的不准确,4公里跑步将有0.5%的不准确等),这里的问题将与您的实时显示(GPS位置从卫星切换提供巨大的速度值,或立即丢失信号,丢失所有立即显示的数据)

我认为,使用良好的加速度计,从停止开始,您可以不断地整合信号以获得速度,并持续集成该结果以获得距离…我只是不确定在任何给定的手机中得到什么样的加速度计质量?您可能需要过滤噪声甚至垃圾数据.您还需要考虑其具有的准确性.您的传感器的精确度可达20%,可能会造成非常差的距离跟踪.所以你可能需要使用步数和步长guesstimates.

或许两者的结合可以起作用?

我会试图使用加速度计数据(根据总是工作的方式进行积分或计数)来跟踪速度和距离在短时间内,然后在更长的时间内,广义GPS数据可用于校正或缩放数据从加速度计.特别是如果您在任何给定的时间过滤/阻止基于非严格测量的GPS数据.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...