Problem calculating haversine. Obtained distance is too big
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jaime De La Mota Sanchis
le 13 Mar 2021
Réponse apportée : Jaime De La Mota Sanchis
le 14 Mar 2021
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 commentaires
Réponses (1)
Voir également
Catégories
En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!