xml-arc

This is a non-composite and composite builder that constructs a circular arc geometry. Currently the following arc definitions are supported:

  1. A circular arc defined by 3 coincident control points.
  2. A circular arc defined by a circle’s center, start and end point and a direction.
  3. A circular arc defined by a start and end point, a radius and a direction.

builder type: non-composite/composite, accepts point geometries in composite mode

geometry constructed: arc geometry

data parameters:

Data Name

Value

Required/
Optional

data-string

  1. For an arc defined by 3 coincident control points, the coordinate data denotes the coincident points in the order of arc traversal.

The coordinate data may be received as point geometries, the order of the point geometries are assumed to be the order of arc traversal.

  1. The coordinate data string denotes the center, start and end point of an arc when the “direction” data parameter is present.

The coordinate data may be received as point geometries. These control points maybe named or unnamed. The named point geometries maybe received in any order, there names must be one of “center”, “start” or “end”, or any of their equivalents, see below. If the point geometries are unnamed, then the order of the points is significant, the first point received is assumed as the center point, the next point as the start point, and the last point as the end point of the arc.

  1. The coordinate data string denotes the start and end point of an arc when the “direction” and “radius” data parameters are present

The coordinate data may be received as point geometries. These control points maybe named or unnamed. The named point geometries maybe received in any order, there names must be one of “start” or “end”, or any of their equivalents, see below. If the point geometries are unnamed, then the order of the points is significant, the first point received is assumed as the start point, the next point as the end point of the arc.

Equivalent control point names: The following names may be substituted for “center”, “start” and “end”:

  • center: CentrePoint
  • start: FromPoint
  • end: ToPoint

Range: String

Optional if the control points are to be passed in as point geometries; otherwise Required

direction

Specifies the traversal direction from the start to the end point of an arc.

Range: cw | ccw

Default: There are no default values.

Required if the data-string is to specify the center, start and end points of an arc

radius

The radius of the circular arc.

Range: A positive real number.

Default: There are no default values.

Required, along with the direction, if the data-string specifies the start and end point of an arc.

axis-order

Indicates the axis for a coordinate.

Range: A permutation of the numbers 1..N, where N is the number of dimensions.

Each number is separated by a comma “,”.

Default: “1,2,...,N”

Optional

dimension

The dimension of the coordinates.

Range: String representing a positive integer, or the “implicit” literal, which forces the dimension to be automatically determined even if axis-order is specified.

Default: When not specified the dimension will be automatically determined.

Optional

axis-separator

The string separating each axis of a coordinate in the data-string.

Range: String | “whitespace” this includes the tab, newline, and space characters.

Default: “,”

Optional

coord-separator

The string separating each coordinate in the data-string.

Range: String

Default: “whitespace” this includes the tab, newline, and space characters.

Optional

decimal

The string representing the decimal point for each real number in the data-string.

Range: String

Default: “.”

Optional

coordinate-system

Specifies the coordinate system name. If the expression sequence for the coordinate-system evaluates to the empty string, then the coordinate system for the feature being built will not be set.

Range: String

Optional

number-of-arcs

The data parameter is optional and is only applicable when an arc is defined by control points coincident to it. If the value given is greater than 1, then the number of coordinates in the data-string must be (2*number-of-arcs +1), each consecutive arc constructed share a common control point, and the geometry returned from these consecutive arcs cannot be an arc anymore, instead, a path geometry is returned.

Range: a positive number

Default: 1

Optional

demote-incomplete-geometry

This optional data parameter allows the xml-arc geometry builder to return a non-geometrical object when no data-string is given or when the value of the data-string is the empty string.

Range: false | true

Default: false

Optional

incomplete-geometry-traits

This optional data parameter takes effect only when the demote-incomplete-geometry data parameter is set to true. This parameter lists the xml-arc data parameters that should be loaded into the demoted arc geometry as traits. For example, when this geometry builder fails to construct an arc and demote-incomplete-geometry is set to true and the value for this parameter is set to “radius direction”, then the builder will construct a null geometry with radius and direction traits.

Range: whitespace separated list of arc data parameter names

Default: There are no default values.

Optional

name

Specifies the geometry’s name.

Range: String

Optional

collinear-points-as-line

This optional data parameter takes effect only when an arc is being constructed from three control points. If the value of this parameter is ‘true’ and the three control points are collinear, the geometry builder will produce a line rather than an arc.

Range: false | true

Default: false

Optional