位置更新的更新间隔是否准确?
Is Update Interval Accurate for Location Updates?
我目前正在尝试使用 Google Play Location Updates 为 Android 项目工作。
我已将 LocationRequests 的 updateInterval 设置为 5000(5 秒),并将 fastestInvertval 也设置为 5000:
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(5000);
mLocationRequest.setFastestInterval(5000);
我现在正在考虑摆脱处理时间戳和通过获取两个时间之间的差异来计算速度的旧代码。我一直犹豫是否要这样做,因为我认为 LocationRequests 的 updateInterval 可能不准确,并且会有很大的误差范围。
我的问题是:
LocationRequests 的更新间隔是否准确,以便我可以删除时间戳等安全措施?如果是这样,大概的误差范围是多少?
没有。 updateInterval 是最快的 return 一个新值。它可能很接近。这可能需要两倍的时间。这可能需要 100 倍的时间。如果有人进去,可能需要 8 个小时。此外,很少有 GPS 芯片会每 30 秒给出一次以上的新结果,至少在我上次检查时是这样。简而言之,使用时间戳。
如果另一个应用接收更新的速度更快,位置更新可能会比这个速度更快,或者比这个速度慢,或者可能根本没有更新(例如,如果设备没有连接) (source).
这完全取决于您需要的准确度,有些样本可能会晚几秒钟。您必须查看您的应用程序是否可以接受。如果需要检查,您可以随时从 location.getTime() 方法中检索位置样本的时间戳。
我目前正在尝试使用 Google Play Location Updates 为 Android 项目工作。
我已将 LocationRequests 的 updateInterval 设置为 5000(5 秒),并将 fastestInvertval 也设置为 5000:
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(5000);
mLocationRequest.setFastestInterval(5000);
我现在正在考虑摆脱处理时间戳和通过获取两个时间之间的差异来计算速度的旧代码。我一直犹豫是否要这样做,因为我认为 LocationRequests 的 updateInterval 可能不准确,并且会有很大的误差范围。
我的问题是:
LocationRequests 的更新间隔是否准确,以便我可以删除时间戳等安全措施?如果是这样,大概的误差范围是多少?
没有。 updateInterval 是最快的 return 一个新值。它可能很接近。这可能需要两倍的时间。这可能需要 100 倍的时间。如果有人进去,可能需要 8 个小时。此外,很少有 GPS 芯片会每 30 秒给出一次以上的新结果,至少在我上次检查时是这样。简而言之,使用时间戳。
如果另一个应用接收更新的速度更快,位置更新可能会比这个速度更快,或者比这个速度慢,或者可能根本没有更新(例如,如果设备没有连接) (source).
这完全取决于您需要的准确度,有些样本可能会晚几秒钟。您必须查看您的应用程序是否可以接受。如果需要检查,您可以随时从 location.getTime() 方法中检索位置样本的时间戳。