ArcByCenterPoint Interpretation Summary
Introduction
This annex contains the summary of discussions on the correct interpretation of ArcByCenterPoint.
Angle Measuring Convention in GML
GML implements the semantics of ISO 19107. As such, the semantics for an angle encoded in GML is given by ISO 19107Â clause:
"In this variant of Bearing usually used for 2D coordinate systems, the first angle (azimuth) is measured from the first coordinate axis (usually north) in a counterclockwise fashion parallel to the reference surface tangent plane."
General Direction of Increasing and Decreasing Angle Values
ISO 19107Â thus defines in which direction angle values increase and in which direction they decrease - see the following diagram:
Depending upon the "up" and the orientation of the first two axes, we have a left-handed or right handed coordinate system (see wikipedia and the following figure).
(Note: you can try this yourself with the following convention: thumb=x, index=y, middle=z, see also page Right-handed vs. Left-handed CRS )
Left-handed systems have a clockwise rotation from first to second axis (positive axis to positive axis). Right-handed systems have a counterclockwise rotation from first to second axis (positive axis to positive axis).
Note
In a left-handed system, angle values increase in clockwise direction. In a right-handed system, angle values increase in counterclockwise direction.
Note
Angle Measurement in Different Coordinate Systems
Apparently the way that angle values are expressed heavily depends upon the axis order defined by the coordinate system that is used.
The following diagram shows how angles are measured in WGS 84 2D with different coordinate systems:
(A) GeodeticCRS: urn:ogc:def:crs:OGC:1.3:CRS84 (right-handed)
- Datum: WGS84
- Ellipsoidal 2D CS.
- Axes: (1st) longitude, (2nd) latitude.
- Orientations: east, north. UoM: degree
(B) GeodeticCRS: urn:ogc:def:crs:EPSG::4326 (left-handed)
- Datum: WGS84
- Ellipsoidal 2D CS.
- Axes: (1st) latitude, (2nd) longitude.
- Orientations: north, east. UoM: degree
The order of the axes determines where 0° is located.
Definition: The 0° angle is located on the positive part of the coordinate system's first axis.
Note
Direction of an Arc
The direction of a line is always from its start to its end. The same is true for arcs defined by a start and end angle.
Definition: if the start angle is smaller than the end angle then the arc direction is the direction in which the angle values increase.
Note
Example A: CRS urn:ogc:def:crs:OGC:1.3:CRS84 has long/lat axis order. Because the orientation of the axes on the earth surface is the same as that of the first_axis (=x) / second_axis (=y) coordinate system assumed by ISO 19107, angle values increase in counter-clockwise direction. Thus, if the start angle of an ArcByCenterPoint in this CRS is smaller than its end angle, then the direction of the arc is counter-clockwise; otherwise it is clockwise.
Example B: CRS urn:ogc:def:crs:EPSG::4326 has lat/long axis order. Even though the axes have the same orientation on the earth surface as in example A, the axis order of the coordinate system is different. In the EPSG:4326 CRS, the "counter-clockwise" convention from ISO 19107 actually corresponds to a clockwise rotation, because the first_axis (=x) / second_axis (=y) coordinate system assumed by ISO 19107 is mirrored (reflected) through the x=y diagonal when transposing the coordinate system used by EPSG:4326 on the surface of the Earth. Because of this, if the start angle of an ArcByCenterPoint in EPSG:4326 is smaller than its end angle, then the direction of the arc on the earth surface is clockwise; otherwise it is counter-clockwise.
In other, more mathematical words: angle values increase in counter-clockwise direction if the coordinate system of the CRS used for an ArcByCenterPoint can be transformed into the coordinate system implied by ISO 19107 through a simple rotation. Whenever a reflection across the x=y line is needed (+ any rotation) to achieve the axis orientation of the given CRS's coordinate system then the angle values of an arc increase in clockwise direction.
Arc encoding examples in a left-handed CRS system
The following diagrams exemplify the conventions defined above, considering a left-handed CRS, such as EPSG:4326. They show the arc on a line representing a flattened circle first, followed by its representation in the general case.
Notes:
- as angle values have an unlimited range, the flattened circle is a theoretically unlimited line.
each angle (from [0°,360°]) on the circle has an unlimited number of representations: angle + X * 360°, X being an integer
- to define arcs on a circle, it is important that the difference between end and start angle is smaller than 360°: |end-angle - start-angle| < 360° (else the result would be an arc that is greater than or equal to 360° and looks like a circle)
- computing the length of an arc can be performed as follows: |startAngle – endAngle|/180° * radius * pi - the definition conforms to this formula
The according ArcByCenterPoint would look like the following (with start and end angles as used in the examples):
Note
example - one
example - two
example - three
example - four
example - five
example - six
Arc interpolation
Typically, there are no statements in AI sources, such as State AIP, about how arcs and circles should be interpolated. Such arcs are usually designed using a map (into a specific projection, which is not communicated). Thus, they would represent points of equal distance from the arc centre, on that specific projection. Considering that the airspace design processes always include buffers in the definition of an area that contains a dangerous activity, the relative imprecision of an arc or circle interpolation is not operationally significant. However, it is important to have a common interpretation of how arcs and circles should be interpolated when defined in GML "by centre point".
Therefore, it is recommended to interpolate ArcByCentrePoint through points situated at equal geodesic distance (the radius of the arc) from the arc centre. This makes the interpolation independent of the CRS used.