Sunday, April 14, 2013

Calculate distance between two lat long points on the Earth – Matlab


You can calculate the distance in Kilometers between two points on the Earth. It can be calculated with either Native functions of Matlab or with your own code using the spherical law of cosines.

Lets say, C is coordinate vector containing Latitudes and Longitudes of both points in degrees.
C=[ lat1, lon1, lat2, lon2]


Using native Matlab function:
distanceKM=deg2km(distance(C(1),C(2),C(3),C(4)))

Using the mathematical formula of spherical law of cosines. (The Earth’s radius is assumed to be 6778km)
distanceKM=6378.*deg2rad(acosd(sind(C(1)).*sind(C(3))+cosd(C(1)).*cosd(C(3)).*cosd(C(2)-C(4))))


There might be slight difference between the distances calculated using both formulas.
The distance is in KM, you may convert to different unit using simple conversions.

No comments:

Post a Comment