与GPS精确距离?

时间:2016-04-18 22:06:04

标签: android ios gps distance accelerometer

我正在开发iOS / Android应用程序,用于跟踪用户驾驶汽车的里程数。

即使任务看起来很微不足道,但仍存在两个问题:

1)与汽车里程表相比,里程不准确。 (OD-10mi,App-8.5mi) 2)当用户在车外停留时,里程不断积累(30分钟内可累计达4mi)。

有没有"容易"修复它而不添加复杂的过滤等?

4 个答案:

答案 0 :(得分:1)

你可以做两件小而重要的事情:

  1. 对于每个GPS样本,请检查其准确性。如果超过某个阈值(比如20米) - 忽略它。
  2. 添加检测移动设备是否为静态的方法。您可以通过读取设备的加速度计来实现 - 如果两个读数之间的差值大于某个阈值 - 汽车正在移动。如果它太小 - 忽略GPS。在找到正确的阈值/
  3. 之前,您必须尝试一些值

答案 1 :(得分:0)

对于问题1,在美国,车辆里程表仅需要在50mph的实际速度的5英里/小时内。我的经验表明,大多数车辆比法律要求更加错误。 10%的差异可能很容易变成你看到的1.5英里。

答案 2 :(得分:0)

允许车辆里程表在欧洲超估7%。 我的车估计超过3%。

有一些简单的解决方案,适用于汽车,已多次在Stackoverflow上发布,包括我自己。

行人没有简单的解决方案。

答案 3 :(得分:-1)

对问题2的回答:问题肯定来自GPS位置的准确性。

Android 位置对象附带给定坐标的估计accuracy

假设您保持绝对位置(0,0)而不移动。 Android设备GPS可以生成以下位置流:

  • (1,1),精度为2m
  • ( - 2,3),精度为5m
  • (0,0),精度为1m
  • 等...

如果您只是继续添加连续位置之间的距离,则总和将无限增加,但您不会移动。

一种解决方案可能是,只有当流量与距离上一个位置的距离相比足够小时,才会考虑流中的新位置