How do I find the distance between two points on Earth's surface?

This question is of interest if you need to know the distance between two observing sites, for example. In my own work, the question came up recently when I needed to know the distance between two instruments that were measuring insolation (total solar energy arriving at a horizontal surface on the ground) at sites separated by several kilometers.

If you assume that Earth is a round sphere with a flat surface, you can use basic spherical trigonometry equations to calculate the "great circle" distance along Earth's surface between any two points. If the sites are not just at different longitudes and latitudes, but also at different elevations, this adds a variable that the smooth spherical Earth model ignores. However, in most cases this won't be a serious problem.

Look here for the equations and an online JavaScript applet that will do distance calculations.

The accuracy of this calculation depends on the accuracy of the longitude and latitude coordinates. Earth's circumference is about 40,000 km. So 1° of longitude at the equator, or 1° of latitude, is about 40,000/360 = 110 km. So, if you know a site's latitude to only the nearest degree, you know its north-south location only to within about 100 km. If you know latitude to the nearest one-thousandth of a degree, xx.xxx, you know its north-south distance to within about 100 m; for the nearest one-ten-thousandth of a degree, xx.xxxx, to within about 10 m. Longitude and latitude coordinates from modern GPS receivers (but not necessarily the elevation) should always be accurate to at least 10 m.

The distance between two points at different longitudes but the same latitude decreases as the cosine of the latitude. 1° is 110 km at the equator, but at a latitude of 60°, 1° of longitude corresponds to about 110•cos(60°) = 110•0.5 = 55 km.