# What is the right solution (and map projection) to compute distances between points located all over the World?

After my study on map projection I realized that it is very difficult to choose a projection that allows to compute simultaneously the distances between a great deal of points if these points are located all over the world. Equidistant projections allows only to compute distance between couple of points. Then I decided to use the following solution. My data set can be split in smaller datasets:

1. United States territory;
2. the whole EURASIA;
3. the territory encompassing the African continent and the Europe.

In ArcGIS 9.3 (ArcInfo license) I projected each dataset with the Lambert Azimuthal Equal Area projection properly “centered” for each case. For each dataset I loaded a new layer with the Tissot's Indicatrix shapefile and computed the areas of each ellipse. I considered as "not distorted" (as regards the area, and the distances) all that territories over which the ellipses’ areas do not differ more than the 5% from the ellipse nearest to the center of the projection and when the ellipses' shape do not reasonably differ from a circular one. After having seen that my points were enclosed in this “not distorted” territory, I computed the point distance. Do you think my procedure was reasonably correct or have some advice about a better map projection for my purpose?

• Many thanks for the useful answers! I found the package SDMTools, running under “R”, to compute easily distances by using the Vincenty Formula – e-falcon Jan 30 '11 at 9:34

If you're only concerned with calculating distances between two points on the Earth's surface, you don't really need to work this out through maps and map projections.

What you need is a formula for calculating geographical distances: http://en.wikipedia.org/wiki/Geographical_distance

If you need high accuracy, look for http://en.wikipedia.org/wiki/Geographical_distance#Ellipsoidal-surface_formulae

Why try to project the data?

As mentioned in other answers there is mathematics to calculate distances on the speriod (I guess there is in ArcGIS too).

In PostGIS you have two choices. Use the geography data type and you can use all those functions (chapter 8.3). Note the ST_Distance function working against geography type. Your other option is to use the geometry type and use the special ST_Distance_Sphere or ST_Distance_Spheroid function.

/Nicklas

Check out Haversine's formula. If you Google around a bit, you can find implementations in several languages (Javascript,C#,Python...etc).