さまざまなスケールで球上の距離を測定する際のピタゴラスの定理とハバーシンの式の近似誤差は何ですか?


30

多くの人は、最初に2つの経度/緯度ペア間の距離を計算しようとすると、ピタゴラスの定理が適切な距離関数として機能するかどうかを尋ねます。

多くの場合、人々は「いいえ、ピタゴラスの定理は2Dユークリッド平面上でのみ機能します」と答えます。しかし、ピタゴラスの定理がどれほど不正確であるかについて、球上のスケールと位置の影響について言及することはめったにありません。

基本的な考え方は非常に小さいスケールであるため、球体の表面は非常に平面に似ています。非常に大きなスケールでは、表面に沿った距離はより湾曲しているため、不正確なピタゴラスの定理と正しいHaversineフォーミュラの差は大きくなります。

あなたが測定しようとしている距離のスケールに基づいて2つの距離測定値の違いを教えてくれる公式や経験則を知っている人はいますか?

私はこれを明示的に持っていると役立つと思います:

  1. ピタゴラスの定理が完全ではない理由の説明。そして
  2. より多くの「大まかな」距離を探している人々に、ピタゴラスが実際にいつ目的を果たすかを知らせます。

回答:


34

緯度と経度で指定された位置でピタゴラス式を使用すると、たとえば、正方形の式を使用して円の面積を計算するのと同じくらい意味がありません。数字を生成しますが、動作するはずの理由はありません。

小さなスケールでは滑らかな表面は平面のように見えますが、ピタゴラス式の精度は使用する座標に依存します。これらの座標が球体(または楕円体)の緯度と経度の場合、次のことが期待できます。

  1. 経度線に沿った距離は、かなり正確です。

  2. 赤道に沿った距離はかなり正確です。

  3. 他のすべての距離は、緯度と経度の差にほぼ比例して、エラーになります。

エラーは、距離計算の開始点と終了点に依存します。ただし、球体と楕円体の両方が軸の周りに円対称であるため、誤差は経度ののみに依存するため、この誤差を調べるには、原点を主子午線に置くこともできます。球体と楕円体の両方が南北反射下で対称であるため、南半球の原点のみを研究する必要があります。そのような点については、[ピタゴラス計算] / [真の距離]に等しい相対誤差の等高線図を描くことができます。

地球の平均半径を使用したピタゴラス式は、

Pythagorean distance =  6371000. * Sqrt[dx^2 + dy^2]] * pi / 180 meters

ここで、dxは経度の差、dyは緯度の差(両方とも度)です。(経度値の差は360を法として減少し、反時計回りを通過するときにdxの正しい値を与えます。そうしないと、ピタゴラスの式自体について何も伝えない人為的に大きなエラーが発生します)

次のプロットは、-70〜0の緯度で10度単位でWGS 84楕円体の正しい距離と比較した相対誤差を示しています。水平座標は経度の差で、垂直座標は目的地の緯度です。明るい領域の誤差は比較的小さく、等高線は1、1.01、1.02、1.05、1.1、1.2、1.5、2などです(角の真っ白な領域は、誤差がこれらの等高線の範囲を超える場所です。)赤い点は、原点を示しています。

プロット

垂直の白いバンドは、期待の正確さを証明しています(1):ピタゴラスの距離は、経度にわずかな差がある場合に正確です。低緯度の水平の白い帯は期待を裏付けています(2)。赤道付近では、水平距離はかなり正確です。さもなければ、広範囲のより暗い領域で目撃されるように、他のすべての距離でピタゴラス式は悪いです。


最大値を定量的に見積もることができます近くのポイントのペア(たとえば、互いに数百キロメートル以内)で達成されたエラー。縮尺-半径に適切な値を使用すると-子午線に沿って真ですが、緯度の円に沿ってそれは緯度の割線によってほぼ誤差が生じます。たとえば、緯度が40度の場合、割線は1.31であり、ピタゴラスの式では東西方向の距離が約31%大きくなります。(これは、赤点のすぐ東西の領域が1.2と1.5の輪郭の間にある緯度-40度の原点の右上の等高線プロットで明らかです。)他のすべての方向の短い距離は0%から31%の範囲で大きすぎる。より長い距離はさらに大きくなる可能性があります(等高線図が示すように)。


1
このような回答には、「お気に入りの回答」機能が必要です。
Devdatta Tengshe

2
@DevdattaTengshe:彼はそれが正気であることを明示的に要求しています:「dxは経度の差(-180と180の間で表される)であり、dyは緯度の差で、両方とも度です。」
lynxlynxlynx

1
2 * 179は180より大きいので、2です。
lynxlynxlynx

1
@whuber:私はこれを知っています、そしてあなたはこれを知っていますが、ピタゴラス/ユークリッド幾何学を盲目的に使用しようとするほとんどの人は、それについて考えたり、知りさえしません。この事実(Mod 360を使用する必要があります)が回答に含まれていれば役立ちます。
Devdatta Tengshe

1
@ToolmakerSteveそれは問題ありません-私はしばしばこの修正を使用します -しかし、ユーザーがそれが近似値であり、長距離および他のいくつかの状況ではそれがはるかに外れることがあることを理解することを望みます。
whuber

8

「ピタゴニアン距離」を「ユークリッド距離」と解釈しました。答えは「円の弦の長さと境界の境界線の違いは何ですか?」と同じです。半径をR、範囲の角度をA(ラジアン)とします。

perimeter = L = A*R
chord = C = 2*sin(A/2)*R
diff = D = L - C
     = (A-2*sin(A/2))*R
     = A^3/24 * R  (for A small)
     = L^3/(24*R^2) (eliminating A)
relative error = D/L
               = (L/R)^2/24

地球の場合、R = 6400 kmに置き換えます。ちなみに、「haversine distance」(計算方法)ではなく「great circle distance」(それが何であるか)と呼びます。(これは、ピタゴラス距離とユークリッド距離の区別に似ています。)


推論に続いて、さらにLを代入し、Aのみが必要な見積もりを作成できます。
lynxlynxlynx13年

あなたは最終的に表現を詳しく説明できますか?このA ^ 3/24 * Rはどのように出てきましたか?
好奇心が強い14年

sin(x)= x-x ^ 3/6を使用してA smallのsin(A / 2)を展開すると、この結果が得られます。
cffk 14

5

完全で厳密な答えについては、上記のwhuberの答えご覧ください。より視覚的で基本的な方法で答えます。

平面/ピタゴラス計算が不適切な理由は、グラフのどこにいても、任意の方向に1ステップ移動すると大きさが一定に変化するという事実に基づいているためです。

プレーングラフ

経度はこの要件に適合していません。経度線は極で収束します。

収束を示すグローブ

そのため、平面グラフのルールを反映するように地球を平坦化すると、歪みが生じます。

メルカトル図法

この地図を見ると、グリーンランドはアフリカの大きさ、南極はユーラシアの大きさのように見えます。もちろん、そうではありません。グリーンランドと南極は、経度が収束する極に近いため、どちらも極端に歪んでいます。

北半球のグローブビュー

ご覧のとおり、グリーンランドはほぼメキシコのサイズです。

南半球グローブビュー

そして南極大陸は、南アフリカほどではありません(南アフリカではありません)。

エラーを見るとわかるように、ピタゴラスの式を適用すると、ポイント間の距離よりもポイントの位置に大きく依存します。距離を長くするとエラーが大きくなるという重要な注意事項があります。これが、平面ソリューションが魅力的である一方、貧弱な選択である理由です。歪みはあなたに噛みつき、それはオフセットほど簡単ではありません。エラーは、不適切なルールに適合するように地球をゆがめた結果です。


実際、表示しているのは異なるタイプのエラーです。正しく使用すると、ピタゴラスの定理は、現在の緯度線に沿った長さに基づいて経度距離を計算するため、を掛けcos(lat)ます。このように使用すると、距離が小さい場合でも、球体上のどこでも誤差は小さくなります(N極またはS極を通過する場合を除く)。表示されているのは、地球全体の投影の歪みであり、必然的に一部の地域が大きく歪んでいます。「発生するエラーは、距離よりも場所に依存します。」を使用する場合は当てはまりません* cos(lat)
ToolmakerSteve
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.