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
.ellipsoid
is areferenceSphere
,referenceEllipsoid
, oroblateSpheroid
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 inputunits
定义the angle units ofaz
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,
specifies both theunits
)ellipsoid
vector and the units ofaz
.
az = azimuth(
uses the inputtrack
,...)track
to 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 thetrack
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 thetrack
value 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
Algorithms
Alternatives
If you are calculating both the distance and the azimuth, you can call just thedistance
函数。函数返回的方位second output argument. It is unnecessary to callazimuth
separately.