How To Calculate Distances, Azimuths and Elevation Angles Of Peaks

   Symbols Used
Elevation Angles

The calculated parameters of typical peaks that can be seen from a number of the peaks in the SGM are given in a separate table.


It is often amazing to people that the curvature of the Earth shows up very clearly in the observed elevation angles of peaks. For example, Mt. San Gorgonio, Southern California's highest mountain at 11,490', loses 5000' of its apparent height when viewed at a distance of 87 miles, nearly halving the observed angle compared to the angle calculated assuming that the Earth is flat.

Of course, this is true for any point on the Earth's surface observed at a distance of 87 miles. This elevation angle loss has nothing to do with the observed point or observer, and depends only on the distance between the two points and the curvature of the Earth's surface.

This is precisely one of the classic proofs that the Earth is spherical, which is usually cast in the form that ships sailing away at sea eventually disappear below the horizon. However, it is much easier to observe this effect using a distant tall peak than using a much smaller ship that is much closer to you when it disappears.

An analogy that might help is to imagine that you are at a "peak" on the edge of a giant coin. Now imagine that you stay in the same place, but someone rotates the coin beneath you. As the coin rotates, at first the only change is that the peak appears smaller as it gets farther away. However, as the peak gets far enough away so that the curvature of the coin's edge is important, the peak also begins to drop below your horizon.

As you can see from the example of Mt. San Gorgonio observed at a distance of 87 miles, if you ignored the curvature of the Earth you would calculate an elevation angle that would be too large by nearly a factor of two. It is easy in Southern California to observe peaks at such distances. For example, the distance between San Jacinto and Mt. Wilson is 84 miles, and the elevation of San Jacinto as observed from Mt. Wilson turns out to be exactly 0.0° (ignoring atmospheric refraction - see below). The curvature of the Earth has exactly compensated for the increase in altitude of San Jacinto (10,804') over that of Mt. Wilson (5,710'). So instead of looking up to see San Jacinto from Mt. Wilson, one actually looks exactly along a level line.

This page gives the formulae needed to calculate the observed elevation angles of a peak observed from another location, accounting for the curvature of the Earth and atmospheric refraction. The calculated parameters of typical peaks that can be seen from a number of the peaks in the SGM are given in a separate table.

Atmospheric refraction makes the elevation angles of distant peaks slightly larger. This is the same effect that causes the sun or stars to actually appear 0.5° above the horizon when they in actuality have just set below the horizon. This effect causes daylight to be ~4 minutes longer at most latitudes than it would be if the Earth did not have an atmosphere.

Atmospheric refraction is caused by the varying density of air with height. It turns out that atmospheric refraction is roughly a 10% correction to the Earth curvature term, and hence is negligible most of the time. Typically, atmospheric refraction makes the observed angle larger by 0.1° at most, which is small compared to the typical variation of 1-2° in observed elevation angles. This is much smaller than the maximum of 0.5° for the sun and stars since those light rays correspond to paths from outside the Earth's atmosphere to the Earth's surface, instead of "peak-observing" paths that stay within approximately the same layer of the Earth's atmosphere.

I also give the formulae for distances and azimuths.

The azimuth of one peak relative to another has the interesting property that the angle between the two azimuths is not exactly 180° as would be expected using planar geometry, although the differences are usually quite small.

In all of the following, I will assume that we are observing a peak with (latitude, longitude, elevation) of (lat2, lon2, elev2) from a peak with (lat1, lon1, elev1). The formulae will assume that north latitudes and west longitudes are of positive sign, with south latitudes and east longitudes of negative sign. Remember to use consistent units: many spreadsheets assume radians for angular measure, so angles in degrees must be converted to radians before calculating trigonometric functions. The USGS Geographic Names Information System returns coordinates in degrees, minutes and seconds without units explicitly given (dddmmss), which generally need to be converted to decimal degrees before calculational use.

Here are the symbols used below, and what they mean:


ddistance in miles between the two peaks
phiazimuthal angle (in degrees, with 0° = north, 90° = east, 180° = south and 270° = west)
lambdaelevation angle (in degrees, measured relative to the local horizon, with positive values above the horizon)
Rradius of the Earth in miles (taken to be 3956 miles, the average of the polar and equatorial radii)
cos(x)The cosine function for an angle x. (For a right triangle, the adjacent side over the hypotenuse.)
sin(x)The sine function for an angle x. (For a right triangle, the opposite side over the hypotenuse.)
arcsin(x)The arcsine function, producing the angle whose sine has the value x.
min(x,y)The minimum function, selecting the minimum value of x and y. Thus min(2,3) = 2.
x^yThe number x raised to the power of y. Thus 2^4 = 16.
IF x, z=yIf the statement x is true, then set z equal to y. Otherwise, take no action.

In order to check your implementation of these formula, I give the example of observing Mt. Baldy at (34.28889°; 117.6458°; 10,064') from Mt. Wilson at (34.22389°; 118.0603°; 5,710'). Those coordinates are in decimal degrees. If you would like it, here is a link to my excel97 spreadsheet that calculated the parameters in the table.


The straightforward formula computed by spherical trigonometry for the distance along a great circle between two points on a sphere is not the best formula to use computationally due to a loss of precision in some circumstances. A better formula for the distance d is given by R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159, which I obtained from the excellent webpage The Geographic Information Systems FAQ:

dlon = lon2 - lon1
dlat = lat2 - lat1
a = { sin(dlat/2) }^2 + [ cos(lat1) * cos(lat2) * { sin(dlon/2) }^2 ]
c = 2 * arcsin(min(1,sqrt(a)))
d = R * c

c is the great circle distance in radians. For our example, the distance is 24.1 miles.

Technically, d is the distance along the surface of the Earth between the points at sea level below each of the peaks and not the straight-line distance between the peaks. The difference between the straight-line distance between the two sea level points and the distance along the surface of the Earth between those two points is: (d/24) * (d/R)^2.

For the maximum distance of 200 miles that one might see a peak, the difference is 0.02 miles, so can be neglected.

Similarly, the difference between the actual great circle distance between two peaks of elevation each of h miles and the great circle distance between the sea level points underneath the two peaks is:

h * (d/R).

A reasonable maximum value, for peaks each 6 miles high at a distance of 200 miles, the difference is 0.3 mile, and so again can be neglected.


The formula from spherical trigonometry for the azimuth angle between two peaks is, for starting points other than the poles:

x = acos( {sin(lat2) - sin(lat1)*cos(c) } / {sin(c)*cos(lat1)} )

IF sin(lon2-lon1) < 0, phi = x

IF sin(lon2-lon1) > 0, phi = 2*pi - x

See another excellent webpage: Aviation Formulary V1.24.

For our example, the azimuth is 79.1°. Since 90° is due east, you would look 10.9° north of due east to find Baldy. If you wanted to see Mt. Wilson from Baldy, you would look at an azimuth approximately 180° different. The actual azimuth is 259.4°, 0.3° different from exactly 180° difference. Since 270° is due west, you would look 10.6° south of due west to see Mt. Wilson from Baldy.

Elevation Angles

Assume for a moment that all distances are measured in the same units (heights in miles, distances in miles). If the Earth were planar, the elevation angle would be:

lambda = asin{ (elev2 - elev1) / d }

However, because the Earth is spherical, the farther away a peak, the lower it is since the Earth curves below the local horizon plane. (The local horizon plane is a plane that is tangent to the Earth at the observer's location. It can also be defined as the set of directions defined by a level turned to cover all azimuths.)

To a good approximation, the apparent drop in height with distance is:

d^2 / (2*R).

The angular drop in radians is:

d / (2*R),

using the approximation that for small angles, the asin can be approximated by the angle itself in radians. Hence for large distances, the observed elevation angle is:

lambda = (180/pi) * [ (elev2 - elev1) / d - d / (2*R) ]

where the 180/pi converts radians to degrees.

Restoring the units assumed above (elevation in feet, distances in miles), the elevation angle is:

lambda = (180/pi) * [ (elev2-elev1) / (5280*d) - d / (2*3956) ]

For our example, lambda is 1.79°.

Note that the angles between two peaks are not symmetric due to the distance term. Hence the elevation angle of Mt. Wilson from Baldy is -2.14°, not -1.79°.

Atmospheric refraction is a much more complicated term, which depends on the altitudes of the observer and the observed peak, the precise atmospheric conditions, including atmospheric pressure, temperature, and water vapor content, and thus varies with time (see the detailed formula). Fortunately, the effect of refraction is small.

In our example, the elevation angle of Baldy from Mt. Wilson is increased by 0.02° to 1.81° assuming typical atmospheric conditions.

In the tables, I have included the atmospheric refraction typical of an altitude of 6000' with a normal temperature gradient of -6.5° C./km. No elevation angle was changed by more than 0.1° by this term.

Larry Scott wrote that he surveyed San Gorgonio Peak "by phase differential gps and simultaneous reciprocal vertical angles from Banning, in 1990. The peak is 11,501.5 feet by trig leveling AND differential gps. The vertical angle shots was accompanied with RangeMaster EDM distance. Direct observation from valley to peak 63K feet. The county surveyor of San Bernardino filed it as a record of survey."

Go to:

Copyright © 1998-2022 by Tom Chester.
Permission is freely granted to reproduce any or all of this page as long as credit is given to me at this source:
Comments and feedback: Tom Chester
Last update: last major change to page on 18 April 1999; url for usgs name server and gis faq updated 14 July 2005; typo in lambda equation corrected 14 December 2001; clarification added on 18 May 1999; typo in example result for lambda corrected 26 June 2017; addition of Larry Scott's comment on 17 December 2018; typo in equation for x (d was used instead of c), noticed by Alex Scarbro, corrected on 31 March 2022).