Android GPS精度问题

Android GPS精度问题,android,gps,Android,Gps,什么因素影响我的GPS精度?我使用的是安卓gps,所以我如何解决精度问题,因为我在做一个依赖gps的真实生活游戏,所以对我来说,这种不精确性似乎是地狱般的。传感器本身都不精确,而且现实世界中的因素太多,无法判断哪种可能是最精确的 尽管如此,我已经实现了每个传感器的加权平均值,通过最近性和声称的准确性进行加权: 分别跟踪每个LocationProvider的上次位置修复。我使用每个LocationProvider名称的Map映射到相应的Location对象 在每次更新时,根据最新修复集计算新的加权

什么因素影响我的GPS精度?我使用的是安卓gps,所以我如何解决精度问题,因为我在做一个依赖gps的真实生活游戏,所以对我来说,这种不精确性似乎是地狱般的。

传感器本身都不精确,而且现实世界中的因素太多,无法判断哪种可能是最精确的

尽管如此,我已经实现了每个传感器的加权平均值,通过最近性和声称的准确性进行加权:

  • 分别跟踪每个LocationProvider的上次位置修复。我使用每个
    LocationProvider
    名称的
    Map
    映射到相应的
    Location
    对象
  • 在每次更新时,根据最新修复集计算新的加权平均值:
  • 扔掉任何超过某个年龄阈值的修复(例如,20分钟)
  • 根据每个固定点精度的倒数计算剩余的权重
  • 为了防止不连续性,在第一个阈值处,将权重位置固定值降到小于某个较小阈值(例如,10分钟)的零
  • 求和权重,并计算每个权重相对于总权重的百分比
  • 将每个纬度相加为重量百分比*fix.getLatitude()。重复经度
  • 创建一个新的
    Location
    对象,使用人工LocationProvider名称“average”并计算
    lat
    /
    lon
    ,以便在程序的其余部分使用
  • 此外,请参见以下内容: