CAS-5A_#27のJPEG地球画像化が完了したので、次の新地球画像化に取り組む。
この 「CAS-5A_Image_Index」 サイトを見て、地球が綺麗に撮影されていそうな
#41 に決定した。
1. まず最初に、30325ng5.csvファイル名を、安全のために 30327ng1.csv に
名前変更しておく。(csvファイルは SatNOGS にリクエスして入手した長い
名前のファイルで、5桁の数値は2023年3月27日という自己流のファイル名)
$ mv -i 30325ng5.csv 30327ng1.csv
2. 次に、Geanyアプリで 30327ng1.csv を開く。
3. 今回の #41のフレームサイズは 1577(hex0629) という情報を得ていたので
それと JPEGヘッダーの FFD8 を含む一行を探すと 28846行目 に見つけた。
4. その行の FFD8 までの 16バイト(32文字)を右クリック・コピーして、前頁
でも使用した重要rubyスクリプト ext.rb の中身に貼り付け、書き換える。
「0x629」 は #41のフレームサイズ、「%04X」 は JH4XSY/1局によるアイデア
で、シーケンス番号にあたる変数iを、16進数で有効桁数の余白を 0(ゼロ)
で埋めて出力する、という意味の凄技である。
> for i in 1..0x629
> printf("grep 030629%04X0100170111013406082907 30327ng1.csv | head -1 | cut -c 59- >> 30327ng1.hex\n", i)
> end
5. ruby単体での動作を確認する。
grep(検索)されたコマンドが PC画面に一行ずつ表示される。
$ ruby ext.rb
6. 確認後、シェルスクリプトファイルとして出力する。
$ ruby ext.rb > 30327ng1.sh
7. シェルスクリプトを実行する。数分後に 30327ng1.hex が自動生成される。
$ sh 30327ng1.sh
8. 残りの ax.25ヘッダー部分(13バイト)をカットし、さらに全改行をカット
して、最後に hexダンプし、一気に jpgファイルを作成する。
$ cat 30327ng1.hex > 30327ng1.txt
$ cut -c 27- 30327ng1.txt > 30327ng1-less-27.txt
$ tr -d '\n' < 30327ng1-less-27.txt > 30327ng1-one-line.txt
$ cat 30327ng1-one-line.txt | xxd -r -p > 30327ng1-completion.jpg
9. この 30327ng1-completion.jpg が、目的の新しい #41地球画像である。