JA1BMLさんが、JAMSATの衛星軌道予測情報をひとつのファイルにまとめてくれる素晴しいツールSatSATを公開してくだ さっています。Ruby版SatSATは、BMLさんが公開しているツールと同様の処理をするRubyスクリプトです。
私はほとんどが外での運用なので、いつもBMLさんのWebからSatSATで作成された軌道予測表を携帯電話に画面メモして持ち歩い ていました。この予測表は十分な情報をもっているのですが、私の携帯の画面では1パスの情報が複数行で表示されてしまうといったこともあり、自分用に フォーマットをカスタマイズしてみたくなりました。
最初はAWKのスクリプトの修正に手をつけたのですが、日付を省略しようとすると、Windowsのコマンドでソートした後にもう一度 AWKのスクリプトが必要になりそうだったので、勉強がてらRubyで書き直すことにしました。(今考えると、AWKからWindowsのsortを呼び 出すようにすればよかっただけのことですね。)
Rubyには標準でネットワーク関係のモジュールも提供されているので、結果的にすべての処理をひとつのスクリプトにまとめることがで きました。処理した結果は こちら でご覧いただけます
本家より、モサッとしているのと、モバイル用ということで、名前をファイル名はMoSatSATとしました。
Windows用のRubyはいくつか種類があるようですが、私は以下のURLにあるruby-1.8.7-p72-i386- mswin32.zipを利用しています。
http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html
インストールの手順は、以下のとおりです。
Rubyのインストールについては、以下のURLにある情報も参考になります。
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide
インストールが完了したら、以下のコマンドを入力してみてください。
次のように表示されたら、rubyのインストールはOKだと思います。(たぶん。)
Ruby版SatSATは、SatSAT.rbというスクリプトファイルです。ファイルは こちら
でダウンロードできます。ダウンロードしたファイルを適当なフォルダに展開すれば、Ruby版SatSATのインストールは完了です。
SatSAT.rbを展開したフォルダで以下のコマンドを入力すると処理が実行されます。
デフォルトでは、東京地区のVO-52とFO-29の軌道予測データをまとめ、SatSAT.rbがあるフォルダに
SatSATrb.htmlとして出力します。次のような表示がでれば、うまくいっているはずです。
SatSAT.rbでは、対象となる衛星を、表示される衛星名の文字列をキー、JAMSATのファイル名をハッシュの値とした satlistというハッシュで管理しています。衛星名はユニークでさえあれば、任意の文字列が使えます。
satlist = {
"VO" => "hamsat.txt", # VO-52
"FO" => "fo-29.txt" # FO-29
}
AO-51を追加する例は以下の通りです。
satlist = {
"VO" => "hamsat.txt", # VO-52
"A5" => "ao-51.txt", # AO-51
"FO" => "fo-29.txt" # FO-29
}
locという変数で指定します。デフォルトは "tokyo/" です。
tokyoの部分をJAMSATのURLの該当部分に変更してください。最後の / は必要です。
base_dirという変数で指定します。デフォルトは ".\\" (MoSatSAT.rbのあるフォルダ)です。区切りの \
はかならず、\\ のように2つ重ねが必要です。
出力ファイル
デフォルトはHTML形式ですが、テキスト形式でも出力できます。変数extのコメントアウトを下記のようそれぞれの出力形式に合わせ
て付け替えてください。
ext =".html"
#ext=".txt"
#ext =".html"
ext=".txt"
デフォルトの出力結果は、次のようなフォーマットとしています。
|
|||||||||||||||||||||||||||||||||||||
a | 日付。他の日のパスと間違えないように。Hi。 | ||||||||||||||||||||||||||||||||||||
b | AOSの時刻。 | ||||||||||||||||||||||||||||||||||||
c | MELの時刻。分のみ。 | ||||||||||||||||||||||||||||||||||||
d | LOSの時刻。分のみ。 | ||||||||||||||||||||||||||||||||||||
e | 可視時間。 | ||||||||||||||||||||||||||||||||||||
f, g, h | AOS(f)、MEL(g)、LOS(h)の方角。0時を真北とした時計の文字盤表記。Aは10時、Bは11時の方向。 | ||||||||||||||||||||||||||||||||||||
i | 最大仰角。 | ||||||||||||||||||||||||||||||||||||
j | 衛星。 |