Android 位置“去散步”本身

Mad*_*Dim 5 gps android location fusedlocationproviderapi android-fusedlocation

我正在研究一个项目的 GPS 部分,我想通过社区获得一些东西。我搜索了所有典型的 GPS“跳跃和漂移”,并努力改进我得到的数据,但上周我得到了一些非常奇怪的数据,我无法确定。

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

我知道并理解 Android(以及任何其他平台)中的位置可能是一个非常复杂的问题,由许多不同的变量组成,这些变量主要从提供这些变量的硬件开始,但是我们如何解释这种突然涌入的疯狂,即使看似对吧,数据?我们是否可以认为,长时间保持定位服务正常运行实际上会使系统陷入困境或“疲劳”?到目前为止已提供正常数据的同一设备如何突然提供此数据集?

添加到问题中。数据中还存在一两次大约 2 分钟的长延迟(间隔设置为 15 秒和 10 秒(最快))。我 100% 确定该服务没有重新启动或类似的情况,因为我正在为此进行记录。

任何类型的见解都将不胜感激,如果有任何方式/方法/算法您可以建议研究“修复”这种行为,那就太好了。预先感谢您,并对这个长问题表示歉意。我需要提供适当的背景。

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

不过,如果有人仍然可以给我一个很好的答案(帮助我理解)是否存在运行时间长或其他硬件(或软件)因素(不包括手机上的 GPS 芯片损坏的典型知识)等因素引起像上面提到的那样奇怪和意想不到的行为将不胜感激。

(当然,我们总是可以说 - “这是手机故障” - 然后就可以了;))

TDG*_*TDG 2

GPS 存在误差,因此即使您站在同一点,也会得到不同的读数。您可以执行以下几项操作:

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