【问题标题】:cllocation tracking a location定位跟踪位置
【发布时间】:2011-04-05 16:13:27
【问题描述】:

我的 GPS 追踪器现在运行良好,但 iPhone 失去 GPS 连接时除外。 当连接丢失时,轨道会指向一个随机位置,如下图所示:


(来源:alluneed.it

我可以通过什么方式丢弃这些不好的值? 我想过这样做: 在保存我的数据之前,我可以对当前纬度和经度的整数值求和,并与我的旧纬度和经度的整数值进行比较;如果差值大于某个值,我会丢弃我的数据。

这会是一件好事吗? 还有其他一些不错的技巧可以做到这一点吗?

【问题讨论】:

  • 你能告诉我你多久保存一次位置以及如何保存它(数据结构)?
  • 嗨,我在保存每个数据后丢弃了前 3 个值。现在我将数据保存在 .csv 文件中
  • 我在一次 50 分钟的行程中对数据大小有疑问,它仅用于坐标就消耗了大约 600 kb 的空间。你的 csv 会帮助我吗,我可以从核心数据中保存 csv 吗?

标签: iphone gps tracking cllocationmanager cllocation


【解决方案1】:

也许我发现了我的错:

locationManager:didFailWithError:

当我收到 kCLErrorNetwork 或除 kCLErrorDenied 之外的任何其他错误时,我会执行 stopupdatinglocation 和 startupdatinglocation。

现在应用程序运行良好,我明天进行其他测试并将结果发布在这里。

【讨论】:

  • 我的错误是停止和启动 locationmanager 出现任何错误,现在跟踪非常准确!
【解决方案2】:

尝试在 GPS 没有信号时检查位置更新的时间(如果我没记错,时间在位置参数中提供)。

也许时间是固定的,这样你就可以检查当前时间和定位时间之间的差异是否大于某个值,以了解该位置是否真实。

【讨论】:

  • mhmmmm 我只是在调用 locationManager:didUpdateToLocation:fromLocation: 时检查此参数,如果值不正确,我会以这种方式丢弃它
  • 那么,你解决了吗?如果是这样,请检查我的答案是否被接受。
  • 我做了这样的事情 (recentLoc -15.0) && ( (newLocation.horizo​​ntalAccuracy
【解决方案3】:

您可以在使用前检查点。如果准确度水平突然上升然后又下降,你可以扔掉那一点。如果时间戳显示用户在计算与任何先前点的时间距离后突然以超音速移动以到达新位置,则该点可能是虚假的。等等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    相关资源
    最近更新 更多