1. 概要

このチュートリアルでは、球面上の2点間の距離を計算するための半正矢関数の定義と使用法を学習します。

まず、デカルト座標系と極座標系で点間の距離を測定する問題について説明します。

次に、極座標系を球面座標系に拡張します。 その文脈では、地理的距離を計算するための半正矢関数を、球上の点間の大円距離の一般的な問題のインスタンス化として定義します。

このチュートリアルの最後に、地球の表面上のポイント間のおおよその距離を計算するための半正矢関数の式を実装する方法を学びます。

2. なぜHaversineFormulaが必要なのですか?

2.1. 大円の直感的な理解

大圏距離の計算は、地理空間情報システムの典型的な機能です。 この関数を使用すると、別の場所から出発するときに1つの場所に到達するために、地球の表面に沿って移動するために必要な最短距離を決定できます。

半正矢関数は、緯度と経度を大円距離に関連付ける方法を提供するため、この目的で頻繁に使用されます。

2.2. 大圏距離とは何ですか?

半正矢関数の最も重要な概念は、球の大円の概念です。 大円は、特定の平面と球面の交点と考えることができます。 表面が球形である球は、無限の方法で平面と交差することができます。

ただし、これらの平面のうち、はサブセットのみであり、球の中心とも交差します。 平面が球の中心と交差する場合、大円をその球の表面との交差を構成する点の集合と呼びます。

球面上に2つの点がある場合、それらの距離は、それらを通過する唯一の大円でそれらを結ぶパスの長さとして測定できます。 この経路は、2点を結ぶ測地線とも呼ばれ、球面自体に結合する最短経路です。

2.3. しかし、地球は平らではありませんか?

3次元の平坦な空間を移動する場合、距離を計算するときに大円を考慮する必要はありません。 実際、2つのポイントを結ぶ直線の長さを簡単に測定し、一方から他方に到達するために必要な最短距離と見なすことができます。

このタイプの距離はユークリッド距離と呼ばれ、平面に適しています。 もちろん、ユークリッド距離が短いスケールで地球上の実世界の距離によく近いという事実は、地球がほとんど平坦であるという考えを支持する良い議論です。 ただし、より大きなスケールを検討する場合、ポイント間の距離が大きくなるにつれて、作業がより複雑になり、ユークリッド近似が適切でなくなる可能性があります。

2.4. 地球の表面だけでなく

ただし、地球の表面を横切るに加えて、大円距離を使用しなければならない場合もあります。

たとえば、物体を周回するの場合のように、一定の重力ポテンシャルを持つパスに沿って移動するように制限される場合があります。 これは、私たちが地球の周りの静止軌道にいる場合に当てはまります。したがって、私たちは均一な重力ポテンシャルの表面に拘束されています。

航空会社のルートのフライトプランニングを行う場合も、同様の状況が発生する可能性があります。 航空機のルートには、移動経路の一部で飛行機が維持しなければならない高度が含まれます。 高度が一定の場合、移動は地球の周りの大円上で行われていると言えます

その円は地球の表面ではなく、地球と同じ中心と大きな半径を持つ球面上にあります。

しかし実際には、大円は地球の中心から同じ距離を維持することに関係していることが多く、したがって重力と関係があります。 ただし、重力の制約に縛られていなくても、他の理由で大円に沿って移動している可能性があります。

たとえば、原子の周りの電子の動きを考えてみましょう。

湾曲した運動を生成する力は、重力ではなく電磁的ですが、結果として生じる運動は、原子核の周りの大円に沿って発生します。 一般に、私たちが研究している動きが球面を横切る動きに関連している場合、その長さを計算するために半正矢関数を適用できます

2.5. 距離の式には何を含める必要がありますか?

これで、球面の大円上の距離を計算するための式の内容について、いくつかの期待を立てることができます。

球の半径がどういうわけか重要であることがわかっているため、球の半径が大きいほど、その表面の任意の2点間を移動する距離が長くなります。

したがって、これは、距離が球の半径の単調増加関数である必要があることを示しています。 が半径であり、がの関数としての距離である場合、次のように言うことができます。

また、互いに対応する2点間の縮退距離を測定することも想像できます。 定義上、距離は、によって想定される任意の値に対してゼロであると予想されます。 したがって、2つの点がに対応するときにゼロに等しく、の式の半径を乗算する演算子があります。

したがって、演算子は0によって下限になります。 また、球面上の2点間の距離は、2点が中心に対して反対の場合に最大となるため、演算子も上限になります。 はの式で乗算されることがわかっているため、また距離は上界と下界であるため、これは、とが反対であることを意味します。

したがって、これは、これまでに説明した大円距離の式に対する制約のリストです。

半正矢関数は、これらの要件をすべて満たしています。 次のセクションでは、平坦な空間での距離に関する考慮事項から、次に三角法の法則を湾曲した空間に適用することから、それを導出する方法を説明します。

3. 平面および球面上の距離

3.1. ユークリッド距離

平面では、通常、2つの点を表すベクトルのノルムを使用して点間の距離を計算します。 ノルムは、以前にユークリッド距離と呼んでいたものです。

2次元サーフェスでは、とが2点の場合、ピタゴラスの等価性を使用して距離を次のように計算できます。

より一般的には、ベクトル空間が次元である場合、距離をとして計算できます。ここで、はの-番目の成分です。

3.2. コサインによる距離

ただし、2次元平面が極座標である場合、点ベクトルの2つのコンポーネントの1つは距離を示しなくなります。 むしろ、角度:

このため、前の式は極座標系には適用されません。 ポイントとを定義すると、それらの距離をとして計算できます。

ただし、正の曲率を持つサーフェスの場合、これは適用されません。 これまでに行った考慮事項は、実際には、平面上で計算された距離に対してのみ有効ですが、それ以外の場合は一般的に有効ではありません。

このため、最初に極座標系を3次元に拡張する方法を説明し、次に新しいシステムで距離を計算する方法を説明します。

4. 半正矢関数

4.1. 3次元極座標系

極座標系を3次元に拡張するには、主に2つの方法があります。

1つ目は、追加の3番目の次元を、平面極系の軸に直交する任意に選択された平面からの距離と見なすことです

このシステムは、円柱座標系と呼ばれます。 もう1つのオプションは、地理空間分析で使用するオプションであり、代わりに球面座標系の名前を取ります。

球面座標系は、余分な次元も極座標系です。 その中で、球面は、原点から一定の半径距離を持つ点のセットとして定義されます。

球面座標系では、前に行ったように、原点を通過する平面と球面自体との交点にある点のセットとして大円を定義することもできます。

球面座標系では、球面上の2点間の距離は通常、大円距離として定義されます。 これは、2点を構成する大円の弧の長さとして測定することを意味します。 球面上の任意の点のペアを通過する大円は1つだけなので、この距離は一意です。

4.2. 半正矢関数の定義

これで、球面座標系の2点間の距離を計算するための半正矢関数を定義できます。 数式自体は単純であり、特定の半径の半径座標に従って定義されたポイントの任意のペアに対して機能します。

2つのポイントを定義し、それぞれの緯度と経度に従って、それぞれラジアンで表されたとしてとを定義しましょう。 また、との間の大円距離をとして定義しましょう。

は半径と中心角を持つ大円の弧なので、それがわかります。 このシステムでは、中心角に対応する半正矢の法則は次のとおりです。

点のペアを計算したら、逆半正矢関数を使用して計算できます。 そうすれば、最終的に次のように計算できます。

次に、その計算では、ポイントとの緯度と経度に関して、上記で定義した完全な式に置き換えるだけです。

4.3. 地球は球形ではありませんが

この方程式は、球面の半径のパラメトリックです。 完全に球形ではない地球の表面の座標の場合、半径の近似測定値を使用するのが一般的です。 これは、サーフェスの半径がとの間で変化するため、平均値が必要になるためです。

一般に、の値が最も一般的に使用されます。 ただし、2つのポイントが極または赤道の近くに配置されていることを事前に知っている場合は、それぞれまたはに置き換えることを検討できます。

5. 結論

この記事では、球面の大円距離を計算するための半正矢関数の公式を研究しました。

最初に、大円に沿って発生する運動の例を特定することにより、公式の背後にある理論的根拠を研究しました。

次に、デカルト座標系と極座標系で距離を計算する問題について説明しました。

最後に、極球系までの距離を計算する問題を一般化しました。 その文脈で、我々は次に球面上の大円距離の半正矢関数を研究しました。