Ruby版 SatSAT

JA1BMLさんが、JAMSATの衛星軌道予測情報をひとつのファイルにまとめてくれる素晴しいツールSatSATを公開してくだ さっています。Ruby版SatSATは、BMLさんが公開しているツールと同様の処理をするRubyスクリプトです。

私はほとんどが外での運用なので、いつもBMLさんのWebからSatSATで作成された軌道予測表を携帯電話に画面メモして持ち歩い ていました。この予測表は十分な情報をもっているのですが、私の携帯の画面では1パスの情報が複数行で表示されてしまうといったこともあり、自分用に フォーマットをカスタマイズしてみたくなりました。

最初はAWKのスクリプトの修正に手をつけたのですが、日付を省略しようとすると、Windowsのコマンドでソートした後にもう一度 AWKのスクリプトが必要になりそうだったので、勉強がてらRubyで書き直すことにしました。(今考えると、AWKからWindowsのsortを呼び 出すようにすればよかっただけのことですね。)

Rubyには標準でネットワーク関係のモジュールも提供されているので、結果的にすべての処理をひとつのスクリプトにまとめることがで きました。処理した結果は こちら でご覧いただけます

本家より、モサッとしているのと、モバイル用ということで、名前をファイル名はMoSatSATとしました。

リリース

MoSatSAT.rb ver. 1.3 を公開しました。 (17 May 2010)
CAMSATのサイト(www.camsat.cn)で公開されているHO-68のスケジュールを反映させました。HFはFMト ランスポンダ、HLがリニアトランスポンダの場合です。結果は、こちら をご覧ください。ver.1.3 はCAMSATのスケジュール記述形式の変更への対応です。

Rubyのインストール

Windows用のRubyはいくつか種類があるようですが、私は以下のURLにあるruby-1.8.7-p72-i386- mswin32.zipを利用しています。

http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html

インストールの手順は、以下のとおりです。

  1. ruby-1.8.7-p72-i386-mswin32.zip をダウンロードする。
  2. 適当なフォルダに展開する。(例: C:\Ruby) −コピーするだけですが結構時間がかかります。
  3. パスを通す。(例: C\Ruby\bin)

Rubyのインストールについては、以下のURLにある情報も参考になります。

http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide

インストールが完了したら、以下のコマンドを入力してみてください。

 >ruby -v

次のように表示されたら、rubyのインストールはOKだと思います。(たぶん。)

 ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]

Rubyスクリプト:SatSAT.rb

Ruby版SatSATは、SatSAT.rbというスクリプトファイルです。ファイルは こちら でダウンロードできます。ダウンロードしたファイルを適当なフォルダに展開すれば、Ruby版SatSATのインストールは完了です。

SatSAT.rbを展開したフォルダで以下のコマンドを入力すると処理が実行されます。

 >ruby SatSAT.rb

デフォルトでは、東京地区のVO-52とFO-29の軌道予測データをまとめ、SatSAT.rbがあるフォルダに SatSATrb.htmlとして出力します。次のような表示がでれば、うまくいっているはずです。

 "open hamsat.txt"
 "open fo-29.txt"

設定

衛星の追加・変更

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のコメントアウトを下記のようそれぞれの出力形式に合わせ て付け替えてください。

HTML形式で出力
ext =".html"
#ext=".txt"

テキスト形式で出力
#ext =".html"
ext=".txt"

MoSatSAT.rbの出力結果フォーマット

デフォルトの出力結果は、次のようなフォーマットとしています。


05 0917 - 28 - 37 ( 20 ) 6 9 B 56 FO
a b c d e f g h i j

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 衛星。

MoSatSAT.rb による携帯用超簡易軌道予測表(東京)

手動で更新しています。