Main Content

azimuth

Azimuth between points on sphere or ellipsoid

Syntax

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 inputellipsoid.ellipsoidis areferenceSphere,referenceEllipsoid, oroblateSpheroidobject, 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 inputunits定义the angle units ofazand 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 theellipsoidvector and the units ofaz.

az = azimuth(track,...)uses the inputtrackto specify either a great circle or a rhumb line azimuth calculation. Enter'gc'for thetrack(the default value), to obtain great circle azimuths for a sphere or geodesic azimuths for an ellipsoid. (Hint to remember name: the letters “g” and “c” are in both great circle and geodesic.) Enter'rh'for thetrackto 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 thetrackvalue selected.

% Try the 'gc' track value. az = azimuth('gc',10,10,10,40) % Compare to the result obtained from the 'rh' track value. 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 . az = azimuth(10,10,40,10) % Compare to the 'rh' track . 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.

More About

collapse all

Azimuth

Anazimuthis 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.

Geodesic

Ageodesicis the shortest distance between two points on a curved surface, such as an ellipsoid.

Great Circle

Agreat circleis 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. For more information, seeGreat Circles.

Rhumb Line

Arhumb lineis a curve that crosses each meridian at the same angle. For rhumb lines, the azimuth is theconstantangle between true north and the entire rhumb line passing through the two points. For more information, seeRhumb Lines.

Algorithms

collapse all

Azimuths over Long Geodesics

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 antipodalandboth points fall close to (but not precisely on) the Equator. In such cases, you will receive a warning andazwill 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).

Alternatives

If you are calculating both the distance and the azimuth, you can call just thedistance函数。函数返回的方位second output argument. It is unnecessary to callazimuthseparately.

Version History

Introduced before R2006a