ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / EllipticArcSegment Class / QueryCoords Method
The center point of the ellipse.
The start angle in radians measured from the rotated X-axis.
The central angle in radians measuring the span of the arc from startAngle to endAngle. A positive value corresponds to counterclockwise orientation.
The angle in radians by which the ellipse is rotated from the X-axis. A positive value corresponds to counterclockwise rotation.
The length of the semi-major axis.
The length of the semi-minor axis.
Example Version

QueryCoords Method (EllipticArcSegment)
Copies the center coordinate, start angle, central angle, rotation angle, semi-major/semi-minor axes into the method parameters.
Syntax

Parameters

centerCoordinate
The center point of the ellipse.
startAngle
The start angle in radians measured from the rotated X-axis.
centralAngle
The central angle in radians measuring the span of the arc from startAngle to endAngle. A positive value corresponds to counterclockwise orientation.
rotationAngle
The angle in radians by which the ellipse is rotated from the X-axis. A positive value corresponds to counterclockwise rotation.
semiMajorAxis
The length of the semi-major axis.
semiMinorAxis
The length of the semi-minor axis.
Remarks
Angles are in radians.
Example
Construct a Circle
// Construct a circle with center at (-1,-1), radius = 2, and oriented clockwise.
// Use a builderEx convenience method or use a builderEx constructor.

Coordinate2D centerPtCoord = new Coordinate2D(-1, -1);

// Builder convenience methods don't need to run on the MCT.
EllipticArcSegment circle = EllipticArcBuilderEx.CreateCircle(centerPtCoord, 2, ArcOrientation.ArcClockwise);
// circle.IsCircular = true
// circle.IsCounterClockwise = false
// circle.IsMinor = false

double startAngle, rotationAngle, centralAngle, semiMajor, semiMinor;
Coordinate2D actualCenterPt;
circle.QueryCoords(out actualCenterPt, out startAngle, out centralAngle, out rotationAngle, out semiMajor, out semiMinor);

// semiMajor = 2.0
// semiMinor = 2.0
// startAngle = PI/2
// centralAngle = -2*PI
// rotationAngle = 0
// endAngle = PI/2

// This EllipticArcBuilderEx constructor doesn't need to run on the MCT.
EllipticArcBuilderEx builder = new EllipticArcBuilderEx(centerPtCoord, 2, ArcOrientation.ArcClockwise);
EllipticArcSegment otherCircle = builder.ToSegment();
Elliptic Arc Properties
// retrieve the curve's control points
EllipticArcSegment arc = EllipticArcBuilderEx.CreateEllipticArcSegment(arcSegment);
MapPoint startPt = arc.StartPoint;
MapPoint endPt = arc.EndPoint;
Coordinate2D centerPt = arc.CenterPoint;
bool isCircular = arc.IsCircular;
bool isMinor = arc.IsMinor;
bool isCounterClockwise = arc.IsCounterClockwise;
bool isCurve = arc.IsCurve;
double len = arc.Length;
double ratio = arc.MinorMajorRatio;

double semiMajorAxis, semiMinorAxis;
// get the axes
arc.GetAxes(out semiMajorAxis, out semiMinorAxis);
// or use the properties
// semiMajorAxis = arc.SemiMajorAxis;
// semiMinorAxis = arc.SemiMinorAxis;

double startAngle, centralAngle, rotationAngle;
// or use QueryCoords to get complete information
arc.QueryCoords(out centerPt, out startAngle, out centralAngle, out rotationAngle, out semiMajorAxis, out semiMinorAxis);

// use properties to get angle information
//double endAngle = arc.EndAngle;
//centralAngle = arc.CentralAngle;
//rotationAngle = arc.RotationAngle;
//startAngle = arc.StartAngle;
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also