Class GeodesicSectorParameters

java.lang.Object
com.esri.arcgisruntime.geometry.GeodesicSectorParameters

public final class GeodesicSectorParameters extends Object
Defines parameters used to create a geodesic sector.
Since:
100.0.0
See Also:
  • Constructor Details

    • GeodesicSectorParameters

      public GeodesicSectorParameters()
      Creates an instance of GeodesicSectorParameters.
      Since:
      100.0.0
    • GeodesicSectorParameters

      public GeodesicSectorParameters(double axisDirection, AngularUnit angularUnit, Point center, LinearUnit linearUnit, long maxPointCount, double maxSegmentLength, GeometryType geometryType, double sectorAngle, double semiAxis1Length, double semiAxis2Length, double startDirection)
      Creates an instance of GeodesicSectorParameters with provided values.
      Parameters:
      axisDirection - the direction of the major axis of the ellipse as an angle in units of angularUnit
      angularUnit - unit for axisDirection. If null, defaults to degrees.
      center - center of the ellipse. It must have a spatial reference.
      linearUnit - unit for the linear values. If null, defaults to meters.
      maxPointCount - maximum number of vertices in the ellipse
      maxSegmentLength - maximum segment length of the result approximation, in units of linearUnit
      geometryType - type of output geometry
      sectorAngle - sweep angle of the the sector, in units of angularUnit. The sector angle is measured clockwise from the startDirection.
      semiAxis1Length - length of the semi-major or semi-minor axis of the ellipse, in units of linearUnit
      semiAxis2Length - length of the semi-major or semi-minor axis of the ellipse, in units of linearUnit
      startDirection - direction of starting radius of the sector as an angle in units of angularUnit
      Throws:
      IllegalArgumentException - if center or geometryType is null
      Since:
      100.0.0
    • GeodesicSectorParameters

      public GeodesicSectorParameters(Point center, double semiAxis1Length, double semiAxis2Length, double sectorAngle, double startDirection)
      Creates an instance of GeodesicSectorParameters with the given values.

      The geodesic sector parameter set returned contains the following default values:

      Property Value
      linearUnit meter
      angularUnit degree
      axisDirection 0
      geometryType polygon
      maxSegmentLength 2 * pi * a / 360
      maxPointCount 65536
      (where a is the semi major axis length)
      Parameters:
      center - center of the ellipse
      semiAxis1Length - the length of the semi-major or semi-minor axis of the ellipse in meters
      semiAxis2Length - the length of the semi-major or semi-minor axis of the ellipse in meters
      sectorAngle - the sweep angle of the sector in degrees
      startDirection - the direction of starting radius of the sector as an angle in degrees
      Throws:
      IllegalArgumentException - if center is null
      Since:
      100.3.0
  • Method Details

    • getAxisDirection

      public double getAxisDirection()
      Gets the direction of the major axis of the ellipse as an angle, in units of getAngularUnit().
      Returns:
      the axis direction
      Since:
      100.0.0
    • getAngularUnit

      public AngularUnit getAngularUnit()
      Gets the unit of measurement for AxisDirection, SectorAngle, and StartDirection. Default is of AngularUnitId.DEGREES type.
      Returns:
      the unit for angular values
      Since:
      100.0.0
      See Also:
    • getCenter

      public Point getCenter()
      Gets the center of the ellipse.
      Returns:
      the center
      Since:
      100.0.0
    • getGeometryType

      public GeometryType getGeometryType()
      Gets the type of output geometry. Default is GeometryType.POLYGON.
      Returns:
      the type of output geometry
      Since:
      100.0.0
    • getMaxPointCount

      public long getMaxPointCount()
      Gets the maximum number of vertices in the ellipse.
      Returns:
      the maximum number of vertices in the ellipse
      Since:
      100.0.0
    • getMaxSegmentLength

      public double getMaxSegmentLength()
      Gets the maximum segment length of the result, in units of getLinearUnit().
      Returns:
      the maximum segment length of the result, in units of getLinearUnit()
      Since:
      100.0.0
    • getSemiAxis1Length

      public double getSemiAxis1Length()
      Gets the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit().
      Returns:
      the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit()
      Since:
      100.0.0
    • getSemiAxis2Length

      public double getSemiAxis2Length()
      Gets the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit().
      Returns:
      the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit()
      Since:
      100.0.0
    • getLinearUnit

      public LinearUnit getLinearUnit()
      Gets the unit of measurement for linear values. Default is of LinearUnitId.METERS type.
      Returns:
      the unit of measurement for SemiAxis1length, SemiAxis2Length, and MaxSegmentLength
      Since:
      100.0.0
      See Also:
    • getSectorAngle

      public double getSectorAngle()
      Gets the sweep angle of the sector. It is measured clockwise from the getStartDirection().
      Returns:
      sweep angle of the sector, in units of angularUnit
      Since:
      100.0.0
    • getStartDirection

      public double getStartDirection()
      Gets the direction of starting radius of the sector as an angle, in units of getAngularUnit()
      Returns:
      the direction of starting radius of the sector as an angle
      Since:
      100.0.0
    • setAxisDirection

      public void setAxisDirection(double direction)
      Sets the direction of the major axis of the sector as an angle, in units of getAngularUnit().
      Parameters:
      direction - the direction of the major axis of the sector as an angle, in units of getAngularUnit()
      Since:
      100.0.0
    • setAngularUnit

      public void setAngularUnit(AngularUnit angularUnit)
      Sets the unit of measurement for AxisDirection, SectorAngle, and StartDirection.
      Parameters:
      angularUnit - the unit of measurement for angular values
      Throws:
      IllegalArgumentException - if angularUnit is null
      Since:
      100.0.0
      See Also:
    • setCenter

      public void setCenter(Point center)
      Sets the center of the ellipse.
      Parameters:
      center - center of the ellipse
      Throws:
      IllegalArgumentException - if center is null
      Since:
      100.0.0
    • setGeometryType

      public void setGeometryType(GeometryType geometryType)
      Sets the type of output geometry.
      Parameters:
      geometryType - the type of output geometry
      Throws:
      IllegalArgumentException - if geometryType is null
      Since:
      100.0.0
    • setMaxPointCount

      public void setMaxPointCount(int maxPointCount)
      Sets the maximum number of vertices in the ellipse.
      Parameters:
      maxPointCount - the maximum number of vertices in the ellipse
      Since:
      100.0.0
    • setMaxSegmentLength

      public void setMaxSegmentLength(double maxSegmentLength)
      Sets the maximum segment length of the result, in units of getLinearUnit().
      Parameters:
      maxSegmentLength - the maximum segment length of the result, in units of getLinearUnit()
      Since:
      100.0.0
    • setSemiAxis1Length

      public void setSemiAxis1Length(double length)
      Sets the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit().
      Parameters:
      length - the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit()
      Since:
      100.0.0
    • setSemiAxis2Length

      public void setSemiAxis2Length(double length)
      Sets the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit().
      Parameters:
      length - the length of the semi-major or semi-minor axis of the ellipse, in units of getLinearUnit()
      Since:
      100.0.0
    • setLinearUnit

      public void setLinearUnit(LinearUnit linearUnit)
      Sets the unit of measurement for SemiAxis1Length, SemiAxis2Length, and MaxSegmentLength.
      Parameters:
      linearUnit - the unit of measurement for linear values
      Throws:
      IllegalArgumentException - if linearUnit is null
      Since:
      100.0.0
      See Also:
    • setSectorAngle

      public void setSectorAngle(double sectorAngle)
      Sets the sweep angle of the sector in units of getAngularUnit(). The sector angle is measured clockwise from the startDirection.
      Parameters:
      sectorAngle - angle
      Since:
      100.0.0
    • setStartDirection

      public void setStartDirection(double direction)
      Sets the direction of starting radius of the sector as an angle, in units of getAngularUnit().
      Parameters:
      direction - the direction of starting radius of the sector as an angle
      Since:
      100.0.0