バージョン7.0現在で,測地学機能はWolfram言語に組み込まれている. »
測地学パッケージ
測地学とは,地球上の大きな範囲での位置と面積,地球の形と大きさ,地球の重力場と磁場の変化を求める等のトピックを扱う科学の一分野である.このパッケージの主要な関数は2点間の距離を求めるために用いるものである.
SphericalDistance[pos1,pos2] | 2つの posi 間の距離を球体モデルを用いて計算する |
SpheroidalDistance[pos1,pos2] | 2つの posi 間の距離を回転楕円体モデルを用いて計算する |
各位置は緯度と経度の組(単位は度)で与えられる.座標は{degrees,minutes,seconds}という形式でも表すことができる.座標の値が負であるときは,南緯または西経を表す.デフォルトでは距離はキロメートルで返される.
球体モデルは厳密な公式に基づいている.一方,回転楕円体モデルは10,000キロメートル以下の距離では非常によい近似が行えるアルゴリズムである.この近似の性質により,SpheroidalDistanceの計算はすべて機械精度の数で行われる.
Radius->radius | 球体モデルにおける球の半径を指定する |
SemimajorAxis->length | 回転楕円体モデルにおける長半径の長さを指定する |
Eccentricity->value | 回転楕円体モデルにおける離心率の値を指定する |
球体の半径,または回転楕円体の長半径と離心率の値を,それぞれRadius,SemimajorAxis,Eccentricityを使って変更すると,2点間の距離を変えることができる.これらのオプションのデフォルトの値は世界測地系(WGS‐84)標準のもので,キロメートルで表される.
ToAuthalicRadius[semimajor,eccentricity] | authalic球体の半径を,与えられた回転楕円体の長半径と離心率で計算する |
GeodeticToAuthalic[{lat,long},eccentricity] | 指定の離心率を持つ回転楕円体上の点の緯度と経度について,authalic球体の対応する点の座標を計算する |
ToDegrees[{deg,min,sec}] | 「度‐分‐秒」形式の座標を度に変換する |
ToDMS[deg] | 度で表された座標を「度‐分‐秒」形式に変換する |
回転楕円体から球体への変換には,authalic球体を用いるのが最も簡単である.この球体は基準となる回転楕円体と同じ表面積を持つ.
上図で使われた離心率は.6である.地球の回転楕円体の実際の離心率は約.081である.