我正在寻找一个处理到/从GPS时间的转换的Java库。
全球定位系统的时间是1980年1月6日,没有闰秒,因此它不同于更标准的时间表示。以下是维基百科的相关描述:
虽然大多数时钟与协调世界时(UTC)同步,但卫星上的原子钟被设置为GPS时间。不同之处在于,全球定位系统的时间并不是为了与地球的自转相匹配,所以它不包含闰秒或其他定期添加到世界协调时的修正。1980年,GPS时间被设定为与协调世界时(UTC)相匹配的时间,但此后又出现了分歧。缺乏校正意味着GPS时间与国际原子时间(TAI)保持恒定的偏移(TAI - GPS =19秒)。在星载时钟上进行周期性修正,以纠正相对论效应,并使它们与地面时钟保持同步。 GPS导航信息包括GPS时间和UTC之间的差异,由于2008年12月31日世界协调时增加的闰秒,2009年为15秒。接收机从GPS时间减去此偏移量,以计算UTC和特定时区值。在收到UTC偏移消息之前,新的GPS单元可能不会显示正确的UTC时间。全球定位系统-协调世界时偏移场可容纳255闰秒(8位),鉴于目前地球自转的变化速度(大约每18个月引入一次闰秒),应足以维持到大约2300年。 相对于公历的年、月和日格式,GPS日期被表示为一周数和一秒一周数。周号在C/A和P(Y)导航消息中作为10位字段发送,因此每1,024周(19.6年)再次变为零。全球定位系统周零开始于1980年1月6日世界协调时00:00 (00:00:19 TAI),1999年8月21日23:59:47 (1999年8月22日:00:00:19 TAI )第一次成为零。为了确定当前的公历日期,必须向GPS接收机提供大约日期(在3,584天内),以便正确地翻译GPS数据信号。为了解决这一问题,现代化的GPS导航信息使用13位字段,每8192周(157年)只重复一次,因此持续到2137年(全球定位系统零周后157年)。
我不想自己翻滚;在Joda时间里,我没有看到任何东西表明它可以处理GPS编码的日期。有什么办法来扩展它吗?
发布于 2010-07-27 17:21:53
这个网站似乎在动态地进行javascript的转换。链接文本
发布于 2010-09-07 09:35:02
JSR-310有TAIInstant
和UTCInstant
类,这有助于解决这个问题(因为GPS时间尺度是TAI的一个变化)。它们位于三次-额外项目中。
发布于 2010-07-07 22:23:28
你能详细说明一下你想做什么吗?
如果您正在从GPSr读取数据,则应根据您的报价并经这确认,校正NMEA流的UTC漂移值。
https://stackoverflow.com/questions/3038229
复制相似问题