Trovare la distanza tra due coordinate in ellissoide?


18

Ho due serie di latitudine e longitudine.

Come trovo la distanza tra le due posizioni se suppongo che la terra sia un ellissoide perfetto (con un'eccentricità di 0,0167)?

Risposte:


16

1
Le formule in quella pagina sembrano ignorare l'eccentricità. Presumono che la terra sia una sfera e non un ellissoide.
— Jon Bringhurst,

Precedentemente ho sempre usato una libreria che aveva delle distanze note tra alcuni punti lat long impostati, quindi eseguivo la media per calcolare la distanza di tutti i punti sconosciuti. Chiederò ad alcune persone di questo.
— Wallbasher,

Ah, il secondo link sembra avere la formula giusta. Grazie!
— Jon Bringhurst,

1
Grazie per la tua risposta @Wallbasher. Tuttavia, sarebbe meglio se le risposte potessero resistere da sole. Sarebbe di grande aiuto pubblicare anche la formula pertinente con la risposta.
— RK

7

Quindi conosci le tue due latitudini e longitudini, diciamo

Puoi calcolare le coordinate cartesiane per ciascuna:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

E quindi calcola la grande distanza del cerchio tra i due usando:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Questo approccio semplificato consente il pre-calcolo dei valori x, y e z, che possono essere archiviati insieme in un database per query efficienti "punti entro x miglia".

Ovviamente, questo presuppone una sfera perfetta, e la Terra non è nemmeno un perfetto elissoide, quindi la precisione sarà solo di pochi metri.


1
Avevo intenzione di sottolineare anche la "cosa sfera perfetta". Dovresti essere consapevole che questo metodo ti darà vari gradi di precisione a seconda di dove ti trovi sul globo.
— TroutSlayer

@TrotuSlayer è generalmente abbastanza buono per la maggior parte delle applicazioni e c'è sempre un compromesso tra velocità e precisione. Se devi essere più preciso, è il momento di estrarre la ruota a rotelle o ricorrere a ipotesi che la Terra sia piatta per la tua area e le distanze 2D sono sufficienti.
— Rowland Shaw,

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.