火球の実体ストアの作成
Wolfram Knowledgebaseには,幅広い分野をカバーする大量の情報が含まれている.また,この知識を表したりこれにアクセスして計算したりするのに適した強力な機能も有している.ユーザが自分の実体特性集合を作り,あたかも組込みデータであるようにそれを使うことも,可能(かつ簡単)になった.以下で,既存のデータソースに基づいた 火球(爆発流星)についての実体ストアの作成と使用のプロセスを説明する.
Jet Propulsion Laboratoryで管理されている爆発流星のデータ集合をImportを使ってダウンロードする.
In[1]:=
(rawdata =
Import["http://neo.jpl.nasa.gov/fireballs/",
"FullData"])[[3, 9, 2, 12, 1, ;; 5]]
Out[1]=
生のデータに単位を付ける効用関数を定義する.
In[2]:=
AddUnits[x_, u_: "Kilometers"/"Seconds"] :=
If[NumberQ[x], Quantity[Interpreter["Number"][x], u],
Missing["NotAvailable"]]
データの関係する部分を抽出し,適切なQuantityタグを付け,実体ストアを作る.
完全なWolfram言語入力を表示する
In[6]:=
store = EntityStore["Bolide" -> <|
"Label" -> "bolide",
"LabelPlural" -> "bolides",
"Entities" -> entities,
"Properties" -> properties
|>]
Out[6]=
このセッション用にストアを登録する.
In[7]:=
PrependTo[$EntityStores, store];
爆発流星の位置とエネルギーについての「EntityAssociation」を作る.
In[8]:=
ea = EntityValue["Bolide", {"Position", "TotalRadiatedEnergy"},
"EntityAssociation"];
爆発流星の可視性の地理的プロットを,その高さと天空における位置に基づいて作る.
In[9]:=
GeoGraphics[{GeoVisibleRegion[#] & @@@ Values[ea]}]
Out[9]=
爆発流星のエネルギーをQuantityArray中に抽出する.
In[10]:=
energies = QuantityArray[Values[ea][[All, -1]]]
Out[10]=
爆発流星のエネルギーをヒストグラムを使って可視化する.
In[11]:=
Histogram[energies, "Log", AxesLabel -> {"energy (J)", "count"}]
Out[11]=
スケーリング関数を適用して火球の明るさの定性的に表す.
完全なWolfram言語入力を表示する
In[13]:=
GeoGraphics[{Red, GeoDisk[#1, scale[#2]] & @@@ Values[ea]}]
Out[13]=