首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPS -我看到了什么?

问GPS -我看到了什么?
EN

Stack Overflow用户
提问于 2015-01-07 21:57:19
回答 1查看 85关注 0票数 0

我有一个android应用程序,利用全球定位系统进行跟踪。这个应用程序在安装在出租车上的android设备上运行,这样我就可以跟踪出租车了。我在应用程序上启用了日志记录。最近,我在追踪出租车的时候发现了一个奇怪的案例。GPS一度给出了一个位置,80秒后,它给出了一个距离第一个位置几公里的位置。令人惊讶的是,在这两种情况下,精度都小于20 (米),这是我在考虑跟踪位置时所做的检查。请找到我从设备上收集的日志。

代码语言:javascript
复制
----some logs
26 Dec,05:55:01.645 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:54:02 GMT+05:30 2014 17.805544,83.352301 Accuracy 3139.0; GPS Location = Fri Dec 26 17:54:58 GMT+05:30 2014 17.805017,83.35345 Accuracy 8.0;
----some logs
26 Dec,05:56:34.705 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:55:35 GMT+05:30 2014 17.81825,83.352313 Accuracy 3048.0; GPS Location = Fri Dec 26 17:56:09 GMT+05:30 2014 16.570113,82.055219 Accuracy 14.0;
----some logs

正如你所看到的,网络仍然指向初始位置周围的某个地方,而GPS指向的是远离第一个位置的某个位置,并且仍然具有14!

android的Location类的javadoc说-

代码语言:javascript
复制
 * We define accuracy as the radius of 68% confidence. In other
 * words, if you draw a circle centered at this location's
 * latitude and longitude, and with a radius equal to the accuracy,
 * then there is a 68% probability that the true location is inside
 * the circle.

这是否意味着,我在第二次跟踪中获得的准确率下降了另外32%,可能是错误的?我想知道是否有任何可靠的方法来决定是否考虑gps位置而不是检查准确性。

提前感谢

编辑:忘记提到GPS定位在40分钟后回到了驾驶室的位置。你可以在这里看到。

代码语言:javascript
复制
26 Dec,06:35:21.851 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 18:35:20 GMT+05:30 2014 17.800334,83.352941 Accuracy 2887.0 GPS Location = Fri Dec 26 18:35:22 GMT+05:30 2014 17.799875,83.351936 Accuracy 14.0;

更新:今天我查看了运行这个应用程序的所有几个设备的日志,我在多个设备上观察到了这个错误的GPS位置,准确度很好。所有设备都是相同制造的,并且使用相同网络提供商的SIM卡。

EN

回答 1

Stack Overflow用户

发布于 2015-01-08 00:43:47

你的情况很奇怪,这通常不会发生在GPS上。它可能会跳30米,有时会跳50米。要么是你遇到了一个极其罕见的情况,查看了数千个设备,要么是你正在使用的GPS芯片中有一个bug。

或者最有可能的是,你正在使用其他的位置源,比如手机发射塔的位置,众所周知,它的精度不超过1千米。请确保您只使用GPS提供商。

您的日志输出"NetworkLocation“让我怀疑您是否只使用GPS。如果您100%确定该位置是由GPS提供的(它必须具有有效的速度和有效的路线,则它来自GPS,或者您能够读出哪个提供商提供了该位置(GPS提供商或网络提供商),然后进一步阅读:

有一次,我看到一次300公里的跳跃,这要么是由于GPS卫星的缺陷,要么是GPS芯片实现中的错误。

你能做的就是过滤掉那些只有在不切实际的高车速下才能实现的动作。

在你的例子中,它是“几公里”,让我们假设它是3。那就是3000米在80s = 37m /s = 135 km/h,这对于高速公路上的车辆来说是一个实际的速度。对于适当的过滤,你需要每秒检查一次位置,并寻找不现实的跳跃。

除此之外,没有办法在GPS上有保证。所有的准确度都是估计值。如果估计水平精度为14米,你永远不能确定它离实际位置是50米还是2米。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27821084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档