Android位置“自己去散步”

我正在研究项目的GPS部分,我想从社区中获得一些东西.我已经四处寻找所有典型的GPS“跳跃和漂移”,我一直致力于改进我得到的东西,但上周我得到了一些我无法用手指操作的非常奇怪的数据.

该应用程序基本上有一个跟踪位置的前台服务,然后在计时器上上传该数据.当然,我们拥有所需的所有适当权限,并且还有一个过滤器以非常差的精度清除数据并“检测”停止.一切顺利,直到你在这里看到的事情发生了.
《Android位置“自己去散步”》
这些是我得到的一些数据点.一幅“美丽”的图案画.同样的情况发生在另一个地方,但不是这个.我检查了数据,找出为什么我的过滤器甚至没有尝试让事情变得更好,我发现它无法做到.所有的点都有适当的速度,标题和准确性,并且出于所有意图和目的,我可以说这个人实际上完成了整个事情.问题是它没有发生.手机(三星J5)可能不是那里最好的,一直在房间里.根据我对融合位置提供商的理解,如果此过程中没有涉及GPS,则不会报告速度.我们假设手机所在的位置实际上可以获得GPS信号.我可以看到它跳来跳去,但是在附近散步?

我知道并理解Android(以及任何其他平台)中的位置可能是一个非常复杂的问题,包括许多不同的变量,主要是从提供这些变量的硬件开始,但我们怎么能解释这种突然的疯狂涌入,即使看似适当的,数据?我们是否可以考虑保持位置服务长时间运行并实际上使系统陷入困境或“疲惫”?如何为此提供OK数据的同一设备突然提供此数据集?

添加到问题.在数据中还有一个或两个长约2分钟的延迟(间隔设置为15和10(最快)秒).我100%确定该服务没有重启或任何类型,因为我正在登录.

任何形式的洞察都会非常感激,如果有任何方法/方法/算法,你可以建议调查“修复”这种行为将是伟大的.提前谢谢你,抱歉这个长期的问题.我需要提供适当的背景.

编辑:这不是我的问题的答案,为什么突然出现这样的行为,所以我在这里添加它作为尝试和缓解问题的方法,至少有点.我决定使用Google的ActivityRecognitionAPI(捆绑在位置API中,因此不需要更多依赖项)并将其输出与我现有的过滤器合并,以希望“修复”“假”位置数据.

但是,如果有人仍然可以给我一个很好的答案(帮助我理解)是否存在长时间运行或其他硬件(或软件)因素(不包括手机上GPS芯片的典型知识不好)等因素导致奇怪和意想不到的行为,如上所述将是相当赞赏的.

(我们当然可以说 – “这是电话故障” – 并且可以完成;))

最佳答案 GPS有错误,所以即使你站在同一点,你也会得到不同的读数.你可以做几件事:

>使用GPS的精度值 – 如果新读数与前一读数之间的距离低于精度 – 忽略它.
>使用设备的加速度计来确定它是否在移动.

点赞