org.geotools.gml3.bindings
Class ArcStringTypeBinding
Object
AbstractComplexBinding
ArcStringTypeBinding
- All Implemented Interfaces:
- Binding, ComplexBinding
public class ArcStringTypeBinding
- extends AbstractComplexBinding
Binding object for the type http://www.opengis.net/gml:ArcStringType.
<complexType name="ArcStringType">
<annotation>
<documentation>An ArcString is a curve segment that uses three-point circular arc interpolation.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<choice>
<annotation>
<documentation>GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least three.</documentation>
</annotation>
<choice maxOccurs="unbounded" minOccurs="3">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
<element ref="gml:pointRep">
<annotation>
<documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
</annotation>
</element>
</choice>
<element ref="gml:posList"/>
<element ref="gml:coordinates">
<annotation>
<documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
</annotation>
</element>
</choice>
</sequence>
<attribute fixed="circularArc3Points" name="interpolation" type="gml:CurveInterpolationType">
<annotation>
<documentation>The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism
uses the control points and control parameters to determine the position of this curve segment. For an ArcString the interpolation is fixed as "circularArc3Points".</documentation>
</annotation>
</attribute>
<attribute name="numArc" type="integer" use="optional">
<annotation>
<documentation>The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ArcStringTypeBinding
public ArcStringTypeBinding(GeometryFactory gFactory,
CoordinateSequenceFactory csFactory,
ArcParameters arcParameters)
getTarget
public QName getTarget()
- Returns:
- The qualified name of the target for the binding.
getExecutionMode
public int getExecutionMode()
- Description copied from class:
AbstractComplexBinding
- This implementation returns
Binding.OVERRIDE
.
Subclasses should override to change this behaviour.
- Specified by:
getExecutionMode
in interface Binding
- Overrides:
getExecutionMode
in class AbstractComplexBinding
- Returns:
- The execution mode of the binding, one of the constants AFTER,
BEFORE, or OVERRIDE.
- See Also:
Binding.AFTER
,
Binding.BEFORE
,
Binding.OVERRIDE
getType
public Class getType()
-
- Returns:
- The java type this binding maps to.
parse
public Object parse(ElementInstance instance,
Node node,
Object value)
throws Exception
-
- Specified by:
parse
in interface ComplexBinding
- Overrides:
parse
in class AbstractComplexBinding
- Parameters:
instance
- The element being parsed.node
- The node in the parse tree representing the element being
parsed.value
- The result of the parse from another strategy in the type
hierarchy. Could be null if this is the first strategy being executed.
- Returns:
- The parsed object, or null if the component could not be parsed.
- Throws:
Exception
- Strategy objects should not attempt to handle any exceptions.
laidOutClockwise
protected boolean laidOutClockwise(Coordinate c1,
Coordinate c2,
Coordinate c3)
- Returns whether the input coordinates are laid out clockwise on their corresponding circle.
Only works correctly if the Euclidean distance between c1 and c2 is equal to the Euclidean distance between c2 and c3.
- Parameters:
c1
- c2
- c3
-
- Returns:
- true if input coordinates are laid out clockwise on their corresponding circle. false otherwise.
Copyright © 1996-2014 Geotools. All Rights Reserved.