Entityで人工衛星、ロケット、探査機のデータを参照する

2020-03-02

Mathematica Wolfram WolframCloud ロケット 人工衛星 探査機

t f B! P L
WolframCloud Entityの使い方を紹介

Mathematica,WolframCloudのサンプルにオレンジのRoundRectで囲まれた表示が出てくる。これは現実世界の様々なデータをWolfram言語に取り込んで処理する時に役立つEntity(実体)の仕組み。成長を続けるKnowledgeBaseから様々な知識、ルール、データを取り出して利用できる。その守備範囲はここで書いた測地学に限らず科学の広い分野に渡っている。

MathematicaVer.1が発表当初NeXTコンピュータに無料バンドルされていたように、近年RaspberryPiでも無料で使えるようになっている。現在Mathematicaの最新バージョンは12、WolframCloudもこのバージョンで動いている。RaspberryPiにバンドルされるバージョンは測地学関係の機能が導入され始めたバージョン10を元にしたものらしいのでインターネットに接続した状態であれば各種実体データをクラウドから参照することができる。手元にあるラズパイ3のMathematicaを見てみるとVer11.2(32bit)となっていた。ただし、WolframCloudで作成したドキュメントをRaspberryPiにダウンロードしてローカルのMathematica11.2で開こうとしても「新しいバージョンで作られたものはこのバージョンではだめ」と怒られた。(Inputの文字列をテキストとして移してPaspberryPi上で実行すれば行けるかも知れないが...)それにしても、教育現場でこれが導入されればすごいことになりそう。小学校からこの環境に馴染んでいけば日本の国力は間違いなくあがるだろう。


Entityを自分で入力するには「Ctrl」キーを押しながら「=」キーをタイプ。
枠内に自由な単語を入力するとWolframCloudがデータベースを検索、柔軟に解釈して候補を出してくれる。つまり正確な表記や綴がわかっていなくても目的のデータにたどり着くことができるように工夫されている。
あえてスペルを間違えて入力してみる。
  存在しない単語は受け付けられず赤い「!」がついた。

 「kurasiki」と打って「Enter」キーを押すとそれらしい単語に置き換わった。

 でもまだ確定ではなくユーザーに選択肢を提供している。
...を押せば別の解釈が出る場合がある。今回は出ないようだ。

 ✔を押せば確定

 市の名前であると確定された。これは単なる文字列ではなく、様々な属性のセットを持った実体(Entity)である。例えば測地学上の位置情報も持っている。



このオレンジの枠は知っていればタイピングだけで入力することもできる。


 自由語からクラウドに探してもらって入れたが、正式な入力フォームを知りたければInputForm関数を適用する。Entityにマウスオーバーしても同じ内容がポップアップする。




 直接この形式で入力して評価すると実体として解釈された。

Entityは他の数値と同様に関数の引数として使える。視認性もよく式が理解しやすい。


 「Kurashiki」という文字列は市でしかないが、「Tsubame」ならどうか?

刃物で有名な燕市は当然出てくるが...

・・・にマウスオーバーすると別解釈ができるとのポップアップ。

・・・をクリックし



「more」をクリックすると、WolframCloudが知っている別解釈の宇宙機という選択肢が表示された。


これを選択するとオブジェクトタイプがCITYではなくSATELLITEになったので



✔をクリックして確定。



 InputFormを見てみると、NORADの衛星カタログの番号で管理していることがわかる。




 SATELLITEというオブジェクトは多くの属性を持っている。Entityの属性を参照するには["属性名"]を後ろにつける。属性名は記憶していなくても["まで打てば候補がポップアップする。




測地学的な位置(緯度・経度・高度・時刻)を出すには "Position" を使う。時刻はこの式を評価した現在時刻。つばめが飛んでいる場所を確認する。




どんな属性データが登録されているか確認するには "Dataset" を使う。

時間がかかるときもある。



実体は非常に多くの属性を持つものもあるためページネーションされている。
SATELLITEの場合は上図のように現在62個。ただし全てが埋まっているわけではない。





NORADNumberは確かに40302となっている。
SATELLITEはこの番号さえわかれば簡単に実体を入力できる。
例えばISSなら Entity["SATELLITE" , "25544"] とする。

例題として



この日この時の人工衛星「TSUBAME」の位置、可視範囲、軌道は次の式で描ける。
 WolframCloudのサンプルより。



もう一つサンプルを...





日本初の人工衛星「おおすみ」をみてみる。
球体は燃料が入っていた最終4段モータ。あくまで試験機という位置づけで衛星本体部を熱から守る設計にはしていなかったため、バッテリーが高温となり電波が出たのは一日以内だったそうだが、1970年から2003年8月まで30年以上地球を周回していたことがわかる。



「おおすみ」を見たなら「はやぶさ」も...
こちらは「SATELLITE」ではなく「DEEP SPACE PROBE」となっている。






軌道は大まかなものらしい。

余談だが、テレメトリデータなど詳細はこっちで公開されている。
データ・アーカイブの仕組みやフォーマットについては
に説明あり。
イトカワの表面アップのfitフォーマット画像があったので
ダウンロードしてPixInsightで開こうとしたがエラー。
MaxImDLではちゃんと開くことができた。




「はやぶさ」をみたら「はやぶさ2」も...










探査機を見たらターゲットの小惑星も...
小惑星の属性は129項目もある。








画像を比較してみるがイトカワの画像は入っていなかった。



Options[Entity["MinorPlanet", "Ryugu"]["Image"], MetaInformation]
でメタ情報が参照でき、この場合は
{MetaInformation->
<|Source->https://en.wikipedia.org/wiki/162173_Ryugu#/media/File:162173_Ryugu.jpg,
URL->http://www.wolframcdn.com/waimage/hset102/a9d/a9dd1cd6b901a658efcb19b863e82a6c_v001s.jpg|>}
などと出典情報が表示される。

探査機を打ち上げたM-Vロケット、ついでにH2ロケットも見てみる。
シリーズの情報は最新ではない模様。


















 スターリング衛星の状況を確認...
122個なので打ち上げ2回分しか登録されていない模様。







QooQ