Skip To Content ArcGIS for Developers Sign In Dashboard

GeodesicEllipseParameters Class

(Esri::ArcGISRuntime::GeodesicEllipseParameters)

Parameters for the GeometryEngine::ellipseGeodesic method. More...

Header: #include <GeodesicEllipseParameters>
Since: Esri::ArcGISRuntime 100.0

Public Functions

GeodesicEllipseParameters()
GeodesicEllipseParameters(const Point &center, double semiAxis1Length, double semiAxis2Length)
GeodesicEllipseParameters(double axisDirection, const AngularUnit &angularUnit, const Point &center, const LinearUnit &linearUnit, unsigned int maxPointCount, double maxSegmentLength, GeometryType geometryType, double semiAxis1Length, double semiAxis2Length)
GeodesicEllipseParameters(const GeodesicEllipseParameters &other)
GeodesicEllipseParameters(GeodesicEllipseParameters &&other)
~GeodesicEllipseParameters()
AngularUnit angularUnit() const
double axisDirection() const
Point center() const
GeometryType geometryType() const
LinearUnit linearUnit() const
unsigned int maxPointCount() const
double maxSegmentLength() const
double semiAxis1Length() const
double semiAxis2Length() const
void setAngularUnit(const AngularUnit &angularUnit)
void setAxisDirection(double direction)
void setCenter(const Point &center)
void setGeometryType(GeometryType type)
void setLinearUnit(const LinearUnit &linearUnit)
void setMaxPointCount(unsigned int count)
void setMaxSegmentLength(double length)
void setSemiAxis1Length(double length)
void setSemiAxis2Length(double length)
GeodesicEllipseParameters &operator=(const GeodesicEllipseParameters &other)
GeodesicEllipseParameters &operator=(GeodesicEllipseParameters &&other)

Detailed Description

Parameters for the GeometryEngine::ellipseGeodesic method.

GeodesicEllipseParameters contains:

  • The desired type of output geometry: Multipoint, Polygon or Polyline.
  • The center point, which contains its spatial reference.
  • The length of the semi-major and semi-minor axes.
  • The linear unit used for lengths.
  • The direction of the semi-major axis (in angularUnit).
  • The number of vertices in the ellipse.

When creating a polygon or a polyline, the result may have more than one path, depending on the size of the ellipse and its position relative to the horizon of the coordinate system. When creating a polygon, the interior of the polygon is the interior of the ellipse, however, the boundary of the polygon may contain segments from the spatial reference horizon, or from the GCS extent. For example, an ellipse that spans the 180-degree meridian of the WGS-84 coordinate system will have two parts.

The ellipse is generalized based on maxSegmentLength. The ellipse is created with a minimum of 10 vertices.

When specifying the lengths of the semi-major and semi-minor axes, the larger value is considered to be the semi-major axis length.

You can create a geodesic circle if the semiAxis1Length and semiAxis2Length are the same, or by setting semiAxis1Length to a valid length and setting semiAxis2Length to zero.

If you specify zero for the length of both axis, the return geometry is:

  • For Multipoint: the center point.
  • For Polyline or Polygon: an empty geometry.

Member Function Documentation

GeodesicEllipseParameters::GeodesicEllipseParameters()

Default constructor.

GeodesicEllipseParameters::GeodesicEllipseParameters(const Point &center, double semiAxis1Length, double semiAxis2Length)

Constructor that takes several arguments.

  • center - The center point of the ellipse.
  • semiAxis1Length - The length of either the semi-major or the semi-minor axis of the ellipse in meters.
  • semiAxis2Length - The length of the other axis in meters.

When using this constructor, the created parameter set has the following default values:

PropertyValue
linearUnitmeters
angularUnitdegrees
axisDirection0
geometryTypeEsri::ArcGISRuntime::Polygon
maxSegmentLength2 * pi * major_axis_length / 360
maxPointCount65526

This function was introduced in Esri::ArcGISRuntime 100.3.

GeodesicEllipseParameters::GeodesicEllipseParameters(double axisDirection, const AngularUnit &angularUnit, const Point &center, const LinearUnit &linearUnit, unsigned int maxPointCount, double maxSegmentLength, GeometryType geometryType, double semiAxis1Length, double semiAxis2Length)

Constructor that takes in several arguments.

  • axisDirection - The direction of the semi-major axis of the ellipse as an angle.
  • angularUnit - The angular unit of the ellipse.
  • center - The center point of the ellipse.
  • linearUnit - The linear units of the maxSegmentLength, semiAxis1Length, and semiAxis2Length.
  • maxPointCount - The maximum number of points permitted in the constructed ellipse.
  • maxSegmentLength - The maximum length between vertices used to construct the ellipse.
  • geometryType - The type of output geometry created.
  • semiAxis1Length - The length of either the semi-major or the semi-minor axis of the ellipse.
  • semiAxis2Length - The length of the other axis.

GeodesicEllipseParameters::GeodesicEllipseParameters(const GeodesicEllipseParameters &other)

Copy constructor from other GeodesicEllipseParameters.

GeodesicEllipseParameters::GeodesicEllipseParameters(GeodesicEllipseParameters &&other)

Move constructor from other GeodesicEllipseParameters.

GeodesicEllipseParameters::~GeodesicEllipseParameters()

Destructor.

AngularUnit GeodesicEllipseParameters::angularUnit() const

Returns the angular unit used in this class.

See also setAngularUnit().

double GeodesicEllipseParameters::axisDirection() const

Returns the direction of the longest axis of the ellipse.

Value is expressed as an angle using angularUnit.

See also setAxisDirection().

Point GeodesicEllipseParameters::center() const

Returns the center Point of the ellipse.

See also setCenter().

GeometryType GeodesicEllipseParameters::geometryType() const

Returns the type of output geometry.

See also setGeometryType().

LinearUnit GeodesicEllipseParameters::linearUnit() const

Returns the linear unit used in this class.

See also setLinearUnit().

unsigned int GeodesicEllipseParameters::maxPointCount() const

Returns the maximum count of points permitted in the output ellipse.

See also setMaxPointCount().

double GeodesicEllipseParameters::maxSegmentLength() const

Returns the maximum length between vertices used to construct the ellipse.

See also setMaxSegmentLength().

double GeodesicEllipseParameters::semiAxis1Length() const

Returns the length of the first semi-axis.

See also setSemiAxis1Length().

double GeodesicEllipseParameters::semiAxis2Length() const

Returns the length of the second semi-axis.

See also setSemiAxis2Length().

void GeodesicEllipseParameters::setAngularUnit(const AngularUnit &angularUnit)

Sets the angular unit used in this class to angularUnit.

See also angularUnit().

void GeodesicEllipseParameters::setAxisDirection(double direction)

Sets the direction of the longest axis of the ellipse.

Value is expressed as an angle using angularUnit.

See also axisDirection().

void GeodesicEllipseParameters::setCenter(const Point &center)

Sets the center Point of the ellipse.

See also center().

void GeodesicEllipseParameters::setGeometryType(GeometryType type)

Sets the type of output geometry.

Acceptable types include Multipoint, Polyline and Polygon.

See also geometryType().

void GeodesicEllipseParameters::setLinearUnit(const LinearUnit &linearUnit)

Sets the linear unit used in this class to linearUnit.

See also linearUnit().

void GeodesicEllipseParameters::setMaxPointCount(unsigned int count)

Returns the maximum count of points permitted in the output ellipse.

See also maxPointCount().

void GeodesicEllipseParameters::setMaxSegmentLength(double length)

Sets the maximum length between vertices used to construct the ellipse.

See also maxSegmentLength().

void GeodesicEllipseParameters::setSemiAxis1Length(double length)

Sets the length of the first semi-axis.

See also semiAxis1Length().

void GeodesicEllipseParameters::setSemiAxis2Length(double length)

Sets the length of the second semi-axis.

See also semiAxis2Length().

GeodesicEllipseParameters &GeodesicEllipseParameters::operator=(const GeodesicEllipseParameters &other)

Assignment operator from other GeodesicEllipseParameters.

GeodesicEllipseParameters &GeodesicEllipseParameters::operator=(GeodesicEllipseParameters &&other)

Move operator from other GeodesicEllipseParameters.


Feedback on this topic?