Je cherche une bibliothèque Java qui gère la conversion / depuis Temps GPS . p>
Le temps GPS a une époque du 6 janvier 1980 et n'a pas de secondes à peine. Il diffère donc des représentations de temps plus standard. Voici la description pertinente de Wikipedia: P>
Bien que la plupart des horloges soient synchronisées pour coordonner le temps universel (UTC), les horloges atomiques des satellites sont définies sur le temps GPS. La différence est que le temps GPS n'est pas corrigé de faire correspondre la rotation de la terre. Il ne contient donc pas de secondes saut ou d'autres corrections qui sont périodiquement ajoutées à UTC. Le temps GPS a été défini pour correspondre à un temps universel coordonné (UTC) en 1980, mais a depuis divergé. Le manque de corrections signifie que le temps GPS reste à un décalage constant avec le temps d'atomique international (Tai) (Tai-GPS = 19 secondes). Les corrections périodiques sont effectuées sur les horloges embarquées pour corriger les effets relativistes et les garder synchronisées avec des horloges au sol. P>
Le message de navigation GPS inclut la différence entre le temps GPS et l'UTC, qui à partir de 2009 est de 15 secondes en raison de la deuxième étape du 31 décembre 2008. Les récepteurs soustrayez ce décalage de GPS TIME pour calculer l'UTC et les valeurs de fuseau horaire spécifiques . Les nouvelles unités GPS peuvent ne pas afficher l'heure UTC correcte jusqu'à la réception du message de compensation UTC. Le champ de décalage GPS-UTC peut accueillir 255 secondes saut (huit bits) qui, compte tenu de la vitesse de variation actuelle de la rotation de la Terre (avec une seconde saut d'une seconde introduite approximativement tous les 18 mois), devrait être suffisante pour durer jusqu'à environ 2300. p>
Par opposition à l'année, au format mensuel et au jour du calendrier grégorien, la date GPS est exprimée sous forme de numéro de semaine et un numéro secondaire en semaine. Le numéro de la semaine est transmis comme champ de dix bits dans les messages de navigation C / A et P (Y), et il devient donc zéro à nouveau toutes les 1 024 semaines (19,6 ans). GPS Week zéro a commencé à 00:00:00 UTC (00:00:19 TAI) le 6 janvier 1980 et le numéro de semaine est devenu zéro pour la première fois à 23:59:47 UTC le 21 août 1999 (00 : 00: 19 Tai le 22 août 1999). Pour déterminer la date grégorienne actuelle, un récepteur GPS doit être fourni avec la date approximative (à moins de 3 584 jours) pour traduire correctement le signal de date GPS. Pour résoudre ce problème, le message de navigation GPS modernisé utilise un champ 13 bits, qui ne répète que toutes les 8 192 semaines (157 ans), durables jusqu'à l'année 2137 (157 ans après la semaine GPS zéro). P> blockQuote>
Je préférerais ne pas avoir à rouler le mien; Je ne vois rien dans le temps Joda indiquant qu'il peut gérer les dates codées GPS. Y a-t-il un moyen de l'étendre? P>
3 Réponses :
Pouvez-vous élaborer sur ce que vous essayez de faire? P>
Si vous lisez des données d'un GPSR, le flux NMEA doit être corrigé pour la dérive UTC selon votre devis et confirmé par Ceci . P>
Ce site semble faire la conversion à la volée en JavaScript. Leapsecond.com/java/gpsclock.htm
Ce site semble faire la conversion à la volée en JavaScript. Link Texte P>
Merci, j'ai utilisé ce site Web pour construire mon propre code de bibliothèque Java qui fait la conversion.
@ I82much Pourriez-vous élaborer sur ce que vous voulez dire par vous utilisé i> ce site web?
J'ai regardé la source pour voir ce qu'il faisait et la convertit à Java
@ I82much Pourriez-vous publier votre code comme réponse à votre propre question?
Désolé - il appartient à mon ancien employeur.
JSR-310 a des classes taiinstant code> et
utcinstant code> qui aiderait à résoudre ce problème (comme l'échelle de temps GPS est une variante de TAI). Celles-ci sont situées dans le Projet Threeten-Extra . P>