#####################################################################################################
概説（ Japanese ）
#####################################################################################################

Space-Track や CelesTrack からダウンロードした TLE ファイルから、
GNUPLOT http://www.gnuplot.info/ を利用して、
人工衛星やスペースデブリの位置や軌道を以下の形式にて画面表示し又はGIFファイルを生成する方法を
ご紹介します。

（Ａ）対話的な（視点が変えられる）３Ｄ静止画
（Ｂ）対話的な（視点が変えられる）３Ｄ動  画
（Ｃ）GIF アニメーションファイルの生成
  これは、上記（Ｂ）の GIF ファイル化です、但し視点は変えられません。

参考イメージとして、Ａの表示結果（画面イメージ）を PNG 画像として image/ 内に保存しています。
また、Ｂの表示結果（即ち、Ｃの GIF アニメーションファイル）も image/ 内に保存しています。


#####################################################################################################
使用する TLE データファイルの説明（サブディレクトリ tle 内に保存しています。）
#####################################################################################################

tle/all.txt:
	ある時点における全ての人工衛星とスペースデブリの TLE データ
	このファイルには、約２万５千個のオブジェクトデータが含まれています。
	＊入手方法： Space-Track -> Bulk Catalog Data Downloads -> Full Catalog -> 3LE

tle/gps.txt:
	ある時点における稼働中の全 GPS 衛星の TLE データ
	このファイルには、約３０個の衛星データが含まれています。
	＊入手方法： CelesTrack  -> Current Data (GP) -> TLE/3LE -> GPS Operational

tle/iss_1week.txt:
	国際宇宙ステーション ISS の 2023-01-01〜2023-01-07 の間における全 TLE データ
	このファイルには、ISS に対する複数の TLE データが含まれています。（約３０個）
	各 TLE データは、全てエポック（軌道情報の基準日時）が異なり、かつ、その昇順に並んでいます。
	＊入手方法： Space-Track -> Retrieve ELSET Data by Satellite Catalog Number -> NORAD_CAT_ID=25544


#####################################################################################################
【表示例】ファイル all.txt に含まれる全オブジェクト（人工衛星又はスペースデブリ）の、本日 00:00:00 の
位置を 3D 表示します。なお、非常に多くの表示対象物が含まれているためドット表示とします。
＊マウス操作で 3D 視点が変更できます。（注意：GNUPLOT 使用時のみ）
#---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|
なお、表示は LEO（低軌道）/ MEO（中軌道）/ GEO（静止軌道）の３種類のスケールで順に表示します。
#####################################################################################################

% tazel tle/all.txt . 0 > p				# 位置の計算
% gnuplot case-all.txt					# 位置の表示（３種類のスケール）
% rm p

又は

% tplot tle/all.txt . leo d				# 位置の計算＆表示（LEO）
% tplot tle/all.txt . meo d				# 位置の計算＆表示（MEO）
% tplot tle/all.txt . geo d				# 位置の計算＆表示（GEO）

■動画■1 分刻みで 10 分間の動きをアニメーション化します。

% tplot -anime 0.1     tle/all.txt 10m leo d				# 端末への直接表示（LEO）
% tplot -anime all.gif tle/all.txt 10m leo d				# GIF ファイル生成（LEO）


#####################################################################################################
【表示例】2023-01-01 00:00:00 [UTC] に置ける全 GPS 衛星の位置及び軌道を 3D 表示します。
表示内容は、位置表示・位置表示と衛星名・位置表示と衛星名と速度ベクトルです。
＊マウス操作で 3D 視点が変更できます。（ GNUPLOT 使用時のみ）
#---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|
なお、表示は 位置 / 位置と速度＆名前 / 軌道 / 軌道と速度＆名前 の４種類で表示します。
#####################################################################################################

% tazel     tle/gps.txt 2023-01-01 0        > p		# 位置の計算
% tazel -p2 tle/gps.txt 2023-01-01 0 120*6m > o		# 軌道の計算
% gnuplot case-gps.txt								# 位置と軌道の表示
% rm p o

参考：GPS衛星は約12時間で地球を回ります。そこで、その間の一定時間毎の衛星位置を計算し、その各点を線で
つなげて軌道表示としています。ここでは、LoopTicks の指定は 12h （1時間毎に12回）でも表示できますが、
ギザギザ感が残るため、その10倍の細かさの 120*6m （6分毎に120回）としています。
また、"-p2" オプションは各軌道データ毎に空行を2行入れるものです。これは、GNUPLOT で各軌道データを
分離表示する為に必要です。（無いと、全ての点が一筆書きのようにつながって表示されます。）

又は

% tplot tle/gps.txt 120*6m meo pa					# 位置の表示
% tplot tle/gps.txt 120*6m meo oa					# 軌道の表示

■動画■6 分刻みで 12 時間分の動きをアニメーション化します。

% tplot -anime 0.1     tle/gps.txt 120*6m meo pa	# 端末への直接表示
% tplot -anime 0.1     tle/gps.txt 120*6m meo oa	# 端末への直接表示

% tplot -anime gps-pa.gif tle/gps.txt 120*6m meo pa	# GIF ファイル生成
% tplot -anime gps-oa.gif tle/gps.txt 120*6m meo oa	# GIF ファイル生成

#####################################################################################################
【表示例】 2023-01-01 ~ 2023-01-07 [UTC] に置ける国際宇宙ステーション ISS の軌道を、先の GPS 衛星の
場合と同様に３Ｄ表示します。ただし、その時々の位置計算を（その時々の時刻にとっての）最新の TLE データ
を利用します。 "-s0" オプションは、このような計算をする為に必要です。
参考： 7[day] = 7*24[hour] = 168[hour] = 1680*6[min] 		（1680*6m = 6分刻みで 7日間）
#---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|
同様に、2023-01-01 00:00:00 ~ 2023-01-01 23:59:59 [UTC] に置ける国際宇宙ステーション ISS の東京から
観測した場合の AZ/EL と Date & Time を計算表示します。
参考： 24[hour] = 24*60[min] = 1440[min]					（1440*1m = 1分刻みで24時間）
#---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|---+---+---+---+---|
同様に、2023-01-01 から 3 年間、国際宇宙ステーション ISS を無制御状態にて放置した場合の高度の推移を
計算表示します。（この計算では徐々に高度が低下して行きますが、実際には適切な制御が行われます。）
参考： 3[year] = 3*365[day] = 1095[day]						（1095d   = 1日刻みで 3年間）
#####################################################################################################

% tazel -s0 tle/iss-1week.txt 2023-01-01 0 1680*6m > o			# 軌 道 表示用の計算
% tazel -s0 tle/iss-1week.txt 2023-01-01 0 1440*1m > a			# AZ/EL 表示用の計算
% head -3 tle/iss-1week.txt | tazel - 2023-01-01 0 1095d > h	# 高 度 表示用の計算
% gnuplot case-iss.txt
% rm o a h

又は

% tplot -s0 tle/iss-1week.txt 2023-01-01 0 1680*6m leo oa				# 軌道の表示

■動画■2 時間刻みで 1 ヵ月分の軌道の動きをアニメーション化します。

% head -3 tle/iss-1week.txt | tplot -anime 0.1     - 2023-01-01 0 43200m leo x120	# 端末への直接表示
% head -3 tle/iss-1week.txt | tplot -anime iss.gif - 2023-01-01 0 43200m leo x120	# GIF ファイル生成
