Main Content

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 bylatandlon.latandlonare in degrees.arclenmust 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.reckoncalculates 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), whereunitsis 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.ellipsoidis areferenceSphere,referenceEllipsoid, oroblateSpheroidobject, 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, andlonoutin the specified angle units.

[latout,lonout] = reckon(track,...)calculates positions on great circles (or geodesics) iftrackis'gc'and along rhumb lines iftrackis'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.

Version History

Introduced before R2006a