我正在研究一个项目的 GPS 部分,我想通过社区获得一些东西。我搜索了所有典型的 GPS“跳跃和漂移”,并努力改进我得到的数据,但上周我得到了一些非常奇怪的数据,我无法确定。
The application basically has a foreground service that tracks the location and then uploads that data on a timer. Of course we have all the proper permissions needed and there is also a filter that weeds out data with really bad accuracy and "detects" stops. All was working well until what you can see here happened.
These are some of the data points I got. A "beautiful" pattern drawing. The same happens to another location too but not to this extend. I checked the data to find out why my filter didn't even try to make things better and I found out that it would be unable to. All the points have proper speed, heading, and accuracy and for all intents and purposes I could say that the person actually did the whole thing. The problem is that it didn't happen. The phone, (Samsung J5) might not be the best there is out there, was in a room the whole time. From my understanding of the Fused Location Provider there is no speed reported if there is no GPS involved in the process. And lets assume that where the phone was sitting it could actually get a GPS signal. I can see it jumping around but going for a walk around the neighborhood?
我知道并理解 Android(以及任何其他平台)中的位置可能是一个非常复杂的问题,由许多不同的变量组成,这些变量主要从提供这些变量的硬件开始,但是我们如何解释这种突然涌入的疯狂,即使看似对吧,数据?我们是否可以认为长时间保持定位服务正常运行实际上会使系统陷入困境或“疲劳”?到目前为止已提供正常数据的同一设备如何突然提供此数据集?
添加到问题中。数据中还存在一两次大约 2 分钟的长延迟(间隔设置为 15 秒和 10 秒(最快))。我 100% 确定该服务没有重新启动或类似的情况,因为我正在为此进行记录。
任何类型的见解都将不胜感激,如果有任何方式/方法/算法您可以建议研究“修复”这种行为,那就太好了。预先感谢您,并对这个长问题表示歉意。我需要提供适当的背景。
EDIT:这并不是我的问题的真正答案,为什么会突然出现这种行为,所以我将其添加到此处作为尝试缓解问题的方法,至少是缓解一点问题。我决定使用 Google 的 ActivityRecognitionAPI(捆绑在位置 API 中,因此不需要更多依赖项)并将其输出与我现有的过滤器合并,以期“修复”“错误”位置数据。
不过,如果有人仍然可以给我一个很好的答案(帮助我理解)是否存在运行时间长或其他硬件(或软件)因素(不包括手机上的 GPS 芯片损坏的典型知识)等因素引起像上面提到的那样奇怪和意想不到的行为将不胜感激。
(当然,我们总是可以说 - “这是手机故障” - 然后就可以了;))