android - 为什么 Android GPS-Fix 会相差 200 毫秒?

标签 android ios gps

我正在写我的硕士论文 atm 并分析了大约 400 个不同的 GPS 轨迹(路径由经度/纬度点列表和相应的时间戳组成)记录在 Android 的 MediaQ-App(可能不重要)(大约 310轨迹)和 iOS(约 90)。

在分析时间戳之间的时间间隔时,我预计在 1 秒频率附近会出现不准确,时间戳应该记录在其中,因为从应用程序的角度来看,Android 或 iO 都不是实时操作系统。尽管如此,为什么会出现大约 200 毫秒步长的局部峰值?很好,我对移动操作系统了解不多:-)

The image shows the (already normalized) probability of the accuracy of a gps timestamp

(x轴:秒,y轴:时间戳在该时间点被记录的相对概率。忽略y轴的确切值...)

最佳答案

通常的行为是应用程序直接从系统提供的位置获取时间戳。该应用程序很可能就是这种情况,否则这将是一个严重的编程错误。 (标称 GPS 时间和接收系统时间之间大约 200 毫秒的延迟是合理的,我在我的应用程序和 ios map 应用程序中看到了这一点,它在他们的 map api 中进行了更正以推断 future 的位置,以尝试补偿那个延迟)

在 android(和 ios)下,了解位置是否完全由 GPS 确定是很重要的。在两个平台(ios、android)上,应用程序都可以设置是仅使用 GPS 还是组合使用 GPS + WLAN + 小区定位。

为了获得高质量的记录,强烈建议仅使用 GPS。

一旦有了位置,GPS 芯片通常会输出一个时间戳恰好为 000 的位置。在位置有效之前可能会发生异常。 在 ios 下,如果通过 GPS 获取位置,则毫秒始终为 0。 我没有使用 android 的经验,但通常 GPS 芯片本身会将值设置为 millis = 0。(但是,众所周知,某些 android 手机使用有缺陷的廉价 GPS 芯片,如果没有互联网连接)
可以通过查看航向(或称航向)和速度值判断位置是否为GPS获取,非GPS定位无效(小区塔定位) 要了解此时间变化是来自应用程序(不使用仅 GPS 模式)还是由 Android 引起,您可以在同一部手机上使用另一个应用程序进行测试。 (例如 Motion-X GPS)(或者通过在另一部安卓手机上比较这两个应用)

关于android - 为什么 Android GPS-Fix 会相差 200 毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669580/

相关文章:

android - Intellij IDEA Android 预览不起作用

Android:录制 SoundPool 输出

android - 在 macOS sierra 10.12.3 上安装 appium

ios - 将数组从 objc 传递到 Swift

iphone - 如何为具有 splitview Controller 的应用程序提供登录屏幕?

安卓位置监听器

Android FFmpeg 报告 "file protocol not found"

ListView 的 Java 字符串形成

android - 无法将 gps 位置写入 exif

android - 计算附近另一部Android手机的相对位置