コンテンツにスキップ

磁気異常カタログ

spn.moon.magnetic_anomalies()は、論文の位置表から作った月の磁気異常の一覧をpandas.DataFrameで返します。 表はパッケージに同梱しているため、ネットワーク接続やSVMのファイルは要りません。

import sopran as spn

sites = spn.moon.magnetic_anomalies()       # Blewett (2011) の訂正版、15件
sites[["name", "lon_deg", "lat_deg", "peak_field_30km_nt", "swirl"]]

# 名前・feature_id の部分一致。Gamma と γ、ハイフン、下線の表記揺れに対応する
reiner = spn.moon.magnetic_anomalies("all", name="Reiner Gamma")

# (東経, 緯度) の近くを探す。西経57.5度は -57.5 でも 302.5 でもよい
nearby = spn.moon.magnetic_anomalies("all", near=(-57.5, 7.5), radius_deg=5)

# 孤立した異常の解析中心と、論文で使った観測領域の半径
isolated = spn.moon.magnetic_anomalies("oliveira2017")

収録している表

catalog 内容 出典
blewett2011(既定) 15件。おおよその位置、高度30 kmでの磁場のピーク、地形の区分、当時のスワール分類 Blewett et al. (2011)、訂正版のTable 1
oliveira2017 15件。孤立した異常の解析中心、観測半径\(r_o\)、双極子を置く半径\(r_d\) Oliveira & Wieczorek (2017)、Table 1
all 上の2表の計30行、23個のfeature_id。同じ地域の異なる文献値を別の行で保つ 上の2表

これは文献が選んだ地域の一覧で、月面のすべての磁気異常を網羅したものではありません。 nameは文献の表記のまま残し、Reiner-γとReiner Gamma、SirsalisとRima Sirsalisはfeature_idで対応付けます。 座標の異なる行を平均・統合しません。Blewettの元の論文には座標の誤りがあるため、訂正版を採用しています。

列

列 意味
lon_deg、lat_deg 東経0〜360度、北緯を正とする文献の月固定座標。MOON_MEとMOON_PAの間の精密な変換はしない
position_kind approximate_anomaly_locationはおおよその位置、analysis_centerは解析領域の中心
peak_field_30km_nt 高度30 kmでの地域内の推定ピーク\(\lvert B\rvert\)(nT)。月面での値や掲載座標での点の値とは異なる
setting、swirl Blewettの表の地形・スワール分類。not_recognizedは2011年時点で未確認という意味
observation_radius_deg、dipole_radius_deg Oliveiraの論文の解析領域の角半径。磁気異常の物理的な境界や大きさではない
reference_doi、note 行ごとの出典と注記。Marginisは月探査機Lunar Prospectorの磁力計の観測が乏しい
distance_deg、distance_km nearを指定したときだけ。掲載座標までの大円距離。kmへの換算には月半径1737.4 kmを使う

文献に値が無い所は欠損値です。nearを指定すると距離の近い順に並べ、radius_degで掲載点までの角距離が近いものに絞ります。 領域との交差判定には使えません。radius_degはnearと一緒に、0〜180度で指定します。 結果が空でも、列とDataFrame.attrsのメタデータは保たれます。

SVMと組み合わせる

位置の表とSVMを合わせて使う場合は、SVMのsample()に座標を渡します。追加した列はSVMの点の値で、 文献の地域内ピークとは別の量です。

svm = spn.moon.svm.load(path="/path/to/LunarSVM_000_02_v02.dat")
sites["svm_surface_point_nt"] = svm.sample(lat=sites.lat_deg, lon=sites.lon_deg)