11

GPS Timeとの間の変換を処理する Java ライブラリを探しています。

GPS 時間のエポックは 1980 年 1 月 6 日で、うるう秒がないため、より標準的な時間表現とは異なります。ウィキペディアからの関連する説明は次のとおりです。

ほとんどの時計は協定世界時 (UTC) に同期されていますが、衛星の原子時計は GPS 時間に設定されています。違いは、GPS 時刻は地球の自転に合わせて修正されていないため、うるう秒や UTC に定期的に追加されるその他の修正が含まれていないことです。GPS 時間は、1980 年に協定世界時 (UTC) に一致するように設定されましたが、それ以降はずれています。修正がないということは、GPS 時刻が国際原子時 (TAI) (TAI - GPS = 19 秒) と一定のオフセットのままであることを意味します。相対論的効果を修正し、それらを地上クロックと同期させるために、オンボードクロックで定期的な修正が実行されます。

GPS ナビゲーション メッセージには、GPS 時間と UTC の差が含まれます。2008 年 12 月 31 日に UTC にうるう秒が追加されたため、2009 年の時点では 15 秒です。受信機は、GPS 時間からこのオフセットを差し引いて、UTC と特定のタイムゾーンの値を計算します。新しい GPS ユニットは、UTC オフセット メッセージを受信するまで、正しい UTC 時刻を表示しない場合があります。GPS-UTC オフセット フィールドは 255 閏秒 (8 ビット) に対応でき、現在の地球の自転の変化率 (約 18 か月ごとに 1 閏秒が導入される) を考えると、約 2300 年まで続くのに十分なはずです。

グレゴリオ暦の年、月、日の形式とは対照的に、GPS の日付は週番号と週の秒数として表されます。週番号は、C/A および P(Y) 航法メッセージで 10 ビット フィールドとして送信されるため、1,024 週 (19.6 年) ごとに再びゼロになります。GPS の週ゼロは 1980 年 1 月 6 日 00:00:00 UTC (00:00:19 TAI) に始まり、1999 年 8 月 21 日 23:59:47 UTC (00:00:19 UTC) に初めて週番号がゼロになりました。 1999 年 8 月 22 日の :00:19 TAI)。現在のグレゴリオ暦の日付を決定するには、GPS 日付信号を正しく変換するために、おおよその日付 (3,584 日以内) を GPS 受信機に提供する必要があります。この問題に対処するために、最新の GPS ナビゲーション メッセージは 13 ビット フィールドを使用します。これは 8,192 週間 (157 年) ごとに繰り返されます。

自分でロールバックする必要はありません。Joda 時間に、GPS でエンコードされた日付を処理できることを示すものは何も表示されません。延長する方法はありますか?

4

3 に答える 3

3

JSR-310 にはクラスがTAIInstantあり、UTCInstantこの問題の解決に役立ちます (GPS 時間スケールは TAI のバリエーションであるため)。これらはThreeTen-Extraプロジェクトにあります。

于 2010-09-07T09:35:02.887 に答える
2

このウェブサイトは、JavaScriptでその場で変換を行っているようです。リンクテキスト

于 2010-07-27T17:21:53.283 に答える
0

あなたがやろうとしていることについて詳しく説明できますか?

GPSr からデータを読み取っている場合は、引用に従って NMEA ストリームを UTC ドリフトに対して修正し、これによって確認する必要があります。

于 2010-07-07T22:23:28.683 に答える