reckon
Point at specified azimuth, range on sphere or ellipsoid
Syntax
[latout,lonout] = reckon(lat,lon,arclen,az)
[latout,lonout] = reckon(lat,lon,arclen,az,units)
[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid)
[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid,units)
[latout,lonout] = reckon(track,...)
Description
[latout,lonout] = reckon(lat,lon,arclen,az)
为标量的输入,计算a position (latout,lonout
) at a given range,arclen
, and azimuth,az
, along a great circle from a starting point defined bylat
andlon
.lat
andlon
are in degrees.arclen
must be expressed as degrees of arc on a sphere, and equals the length of a great circle arc connecting the point (lat
,lon
) to the point (latout
,lonout
).az
, also in degrees, is measured clockwise from north.reckon
calculates multiple positions when given four arrays of matching size. When given a combination of scalar and array inputs, the scalar inputs are automatically expanded to match the size of the arrays.
[latout,lonout] = reckon(lat,lon,arclen,az,units)
, whereunits
is either'degrees'
or'radians'
, specifies the units of the inputs and outputs, includingarclen
. The default value is'degrees'
.
[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid)
calculates positions along a geodesic on an ellipsoid, as specified byellipsoid
.ellipsoid
is areferenceSphere
,referenceEllipsoid
, oroblateSpheroid
object, or a vector of the form[semimajor_axis eccentricity]
. The range,arclen
, must be expressed same unit of length as the semimajor axis of theellipsoid
.
[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid,units)
calculates positions on the specified ellipsoid withlat
,lon
,az
,latout
, andlonout
in the specified angle units.
[latout,lonout] = reckon(track,...)
calculates positions on great circles (or geodesics) iftrack
is'gc'
and along rhumb lines iftrack
is'rh'
. The default value is'gc'
.
Examples
Find the coordinates of the point 600 nautical miles northwest of London, UK (51.5ºN,0º) in a great circle sense:
% Convert nm distance to degrees. dist = nm2deg(600) dist = 9.9933 % Northwest is 315 degrees. pt1 = reckon(51.5,0,dist,315) pt1 = 57.8999 -13.3507
Now, determine where a plane from London traveling on a constant northwesterly course for 600 nautical miles would end up:
pt2 = reckon('rh',51.5,0,dist,315) pt2 = 58.5663 -12.3699
How far apart are the points above (distance in great circle sense)?
separation = distance('gc',pt1,pt2) separation = 0.8430 % Convert answer to nautical miles. nmsep = deg2nm(separation) nmsep = 50.6156
Over 50 nautical miles separate the two points.