Mapping Toolbox    
ellipse1

Geographic ellipse defined by its center, semimajor axes, eccentricity and azimuth

Syntax

Description

[lat,lon] = ellipse1(lat0,lon0,ellipse) computes ellipses with a center at the point lat0, lon0. The ellipse is defined by the third input which of the form [semimajor-axis, eccentricity]. The lat0, lon0 inputs can be scalar or column vectors. The eccentricity input can be a 2-element row vector or a 2-column matrix. The ellipse input must have the same number of rows as the input lat0 and lon0. The input semimajor axis is in degrees of arc length on a sphere. All ellipses are oriented so that their semimajor axis lies due north.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset) computes the ellipses where the semimajor axis is rotated from due north by an azimuth offset. The offset angle is measure clockwise from due north. If offset=[], then no offset is assumed.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az) uses the input az to define the ellipse arcs computed. The arc azimuths are measured clockwise from due north. If az is a column vector, then the arc length is computed from due north. If az is a two column matrix, then the ellipse arcs are computed starting at the azimuth in the first column and ending at the azimuth in the second column. If az=[], then a complete ellipse is computed.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,geoid) computes the ellipse on the ellipsoid defined by the input geoid vector, of the form [semimajor-axis, eccentricity]. If omitted, the unit sphere, geoid=[1 0], is assumed. When a geoid is supplied, the input semimajor axis must be in the same units as the geoid semimajor axes. In this calling form, the units of the ellipse semimajor axis are not assumed to be in degrees.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,units), [lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,units), and [lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,geoid,units) are all valid calling forms, which use the input units to define the angle units of the inputs and outputs. If omitted, 'degrees' are assumed.

[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,geoid,units,npts) uses the input npts to determine the number of points per ellipse computed. The input npts is a scalar, and if omitted, npts=100.

[lat,lon] = ellipse1(track,...) uses the track string to define either a great circle or rhumb line distances from the ellipse center. If track = 'gc', then great circle distances are computed. If track = 'rh', then rhumb line distances are computed. If omitted, 'gc' is assumed.

mat = ellipse1(...) returns a single output argument where mat=[lat lon]. This is useful if only one ellipse is computed.

Example

Create and plot the small ellipse centered at (0°,0°), with a semimajor axis of 10° and a semiminor axis of 5°.

If the desired radius is known in some non-angular distance unit, use the radius returned by the almanac function as the geoid input to set the range units (use an empty azimuth entry to specify a full ellipse).

For just an arc of the ellipse, enter an azimuth range:

Remarks

This function extends the concept of the small circle, which is the locus of all points at an equal surface distance, to a 'small ellipse'. The small ellipse is constructed by computing the locus of points for which the distance from the center point varies as the parametric description of the ellipse.

Multiple circles can be defined from a single starting point by providing scalar lat0, lon0 inputs and a 2 column matrix for the ellipse definitions.

See Also
scircle1
Small circle defined by its center, range and azimuth
track1
Track lines defined by starting point, azimuth and range
axes2ecc
Computes eccentricity given semimajor, semiminor axes


  elevation encodem