Haversine e Vincenty sono due algoritmi per risolvere diversi problemi . Haversine calcola la grande distanza del cerchio su una sfera mentre Vincenty calcola la distanza più breve (geodetica) sulla superficie di un ellissoide di rivoluzione. Quindi la risposta alla tua domanda può essere suddiviso in 2 parti :
- Vuoi calcolare la distanza su una sfera su un ellissoide?
- Quanto è accurato Haversine o Vincenty nel calcolare il problema dato?
Per le applicazioni terrestri, un ellissoide di rivoluzione è un'approssimazione ragionevole di a "livello medio del mare"; l'errore è & plusmn; 100 m. L'ingrandimento di questo ellissoide è piccolo, circa 1/300, quindi può essere approssimato da una sfera (di volume uguale, ad esempio).
Le distanze dei grandi cerchi differiscono dalle distanze geodetiche fino allo 0,5%. In alcune applicazioni, ad es. Qual è la distanza da Capo a Cairo ?, questo errore può essere trascurato. In altre applicazioni, ad esempio, che determina i confini marittimi , è troppo grande (è 5 m su una distanza di 1 km). In generale, sei più sicuro usando la distanza geodetica.
Se siete interessati è la distanza percorsa (in auto, in barca o aereo), ci sono un sacco di vincoli sulla strada intrapresa e né la grande cerchio o la distanza geodetica, che misurano la lunghezza dei percorsi più brevi su una superficie ideale, sarebbe appropriato.
Sulla questione se gli algoritmi sono precisi:
Haversine una precisione di arrotondamento meno che i punti sono quasi antipodi. Formule migliori sono fornite nello Wikipedia article on great-circle distances.
Vincenty è di solito una precisione di circa 0,1 mm. Tuttavia, se i punti sono quasi antipodi, l'algoritmo non riesce a convergere e l'errore è molto più grande. Fornisco un algoritmo migliore per risolvere il problema geodetico in Algorithms for geodesics. Vedi anche lo Wikipedia article on geodesics on an ellipsoid.
Risolvere il problema geodetica è più lenta di risolvere per il grande cerchio. Ma è ancora molto veloce (circa 1 μ s per il calcolo), in modo da questo non dovrebbe essere un motivo per preferire distanze grande cerchio.
ADENDUM
Here è il pacchetto Java che implementa il mio algoritmo per la ricerca di distanze geodetiche. A differenza del metodo di Vincenty, questo è accurato per arrotondare e convergere ovunque.
mia comprensione è che nella maggior parte delle applicazioni, la formula Haversine (che assume una terra sferica) offre una precisione sufficiente per i punti fino a diverse centinaia di miglia di distanza, mentre la formula di Vincenty (basato su una terra ellissoide) offre una precisione sufficiente per qualsiasi coppia di punti, e in particolare per i punti vicino agli antipodi. – njuffa