GPS Time (GPS時刻)
時計の話です。
原子時計は正確に時を刻み続けています。何があっても決められた規則どおりに時は過ぎていきます。ところが僕らが住んでいる地球では日の長さ、つまり地球の公転・自転との関係で時刻を決めているので、原子時計が刻む時刻ではずれが生じ、実用上問題が生じてしまいます。そういうわけで地球上で用いている時刻である協定世界時(UTC)には、地球の自転に上手く合うようにある細工がされています。いわゆる『閏(うるう)秒』というやつで、これを挿入したり(正の閏秒)、引いたり(符の閏秒)することで調整がされます。
詳しくはWikipediaの閏秒等を参考にしてください。
なんでこんな話になったかというと、つい最近、2006年1月1日に正の閏秒、23:59:60が挿入されたため、原子時計を用いた時刻であるGPS時刻と、UTCとがまた1秒食い違うこひとになりました。実験でGPSを用いてる関係上、GPS時刻とUTCで同期をとる必要があり、1秒の狂いが重要であったりします。すっかりそのことを忘れていたため、ちょっとトラブルがありました。
ついでにこんなものを作ってみました。RubyでGPS時刻を計算するプログラムです。時刻をいれると[サイクル番号、週番号、時刻(sec)]の配列を返します。
※(2009/1/1追記) 2008/12/31の閏秒にも対応しました。
※※(20012/6/1追記) 2012/6/30の閏秒にも対応しました。
また、単体で起動した際に、GPS衛星軌道の精密歴をとってきてくれるモードを追加しました。例えば、
とすると、日本時間(GMT+9hr)の2012/6/1の朝6時に関係するRapid(--mode=r)の精密歴を取得してくれます。modeは他にUltra Rapid(--mode=u) や Final(--mode=f) があります。
※※※ (2012/6/15追記) GPSの最寄の電子基準点を求めるスクリプトを作りました。あわせてどうぞ。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。