@UML(identifier="GM_Curve", specification=ISO_19107) public interface Curve extends OrientableCurve, GenericCurve
Curve
is
a descendent subtype of Primitive
through OrientablePrimitive
. It is the basis
for 1dimensional geometry. A curve is a continuous image of an open interval and so could be
written as a parameterized function such as
c(t):(a, b) → E^{n}
where "t" is a real parameter and E^{n} is Euclidean space of dimension n
(usually 2 or 3, as determined by the coordinate reference system). Any other parameterization
that results in the same image curve, traced in the same direction, such as any linear shifts
and positive scales such as
e(t) = c(a + t(ba)):(0,1) → E^{n}
,
is an equivalent representation of the same curve. For the sake of simplicity, Curve
s
should be parameterized by arc length, so that the parameterization operation inherited from
GenericCurve
will be valid for parameters between 0 and the length of the curve.
Curves are continuous, connected, and have a measurable length in terms of the coordinate system.
The orientation of the curve is determined by this parameterization, and is consistent with the
tangent function, which approximates the derivative function of the parameterization and shall
always point in the "forward" direction. The parameterization of the reversal of the curve defined
by
c(t):(a, b) → E^{n}
would be defined by a function of the form
s(t) = c(a + b  t):(a, b) → E^{n}
.
A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list.
PrimitiveFactory.createCurve(java.util.List<org.opengis.geometry.primitive.CurveSegment>)
Modifier and Type  Method and Description 

OrientableCurve[] 
getProxy()
Returns the orientable curves associated with this curve.

List<? extends CurveSegment> 
getSegments()
Lists the components curve segments of
Curve , each
of which defines the direct position of points along a portion of the curve. 
getBoundary, getComposite, getPrimitive
getOrientation
getComplexes, getContainedPrimitives, getContainingPrimitives
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length
@Association(value="Segmentation") @UML(identifier="segment", obligation=MANDATORY, specification=ISO_19107) List<? extends CurveSegment> getSegments()
Curve
, each
of which defines the direct position of points along a portion of the curve. The order of
the curve segments is the order in which they are used to trace
this Curve
. For a particular parameter interval, the Curve
and
CurveSegment
agree.null
neither empty.CurveSegment.getCurve()
,
Surface.getPatches()
@Association(value="Oriented") @UML(identifier="proxy", obligation=MANDATORY, specification=ISO_19107) OrientableCurve[] getProxy()
getProxy
in interface Primitive
OrientableCurve.getPrimitive()
Copyright © 1996–2018 Geotools. All rights reserved.