This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.


Point at specified azimuth, range on sphere or ellipsoid


[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,...)


[latout,lonout] = reckon(lat,lon,arclen,az), for scalar inputs, calculates a position (latout,lonout) at a given range, arclen, and azimuth, az, along a great circle from a starting point defined by lat and lon. lat and lon 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), where units is either 'degrees' or 'radians', specifies the units of the inputs and outputs, including arclen. The default value is 'degrees'.

[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid) calculates positions along a geodesic on an ellipsoid, as specified by ellipsoid. ellipsoid is a referenceSphere, referenceEllipsoid, or oblateSpheroid 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 the ellipsoid.

[latout,lonout] = reckon(lat,lon,arclen,az,ellipsoid,units) calculates positions on the specified ellipsoid with lat, lon, az, latout, and lonout in the specified angle units.

[latout,lonout] = reckon(track,...) calculates positions on great circles (or geodesics) if track is 'gc' and along rhumb lines if track is 'rh'. The default value is 'gc'.


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 =

% 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 =

% Convert answer to nautical miles.
nmsep = deg2nm(separation)  
nmsep =

Over 50 nautical miles separate the two points.

Introduced before R2006a

Was this topic helpful?