Skip To Content ArcGIS for Developers Sign In Dashboard

GeodesicSectorParameters Class

(Esri::ArcGISRuntime::GeodesicSectorParameters)

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

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

Public Functions

GeodesicSectorParameters()
GeodesicSectorParameters(const Point &center, double semiAxis1Length, double semiAxis2Length, double sectorAngle, double startDirection)
GeodesicSectorParameters(double axisDirection, const AngularUnit &angularUnit, const Point &center, const LinearUnit &linearUnit, unsigned int maxPointCount, double maxSegmentLength, GeometryType geometryType, double sectorAngle, double semiAxis1Length, double semiAxis2Length, double startDirection)
GeodesicSectorParameters(const GeodesicSectorParameters &other)
GeodesicSectorParameters(GeodesicSectorParameters &&other)
~GeodesicSectorParameters()
AngularUnit angularUnit() const
double axisDirection() const
Point center() const
GeometryType geometryType() const
LinearUnit linearUnit() const
unsigned int maxPointCount() const
double maxSegmentLength() const
double sectorAngle() 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 setSectorAngle(double angle)
void setSemiAxis1Length(double length)
void setSemiAxis2Length(double length)
void setStartDirection(double direction)
double startDirection() const
GeodesicSectorParameters &operator=(const GeodesicSectorParameters &other)
GeodesicSectorParameters &operator=(GeodesicSectorParameters &&other)

Detailed Description

Parameters for the GeometryEngine::sectorGeodesic method.

GeodesicSectorParameters contains:

  • The desired type of output geometry: Multipoint, Polygon (the default) or Polyline.
  • The center point of the new geometry, which contains a spatial reference.
  • The length of the semi-major and semi-minor axes.
  • The linear unit used for lengths. The default is meter.
  • The direction of the semi-major (longer) axis in angularUnit.
  • The maximum distance between vertices used to construct the sector.
  • The direction of the starting radius in angularUnit. Zero is east.
  • The size of the sector as an angle. The absolute value of this parameter is used. It should be greater than zero degrees and less than 360 degrees, expressed in angularUnit. The sector angle increases in a clockwise rotation from startDirection.

When creating a polygon or a polyline, the result may have more than one path, depending on the size of the sector 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 sector; however, the boundary of the polygon may contain segments from the spatial reference horizon or from the GCS extent. For example, a sector that spans the 180-degree meridian of the WGS-84 coordinate system will have two parts.

The sector arc and radii are generalized based on maxSegmentLength. The minimum number of points used the construct that arc and radii of the sector is 10.

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

Member Function Documentation

GeodesicSectorParameters::GeodesicSectorParameters()

Default constructor.

GeodesicSectorParameters::GeodesicSectorParameters(const Point &center, double semiAxis1Length, double semiAxis2Length, double sectorAngle, double startDirection)

Constructor that takes several arguments.

  • center - The center point of the sector.
  • semiAxis1Length - The length of either the semi-major or the semi-minor axis of the sector in meters.
  • semiAxis2Length - The length of the other axis in meters.
  • sectorAngle - The angle of the sector in degrees.
  • startDirection - The direction of starting radius of the sector as an angle in degrees.

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.

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

Constructor that takes in several arguments.

  • axisDirection - The direction of the longest axis of the sector as an angle (in angularUnit).
  • angularUnit - The angular unit of the sector.
  • center - The center Point of the sector.
  • linearUnit - The linear unit of the maxSegmentLength, semiAxis1Length, and semiAxis2Length.
  • maxPointCount - The maximum number of points permitted in the constructed sector.
  • maxSegmentLength - The maximum length between vertices used to construct the sector.
  • geometryType - The type of output geometry created.
  • sectorAngle - The angle of the sector in angularUnit.
  • semiAxis1Length The length of either the semi-major or the semi-minor axis of the sector.
  • semiAxis2Length The length of the other axis.
  • startDirection - The direction of the starting radius of the sector as an angle in angularUnit.

GeodesicSectorParameters::GeodesicSectorParameters(const GeodesicSectorParameters &other)

Copy constructor from other GeodesicSectorParameters.

GeodesicSectorParameters::GeodesicSectorParameters(GeodesicSectorParameters &&other)

Move constructor from other GeodesicSectorParameters.

GeodesicSectorParameters::~GeodesicSectorParameters()

Destructor.

AngularUnit GeodesicSectorParameters::angularUnit() const

Returns the angular unit used in this class.

See also setAngularUnit().

double GeodesicSectorParameters::axisDirection() const

Returns the direction of the longest axis of the ellipse.

Value is expressed as an angle using angularUnit. Zero degrees is east.

See also setAxisDirection().

Point GeodesicSectorParameters::center() const

Returns the center Point of the sector.

See also setCenter().

GeometryType GeodesicSectorParameters::geometryType() const

Returns the type of output geometry created.

See also setGeometryType().

LinearUnit GeodesicSectorParameters::linearUnit() const

Returns the linear unit used in this class.

See also setLinearUnit().

unsigned int GeodesicSectorParameters::maxPointCount() const

Returns the maximum count of points permitted in the constructed sector.

See also setMaxPointCount().

double GeodesicSectorParameters::maxSegmentLength() const

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

See also setMaxSegmentLength().

double GeodesicSectorParameters::sectorAngle() const

Returns the angle of the sector.

Value is expressed as an angle using angularUnit.

See also setSectorAngle().

double GeodesicSectorParameters::semiAxis1Length() const

Returns the length of the first semi-minor axis of the sector.

See also setSemiAxis1Length().

double GeodesicSectorParameters::semiAxis2Length() const

Returns the length of the second semi-axis of the sector.

See also setSemiAxis2Length().

void GeodesicSectorParameters::setAngularUnit(const AngularUnit &angularUnit)

Sets the angular unit used in this class to angularUnit.

See also angularUnit().

void GeodesicSectorParameters::setAxisDirection(double direction)

Sets the direction of the longest axis of the sector as an angle (in angularUnit).

Value is expressed as an angle using angularUnit. Zero degrees is east.

See also axisDirection().

void GeodesicSectorParameters::setCenter(const Point &center)

Sets the center Point of the sector.

See also center().

void GeodesicSectorParameters::setGeometryType(GeometryType type)

Sets the type of output geometry created.

See also geometryType().

void GeodesicSectorParameters::setLinearUnit(const LinearUnit &linearUnit)

Sets the linear unit used in this class to linearUnit.

See also linearUnit().

void GeodesicSectorParameters::setMaxPointCount(unsigned int count)

Sets the maximum count of points permitted in the constructed sector.

See also maxPointCount().

void GeodesicSectorParameters::setMaxSegmentLength(double length)

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

See also maxSegmentLength().

void GeodesicSectorParameters::setSectorAngle(double angle)

Sets the angle of the sector.

Value is expressed as an angle using angularUnit.

See also sectorAngle().

void GeodesicSectorParameters::setSemiAxis1Length(double length)

Sets the length of the first semi-minor axis of the sector.

See also semiAxis1Length().

void GeodesicSectorParameters::setSemiAxis2Length(double length)

Sets the length of the second semi-axis of the sector.

See also semiAxis2Length().

void GeodesicSectorParameters::setStartDirection(double direction)

Sets the direction of the starting radius of the sector as an angle.

Value is expressed as an angle using angularUnit. Zero degrees is east.

See also startDirection().

double GeodesicSectorParameters::startDirection() const

Returns the direction of the starting radius of the sector as an angle.

Value is expressed as an angle using angularUnit. Zero degrees is east.

See also setStartDirection().

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

Assignment operator from other GeodesicSectorParameters.

GeodesicSectorParameters &GeodesicSectorParameters::operator=(GeodesicSectorParameters &&other)

Move operator from other GeodesicSectorParameters.


Feedback on this topic?