Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓定位“;“出去散步”;独自_Android_Gps_Location_Fusedlocationproviderapi_Android Fusedlocation - Fatal编程技术网

Android 安卓定位“;“出去散步”;独自

Android 安卓定位“;“出去散步”;独自,android,gps,location,fusedlocationproviderapi,android-fusedlocation,Android,Gps,Location,Fusedlocationproviderapi,Android Fusedlocation,我正在做一个项目的GPS部分,我想通过社区获得一些东西。我已经搜索了所有典型的GPS“跳跃和漂移”,并努力改进我得到的数据,但上周我得到了一些非常奇怪的数据,我无法确定 该应用程序基本上有一个前台服务,跟踪位置,然后在计时器上上传数据。当然,我们拥有所需的所有适当权限,而且还有一个过滤器,它可以以非常糟糕的精度清除数据并“检测”停止。在你看到这里发生的事情之前,一切都很顺利。 这些是我得到的一些数据点。“漂亮”的图案画。同样的情况也会发生在另一个地方,但不会延伸到这个地方。我检查了数据,想知道为

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

该应用程序基本上有一个前台服务,跟踪位置,然后在计时器上上传数据。当然,我们拥有所需的所有适当权限,而且还有一个过滤器,它可以以非常糟糕的精度清除数据并“检测”停止。在你看到这里发生的事情之前,一切都很顺利。 这些是我得到的一些数据点。“漂亮”的图案画。同样的情况也会发生在另一个地方,但不会延伸到这个地方。我检查了数据,想知道为什么我的过滤器甚至没有试图让事情变得更好,我发现它无法做到。所有的点都有适当的速度、航向和准确度,从所有的意图和目的来看,我可以说这个人实际上做了整个事情。问题是它没有发生。这款手机(三星J5)可能不是最好的,它一直都在一个房间里。根据我对融合定位提供商的了解,如果过程中没有GPS,则不会报告速度。让我们假设手机所在的位置实际上可以接收到GPS信号。我可以看到它在跳来跳去,但却在附近散步

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

使问题更加复杂。在数据中也有一到两次大约2分钟的长延迟(间隔设置为15秒和10秒(最快的)秒)。我100%确信服务没有重新启动或任何类似的事情,因为我正在为此进行日志记录

任何一种洞察都将受到极大的赞赏,如果有任何方式/方法/算法可以推荐你去“修复”这种行为,那就太好了。提前谢谢你,很抱歉问了这么长的问题。我需要提供一个合适的背景

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

不过,如果有人能给我一个好的答案(帮助我理解),说明是否存在诸如长时间运行或其他硬件(或软件)因素(不包括手机上的GPS芯片不好的典型知识)等可能导致上述奇怪和意外行为的因素,我将不胜感激


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

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

  • 使用GPS的精度值-如果新读数和上一读数之间的距离低于精度-忽略它
  • 使用设备的加速计来确定它是否在移动

  • 谢谢你的回答。我知道你提到的一切,我已经完成了你提到的所有工作。我已经建立了一个过滤器,它可以进行我提到的所有检查,以清除这些案例。但在我的例子中,情况并非如此。准确度、速度、航向。位置数据集提供了所有这些。这就是事情变得奇怪和我的过滤变得无用的地方。主要问题是为什么会突然出现这样的行为?我们这里没有简单的错误。GPS报告“正确”点。正如你在图片中可能注意到的,它们不是典型的跳跃,但我们有动作!!!