2016-11-29 6 views
0

나는 다양한 분리 거리에 걸쳐 Vincenty 공식과 haversine 공식의 효율성을 비교하고 있습니다. 나는 그들 사이의 오류율을 알고 싶다. 이것들을 계획 할 멋진 방법이 있습니까?Haversine과 Vincenty의 에러율

답변

0

저는 큰 원 거리와 측지 거리를 비교하고 싶다고 가정하고 있습니다. Haversine과 Vincenty는 이와 같은 거리를 계산하는 알고리즘 인 일 수 있습니다. 그러나 둘 다 몇 가지 제한에서 과도한 오류가 발생합니다. 내 대답은 Is the Haversine Formula or the Vincenty's Formula better for calculating distance?을 참조하십시오.

Matlab 패키지 geographiclib에서 측지선 거리에 대한 더 나은 알고리즘을 제공합니다. 이것은 타원체의 평평한면을 0으로 설정하면 정확하게 큰 원 거리를 제공합니다. 다음은 임의의 점 집합에 대한 상대 및 절대 오류 의 간단한 사용 예입니다. 이를 위해서는 내 패키지가 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'); 

내 대답은 How accurate is approximating the Earth as a sphere?입니다.