【发布时间】:2015-11-01 07:46:27
【问题描述】:
我们正在为印度的一家租车巨头构建基于 Android GPS 的距离计算器。当我们的司机在空闲时在封闭空间(商场等)等待和徘徊时,我们的 GPS 会不断地跳动。这导致在 1 小时内总距离增加 1-2 公里。如何减少这种情况?
这是我们的逻辑
- 注册到 FusedLocationProvider onLocationChange(LocationUpdateRequest - 更新间隔 - 7 秒,即预计每 7 秒定位一次)
-
OnLocation 使用以下条件更改过滤嘈杂的位置。
第 1 步 - 过滤精度 第 2 步 - 如果速度超过 40 m/s(相当于 150 KMPH)或加速度超过 4 m/s^2(相当于 0-75 KMPH 在 5 秒内)然后忽略它,因为真正的汽车很少超过这些速度,但 GPS 经常跳跃。
第 3 步 - 如果位置来自移动网络的时间超过 5 分钟(即方位/航向 = 0),则开始忽略这些。 最后如果位置满足以上条件,保存并增量计算距离。
尽管如此,我们仍然经常遇到 GPS 跳跃问题,因为我们的司机在等待期间往往会在封闭空间(商场等)中等待和徘徊。这些跳跃会在 1 小时内使总距离增加 1-2 公里。如何过滤噪声并平滑数据?
有人可以提供建议吗?如果需要,可以共享 GPS 跳跃数据。
【问题讨论】:
标签: android android-location fusedlocationproviderapi