Qual è l'errore approssimativo del teorema di Pitagora contro la formula di Haversine nella misurazione delle distanze sulla sfera su varie scale?


30

Molte persone quando provano per la prima volta a calcolare le distanze tra due coppie longitudine / latitudine chiedono se il teorema di Pitagora funziona come una funzione di distanza appropriata.

Molto spesso le persone rispondono "no, il teorema di Pitagora funziona solo su un piano euclideo 2D." Raramente, tuttavia, le persone menzionano l'effetto della scala e della posizione sulla sfera su quanto sia impreciso il teorema di Pitagora.

L'idea di base è su scale molto piccole, la superficie di una sfera assomiglia molto a un piano. A scale molto grandi, le distanze lungo la superficie sono più curve e quindi la differenza tra il teorema di Pitagora errato e la formula di Haversine corretta è maggiore.

Qualcuno conosce una formula o una regola empirica che ti dice la differenza tra le due misure di distanza in base alla scala della distanza che stai cercando di misurare?

Penso che avere questo esplicitamente aiuterebbe a:

  1. spiegare perché il teorema di Pitagora non è perfetto; e
  2. nel far sapere alle persone che cercano distanze più "aspre" quando Pitagora realizzerà effettivamente i loro scopi.

Risposte:


34

Usare la formula pitagorica su posizioni date in latitudine e longitudine ha poco senso come, diciamo, calcolare l'area di un cerchio usando la formula per un quadrato: sebbene produca un numero, non c'è motivo di supporre che dovrebbe funzionare.

Sebbene su piccola scala qualsiasi superficie liscia assomigli ad un piano, l'accuratezza della formula di Pitagora dipende dalle coordinate utilizzate. Quando quelle coordinate sono latitudine e longitudine su una sfera (o ellissoide), possiamo aspettarci che

  1. Le distanze lungo le linee di longitudine saranno ragionevolmente precise.

  2. Le distanze lungo l'equatore saranno ragionevolmente precise.

  3. Tutte le altre distanze saranno errate, in proporzione approssimativa alle differenze di latitudine e longitudine.

L'errore dipende dal punto iniziale e finale dei calcoli della distanza. Tuttavia, poiché sia ​​la sfera che l'ellissoide hanno una simmetria circolare attorno all'asse, l'errore dipende solo dalla differenza delle longitudini, quindi per studiare questo errore potremmo anche prendere il punto di origine per essere al Primo Meridiano. Poiché sia ​​la sfera che l'ellissoide sono simmetrici sotto una riflessione nord-sud, dobbiamo solo studiare i punti di origine nell'emisfero meridionale. Per tale punto possiamo disegnare una mappa di contorno dell'errore relativo, uguale a [calcolo pitagorico] / [distanza reale].

La formula di Pitagora, usando il raggio medio della terra, è

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

dove dx è la differenza di longitudini e dy è la differenza di latitudini, sia in gradi. (La differenza nei valori di longitudine è ridotta modulo 360 per dare il valore corretto di dx quando si attraversa l'antimeridiano; non farlo introdurrebbe errori artificialmente grandi che non ci dicono nulla della stessa formula pitagorica.)

I grafici seguenti mostrano l'errore relativo rispetto alla distanza corretta sull'ellissoide WGS 84 per latitudini da -70 a 0 con incrementi di 10 gradi. La coordinata orizzontale è la differenza in longitudini e la coordinata verticale è la latitudine della destinazione. Le regioni chiare presentano un errore relativamente piccolo: le linee di contorno sono 1, 1,01, 1,02, 1,05, 1,1, 1,2, 1,5, 2, ecc. (Le aree bianche pure negli angoli sono punti in cui l'errore va oltre l'intervallo di questi contorni .) I punti rossi mostrano il punto di origine.

Terreni

Le bande bianche verticali testimoniano la correttezza dell'aspettativa (1): le distanze pitagoriche sono precise quando c'è una piccola differenza nelle lunghezze. Le bande bianche orizzontali a basse latitudini confermano le aspettative (2): vicino all'equatore, le distanze orizzontali sono ragionevolmente precise. Altrimenti, come testimoniano le estese regioni più scure, a tutte le altre distanze la formula di Pitagora è cattiva.


Possiamo fare stime quantitative del massimoerrore raggiunto per coppie di punti vicini (entro, diciamo, a poche centinaia di chilometri l'uno dall'altro). La scala - usando un valore appropriato per il raggio - è vera lungo il meridiano, ma lungo un cerchio di latitudine erroneamente approssimativamente dal secante della latitudine. Ad esempio, a una latitudine di 40 gradi la secante è 1,31, il che implica che la formula di Pitagora fornirà distanze circa il 31% troppo grandi nella direzione est-ovest. (Ciò è evidente nel grafico di contorno in alto a destra, per un punto di origine a -40 gradi di latitudine, dove la regione immediatamente est-ovest del punto rosso si trova tra i contorni 1.2 e 1.5.) Le brevi distanze in tutte le altre direzioni saranno troppo grande di un certo importo tra lo 0% e il 31%; distanze più lunghe possono errare ancora di più (come mostrano i grafici di contorno).


1
C'è davvero bisogno di una funzionalità di "risposta preferita", per risposte come queste.
Devdatta Tengshe

2
@DevdattaTengshe: richiede esplicitamente che sia sano: "dove dx è la differenza di longitudini (espressa tra -180 e 180) e dy è la differenza di latitudini, sia in gradi".
lynxlynxlynx,

1
Questo è 2, poiché 2 * 179 è maggiore di 180?
lynxlynxlynx il

1
@whuber: lo so e tu lo sai, ma la maggior parte delle persone che cercano ciecamente di usare la geometria pitagorica / euclidea, non ci pensano nemmeno. Sarebbe utile se questo fatto (dovresti usare Mod 360) fosse presente nella tua risposta.
Devdatta Tengshe,

1
@ToolmakerSteve Va bene - uso spesso questa correzione - ma spero che il suo utente capisca che è un'approssimazione e per grandi distanze e alcune altre circostanze può essere lontano dal segno.
whuber

8

Ho interpretato la "distanza pitagonica" come "distanza euclidea". Quindi la risposta è la stessa di "qual è la differenza tra la lunghezza di un accordo di un cerchio e il perimetro sotteso?" Lascia che il raggio sia R, l'angolo sotteso è A (radianti).

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

Per la terra, sostituire R = 6400 km. A proposito, chiamalo "grande distanza del cerchio" (che cosa è) non "distanza haversine" (come viene calcolato). (Questo è simile alla distinzione tra distanza pitagorica e distanza euclidea.)


Seguendo il tuo ragionamento, puoi ulteriormente sostituire L e fare il preventivo richiede solo A.
lynxlynxlynx

Puoi elaborare l'espressione che finisci? Come è venuta fuori questa A ^ 3/24 * R?
curioso

Espandi sin (A / 2) per A piccolo, usando sin (x) = x - x ^ 3/6, e ottieni questo risultato.
Cffk,

5

Per una risposta completa e rigorosa, guarda la risposta di Whuber sopra. Ho intenzione di rispondere in un modo più visivo e di base.

Il motivo per cui i calcoli planari / pitagorici sono inappropriati è perché i calcoli si basano sul fatto che spostarsi di un passo in qualsiasi direzione è un cambiamento costante di grandezza indipendentemente da dove ci si trovi sul grafico.

grafico semplice

La longitudine non è conforme a questo requisito. Linee di longitudine convergono ai poli.

globo che mostra convergenza

Ecco perché quando appiattiamo la Terra per riflettere le regole di un grafico planare, otteniamo una distorsione.

Mappa di proiezione di Mercatore

Se guardi quella mappa, sembra che la Groenlandia abbia all'incirca le dimensioni dell'Africa e l'Antartide abbia le dimensioni dell'Eurasia. Certo che non è vero. La Groenlandia e l'Antartide sono entrambe estremamente distorte perché vicine ai poli in cui convergono la longitudine.

vista del globo dell'emisfero settentrionale

Come puoi vedere, la Groenlandia ha all'incirca le dimensioni del Messico.

vista guanto dell'emisfero sud

E l'Antartide ha le dimensioni dell'Africa meridionale (non del Sudafrica).

Come puoi vedere gli errori otterrai l'applicazione delle formule pitagoriche dipende più da dove si trovano i punti che dalla distanza tra i punti. Con l'importante avvertimento che le distanze più lunghe ingrandiranno eventuali errori. Ecco perché le soluzioni planari, sebbene allettanti, sono una scelta sbagliata. Le distorsioni ti mordono e non è semplice come un offset. Gli errori sono il risultato di deformare la terra per adattarsi a regole inadeguate.


In realtà, quello che stai mostrando è un diverso tipo di errore. Se usato correttamente, il teorema di Pitagora calcola la distanza della longitudine in base alla lunghezza lungo la linea di latitudine che ci si trova, quindi moltiplicata percos(lat) . Usati in questo modo, gli errori sono piccoli per le piccole distanze, ovunque su una sfera (tranne se passano il polo N o S). Ciò che stai mostrando è una distorsione di una proiezione di tutta la terra, dove inevitabilmente alcune regioni sono enormemente distorte. "gli errori che otterrai .. dipendono più da dove .. che dalla distanza" non è vero se lo usi * cos(lat).
ToolmakerSteve
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.