2016-11-29 2 views
0

Je compare l'efficacité des formules de Vincenty et la formule de la haversine sur différentes distances de séparation. Je voudrais connaître les taux d'erreur entre eux. Y a-t-il un moyen cool de tracer ces derniers?Taux d'erreur entre Haversine et Vincenty

Répondre

0

Je suppose que vous voulez vraiment comparer les distances de grand cercle avec les distances géodésiques . Haversine et Vincenty sont des algorithmes pour calculant de telles distances; Cependant, les deux entraînent des erreurs excessives dans certaines limites. Voir ma réponse au Is the Haversine Formula or the Vincenty's Formula better for calculating distance?.

Je fournis un meilleur algorithme pour les distances géodésiques dans le package Matlab geographiclib. Cela fournit également des distances précises de grand cercle si l'aplatissement de l'ellipsoïde est mis à 0. Voici une illustration simple de son utilisation traçant l'erreur relative et absolue pour un ensemble aléatoire de points. Cela nécessite que mon paquet soit sur votre chemin Matlab .

num = 100000; 
lat1 = asind(2*rand(num,1)-1); 
lat2 = asind(2*rand(num,1)-1); 
lon1 = 180*(2*rand(num,1)-1); 
lon2 = 180*(2*rand(num,1)-1); 
wgs84 = defaultellipsoid; 
a = wgs84(1); 
b = a * (1 - ecc2flat(wgs84(2))); 
sphere = [(2*a + b)/3, 0]; 
[s12s, azi1s, azi2s] = geoddistance(lat1,lon1,lat2,lon2, sphere); 
[s12e, azi1e, azi2e] = geoddistance(lat1,lon1,lat2,lon2, wgs84); 
erra = (s12s - s12e); 
errr = 100 * erra ./ s12e; 
figure(1); plot(s12e, abs(errr), 'x'); 
figure(2); plot(s12e, abs(erra), 'x'); 

Vous pouvez également regarder ma réponse à How accurate is approximating the Earth as a sphere?.