calculate distance with latitude and longitude

55 views (last 30 days)
i have some netcdf files. how do i calculate the distance between two points and between two areas within a grid having the latitude and longitude values?

Accepted Answer

William Rose
William Rose on 3 May 2021
I assume you know the standard formula for distance betwen two points whose longitudes () and latitudes () are given.
where r is the Earth radius.
I don't know what you mean by "distance between two areas within a grid". Can you clarify, please?
William Rose
William Rose on 3 May 2021
Edited: William Rose on 3 May 2021
@ELISABETTA BILLOTTA, Yes, inverse cosine is called acos() in Matlab.
The units of the answer will equal the units used for the radius of the sphere. To get the distance in km, use r=6371 km.
Remember to convert all latitudes and longitudes to radians before computing their sine or cosine.
The Earth is not really a sphere. It is approximately a flattened ellipsoid. The equatorial radius is about 0.3% larger than the polar radius. The radius value above is an average which gives a sphere with approximately the same surface area and volume as the real Earth.
A formula for distance between two points, that accounts for the Earth's ellipsoidal shape, is more complicated. The differences in distances between the spherical and ellipsoidal Earth models are less than 0.2% in the worst case, and usually a lot less than that. Therefore I would go with the formula above.

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!