Mapping Toolbox | ![]() ![]() |
Compute great circle or rhumb line track defined by point, azimuth, and range
Syntax
[lattrk,lontrk] = track1(lat,lon,az) [lattrk,lontrk] = track1(track
,lat,lon,az...) [lattrk,lontrk] = track1(track
,lat,lon,az,units
) [lattrk,lontrk] = track1(track
,lat,lon,az,rng) [lattrk,lontrk] = track1(track
,lat,lon,az,rng,units
) [lattrk,lontrk] = track1(track
,lat,lon,az,rng,geoid) [lattrk,lontrk] = track1(track
,lat,lon,az,rng,geoid,units
) [lattrk,lontrk] = track1(track
,lat,lon,az,rng,geoid,units
,npts) pts = track1(lat,lon,az)
Background
A path along the surface of the Earth connecting two points is a track. Two types of track lines are of interest geographically, great circles and rhumb lines. Great circles represent the shortest possible path between two points. Rhumb lines are paths with constant angular headings. They are not, in general, the shortest path between two points.
Full great circles bisect the Earth; the ends of the track meet to form a complete circle. Rhumb lines with true east or west azimuths are parallels; the "ends" also meet to form a complete circle. All other rhumb lines terminate at the poles; their "ends" do not meet.
Description
[lattrk,lontrk] = track1(lat,lon,az) returns, in lattrk
and lontrk
, points along a complete (great circle) track passing through the point specified by lat
and lon
with an initial azimuth at that point of az
. When the inputs are column vectors, the successive tracks are stored in separate columns of lattrk
and lontrk
.
[lattrk,lontrk] = track1(track
,lat,lon,az) allows the specification of the track logic to be employed. A string track
of 'gc'
is the default, resulting in a great circle track. A track
of 'rh'
results in a complete rhumb line track.
[lattrk,lontrk] = track1(track
,lat,lon,az,units
) specifies the units of the inputs and outputs, where units
is any valid angle unit string. The default is 'degrees'
.
[lattrk,lontrk] = track1(track
,lat,lon,az,rng)
specifies the range of the track. rng
is a one- or two-column matrix. If rng
has one column, the track will extend from the point (lat,lon)
at an azimuth of az
for a distance rng
if rng
is positive, or at an azimuth az+180
º (or its angular equivalent) for a distance of abs(rng)
if rng
is negative. If rng
has two columns, the end points are defined as above. In this case, the segment extends from the point associated with the first column of rng
to the point associated with the second column. rng
is in units
(unless a geoid
is input). When no rng
is provided, or rng
is empty, a complete track is returned.
[lattrk,lontrk] = track1(track,lat,lon,az,rng,geoid,units
) specifies the elliptical definition of the Earth with a two-element geoid model vector geoid
. The default geoid is a spherical Earth, which is sufficient for most applications. If used, the units of the semimajor axis of the geoid vector define the units for the rng
input, overriding units
for this purpose.
[lattrk,lontrk] = track1(track
,lat,lon,az,rng,geoid,units
,npts)
specifies the number of points, npts, per output track. npts
is 100 by default.
pts = track1(lat,lon,az,...) combines the outputs into a single, two-column matrix pts
.
Examples
axesm('mercator','MapLatLimit',[-60 60],'MapLonLimit',[-60 60]) [lattrkgc,lontrkgc] = track1(0,0,45,[-55 55]); plotm(lattrkgc,lontrkgc,'g') [lattrkrh,lontrkrh] = track1('rh',0,0,45,[-55 55]); plotm(lattrkrh,lontrkrh,'r')
See Also
azimuth |
Azimuth between two points on the globe |
distance |
Distance between two points on the globe |
reckon |
New point with an azimuth and distance |
scircle1 scircle2 |
Small circle coordinates |
track |
Connect waypoints with track segments |
track2 |
Great circle or rhumb line defined by two points |
trackg |
Interactive tracks |
![]() | track | track2 | ![]() |