Problem calculating haversine. Obtained distance is too big
    8 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello everyone. I am working in airplane conflic detection. I have two aircraft optimized routes and I need to know the distance between them. The trajectories are given in degrees. I have tried to use the haversine  to calculate the distance between each trajectory points as
RT=6378*1000;
haversine_angle=(sin((meanPhi2-meanPhi1)/2)).^2+cos(meanPhi1).*cos(meanPhi2).*(sin((meanLam2-meanLam1)/2)).^2;
haversine_sqrt=(haversine_angle).^0.5;
haversine_mean_distance_alternative =RT.*asin(haversine_sqrt);
figure
plot(meanTim2, haversine_mean_distance_alternative, 'b')
When I execute the code, I obtain the results displayed in figure 1. 

However, if I calculate the distance between the starting points, it is way smaller that the one displayed in the figure 1. 

I don't know what I am doing wrong in my calculation. As far as I see, I have implemented everything well. Also, note that if I use radians in the angles as 
meanLam1=deg2rad(meanLam1);
meanLam2=deg2rad(meanLam2);
meanPhi1=deg2rad(meanPhi1);
meanPhi2=deg2rad(meanPhi2);
The distance is 

Which still doesn't look like the one in the map.
Can someone help me?
Regards.
Jaime.
I am also attaching the files which contain the trajectories of both airplanes and the time (which is the same for both airplanes)
0 件のコメント
回答 (1 件)
参考
カテゴリ
				Help Center および File Exchange で Quadcopters and Drones についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
