GPS精度问题

发布于 2024-11-05 12:56:14 字数 96 浏览 0 评论 0原文

哪些因素影响我的 GPS 精度?我正在使用 android gps 那么我该如何解决准确性问题,因为我正在做一个依赖于 GPS 的现实生活游戏,所以这对我来说这不准确性似乎是地狱

what the factors effect my GPS accuracy ? i'm using android gps so how can i solve the problem of the accuracy because i'm doing a real life game depend on the GPS so its seems to be hell to me this un accuracy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静谧幽蓝 2024-11-12 12:56:15

没有一个传感器本身是准确的,并且有太多的现实因素来判断哪个传感器可能是最准确的。

尽管如此,我还是对每个传感器实现了加权平均值,并根据新近度和声称的准确性进行加权:

  1. 单独跟踪每个 LocationProvider 的最后一个位置修复。我使用每个 LocationProvider 名称的 Map 到相应的 Location 对象。
  2. 每次更新时,根据最近的修复集计算新的加权平均值:
    1. 丢弃任何超过某个年龄阈值(例如 20 分钟)的修复
    2. 根据每个修正准确率的倒数计算剩余的权重。
    3. 为了防止出现不连续性,折旧权重位置将小于某个较小阈值(例如 10 分钟)的时间在第一个阈值处修复为零。
    4. 对权重求和,并计算每个权重相对于总权重的百分比。
    5. 将每个纬度求和为weight_percent*fix.getLatitude()。重复经度。
  3. 创建一个新的 Location 对象,其人工 LocationProvider 名称为“average”,并计算出 lat/lon 以在程序的其余部分中使用。

另请参阅以下内容: http://developer.android .com/guide/topics/location/obtaining-user-location.html#BestEstimate

None of the sensors are accurate by themselves, and there are too many real world factors to tell which may be the most accurate.

Nonetheless, I've implemented a weighted average of each sensor, weighted by both recency and claimed accuracy:

  1. Track the last location fix for each LocationProvider individually. I use a Map of each LocationProvider name to the corresponding Location object.
  2. On each update compute a new weighted average from the set of most recent fixes:
    1. Throw out any fixes older than some age threshold (say, 20 minutes)
    2. Calculate the weight of the remaining based on the inverse of each fixes' accuracy.
    3. To prevent discontinuities, depreciate weight location fixes less than some lesser threshold (say, 10 minutes) down to zero at first threshold.
    4. Sum weights, and calculate the percentage of each weight as it related to the total.
    5. Sum each latitude as weight_percent*fix.getLatitude(). Repeat for longitude.
  3. Create a new Location object with artificial LocationProvider name "average" and computed lat/lon to use through out the rest of your program.

Also, see the following: http://developer.android.com/guide/topics/location/obtaining-user-location.html#BestEstimate

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文