Android 为什么安卓GPS定位会变化200毫秒?

Android 为什么安卓GPS定位会变化200毫秒?,android,ios,gps,Android,Ios,Gps,我正在写我的硕士论文atm,并分析了大约400条不同的GPS轨迹(路径由经纬度点列表和相应的时间戳组成),这些轨迹是用MediaQ应用程序(可能不重要)为Android(大约310条轨迹)和iOS(大约90条轨迹)记录的 在分析时间戳之间的时间间隔时,我预计时间戳应该记录在1秒左右,因为从应用程序的角度来看,Android和iOs都不是实时操作系统。然而,为什么会有,在大约200毫秒的步长内出现的局部峰值?老实说,我对移动操作系统不太了解:-) (x轴:秒,y轴:此时记录时间戳的相对概率。忽略

我正在写我的硕士论文atm,并分析了大约400条不同的GPS轨迹(路径由经纬度点列表和相应的时间戳组成),这些轨迹是用MediaQ应用程序(可能不重要)为Android(大约310条轨迹)和iOS(大约90条轨迹)记录的

在分析时间戳之间的时间间隔时,我预计时间戳应该记录在1秒左右,因为从应用程序的角度来看,Android和iOs都不是实时操作系统。然而,为什么会有,在大约200毫秒的步长内出现的局部峰值?老实说,我对移动操作系统不太了解:-)


(x轴:秒,y轴:此时记录时间戳的相对概率。忽略y轴的精确值…

通常的行为是应用程序直接从系统交付的位置获取时间戳。最有可能的情况是,在该应用程序中,否则这将是一个严重的编程错误。(标称GPS时间和接收系统时间之间大约200ms的延迟是合理的,我在我的应用程序和ios Map应用程序中看到了这一点,ios Map应用程序在地图api中进行了修正,以推断未来的位置,并尝试补偿该延迟)

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

对于高质量的记录,强烈建议仅使用GPS

GPS芯片一旦有一个位置,通常会输出一个时间戳正好为000的位置。在位置有效之前可能会发生异常。 在ios下,如果位置是通过GPS获得的,则毫秒始终为0。 我没有使用安卓系统的经验,但通常GPS芯片本身会将值设置为毫秒=0。(然而,众所周知,一些安卓手机使用的是残破的廉价GPS芯片,如果没有互联网连接的帮助,这些芯片无法获得初始位置)
可以通过查看航向(或称为航向)和速度值来确定位置是否由GPS获得,这对于非GPS位置(基站定位)无效
要知道这种时间变化是来自应用程序(不使用GPS模式)还是由Android引起的,您可以在同一部手机上使用另一个应用程序进行测试。(例如Motion-X GPS)(或通过比较另一部android手机上的两个应用程序)

您具体测量什么:位置戳(CLLocation)中给出的位置时间,或系统时间,或位置和系统时间之间的差异。或者您是否在接收位置事件时测量系统时间间隔?在ios上,两个连续的位置时间戳之间的差正好是1000毫秒,但不是接收位置事件时的系统时间间隔。嘿,AlexWien,谢谢你的回答!我正在测量一条轨迹的两个连续时间戳之间的差异。我从数据库中获取数据,轨迹已经上传到数据库中。遗憾的是,由于我无法访问原始源,我无法确切了解该时间戳是如何创建的。温和地说,MediaQ应用程序的总体质量“没有达到标准”。那么你会说这是一个编程错误吗?