az = azimuth(lat1,lon1,lat2,lon2) az = azimuth(lat1,lon1,lat2,lon2,ellipsoid) az = azimuth(lat1,lon1,lat2,lon2,units) az = azimuth(lat1,lon1,lat2,lon2,ellipsoid,units) az = azimuth(track,...)

Description

az = azimuth(lat1,lon1,lat2,lon2) calculates
the great circle azimuth from point 1 to point 2, for pairs of points
on the surface of a sphere. The input latitudes and longitudes can
be scalars or arrays of matching size. If you use a combination of
scalar and array inputs, the scalar inputs will be automatically expanded
to match the size of the arrays. The function measures azimuths clockwise
from north and expresses them in degrees or radians.

az = azimuth(lat1,lon1,lat2,lon2,ellipsoid) computes
the azimuth assuming that the points lie on the ellipsoid defined
by the input ellipsoid. ellipsoid is
a referenceSphere, referenceEllipsoid, or oblateSpheroid object, or a vector
of the form [semimajor_axis eccentricity]. The
default ellipsoid is a unit sphere.

az = azimuth(lat1,lon1,lat2,lon2,units) uses
the input string units to define the angle
units of az and the latitude-longitude coordinates.
Use 'degrees' (the default value), in the range
from 0 to 360, or 'radians', in the range from
0 to 2*pi.

az = azimuth(lat1,lon1,lat2,lon2,ellipsoid,units) specifies
both the ellipsoid vector and the units of az.

az = azimuth(track,...) uses
the input string track to specify either
a great circle or a rhumb line azimuth calculation. Enter 'gc' for
the track string (the default value), to
obtain great circle azimuths for a sphere or geodesic azimuths for
an ellipsoid. (Hint to remember string name: the letters "g"
and "c" are in both great circle and geodesic.) Enter 'rh' for
the track string to obtain rhumb line azimuths
for either a sphere or an ellipsoid.

Examples

Find the azimuth between two points on the same parallel, for
example, (10ºN, 10ºE) and (10ºN, 40ºE). The azimuth
between two points depends on the track string
selected.

% Try the 'gc' track string.
az = azimuth('gc',10,10,10,40)
% Compare to the result obtained from the 'rh' track string.
az = azimuth('rh',10,10,10,40)

Find the azimuth between two points on the same meridian, say
(10ºN, 10ºE) and (40ºN, 10ºE):

% Try the 'gc' track string.
az = azimuth(10,10,40,10)
% Compare to the 'rh' track string.
az = azimuth('rh',10,10,40,10)

Rhumb lines and great circles coincide along meridians and the
Equator. The azimuths are the same because the paths coincide.

Alternatives

If you are calculating both the distance and the azimuth, you
can call just the distance function. The function
returns the azimuth as the second output argument. It is unnecessary
to call azimuth separately.

An azimuth is the angle at which a smooth
curve crosses a meridian, taken clockwise from north. The North Pole
has an azimuth of 0º from every other point on the globe. You
can calculate azimuths for great circles or rhumb lines.

A great circle is a type of geodesic that
lies on a sphere. It is the intersection of the surface of a sphere
with a plane passing through the center of the sphere. For great circles,
the azimuth is calculated at the starting point of the great circle
path, where it crosses the meridian. In general, the azimuth along
a great circle is not constant.

A rhumb line is a curve that crosses each
meridian at the same angle. For rhumb lines, the azimuth is the constant angle
between true north and the entire rhumb line passing through the two
points.

Azimuth calculations for geodesics degrade slowly with increasing
distance and can break down for points that are nearly antipodal or
for points close to the Equator. In addition, for calculations on
an ellipsoid, there is a small but finite input space. This space
consists of pairs of locations in which both points are nearly antipodal and both
points fall close to (but not precisely on) the Equator. In such cases,
you will receive a warning and az will be set to
NaN for the "problem pairs."

Eccentricity

Geodesic azimuths on an ellipsoid are valid only for small eccentricities
typical of the Earth (for example, 0.08 or less).