Package org.locationtech.jts.geom
Class LinearRing
java.lang.Object
org.locationtech.jts.geom.Geometry
org.locationtech.jts.geom.LineString
org.locationtech.jts.geom.LinearRing
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable
,Lineal
Models an OGC SFS
LinearRing
.
A LinearRing
is a LineString
which is both closed and simple.
In other words,
the first and last coordinate in the ring must be equal,
and the interior of the ring must not self-intersect.
Either orientation of the ring is allowed.
A ring must have either 0 or 4 or more points.
The first and last points must be equal (in 2D).
If these conditions are not met, the constructors throw
an IllegalArgumentException
- Version:
- 1.7
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The minimum number of vertices allowed in a valid non-empty ring (= 4).private static final long
Fields inherited from class org.locationtech.jts.geom.LineString
points
Fields inherited from class org.locationtech.jts.geom.Geometry
envelope, factory, SORTINDEX_GEOMETRYCOLLECTION, SORTINDEX_LINEARRING, SORTINDEX_LINESTRING, SORTINDEX_MULTILINESTRING, SORTINDEX_MULTIPOINT, SORTINDEX_MULTIPOLYGON, SORTINDEX_POINT, SORTINDEX_POLYGON, SRID
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
LinearRing
(Coordinate[] points, GeometryFactory factory) This method is ONLY used to avoid deprecation warnings.LinearRing
(Coordinate[] points, PrecisionModel precisionModel, int SRID) Deprecated.Use GeometryFactory insteadLinearRing
(CoordinateSequence points, GeometryFactory factory) Constructs aLinearRing
with the vertices specified by the givenCoordinateSequence
. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Creates and returns a full copy of thisLineString
object.int
ReturnsDimension.FALSE
, since by definition LinearRings do not have a boundary.Returns the name of this Geometry's actual class.protected int
boolean
isClosed()
Tests whether this ring is closed.reverse()
Creates aLineString
whose coordinates are in the reverse order of this objectsprivate void
Methods inherited from class org.locationtech.jts.geom.LineString
apply, apply, apply, apply, clone, compareToSameClass, compareToSameClass, computeEnvelopeInternal, equalsExact, getBoundary, getCoordinate, getCoordinateN, getCoordinates, getCoordinateSequence, getDimension, getEndPoint, getLength, getNumPoints, getPointN, getStartPoint, isCoordinate, isEmpty, isEquivalentClass, isRing, normalize
Methods inherited from class org.locationtech.jts.geom.Geometry
buffer, buffer, buffer, checkNotGeometryCollection, compare, compareTo, compareTo, contains, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, equal, equals, equals, equalsExact, equalsNorm, equalsTopo, geometryChanged, geometryChangedAction, getArea, getCentroid, getEnvelope, getEnvelopeInternal, getFactory, getGeometryN, getInteriorPoint, getNumGeometries, getPrecisionModel, getSRID, getUserData, hashCode, hasNonEmptyElements, hasNullElements, intersection, intersects, isGeometryCollection, isRectangle, isSimple, isValid, isWithinDistance, norm, overlaps, relate, relate, setSRID, setUserData, symDifference, toString, toText, touches, union, union, within
-
Field Details
-
MINIMUM_VALID_SIZE
public static final int MINIMUM_VALID_SIZEThe minimum number of vertices allowed in a valid non-empty ring (= 4). Empty rings with 0 vertices are also valid.- See Also:
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
LinearRing
Deprecated.Use GeometryFactory insteadConstructs aLinearRing
with the given points.- Parameters:
points
- points forming a closed and simple linestring, ornull
or an empty array to create the empty geometry. This array must not containnull
elements.precisionModel
- the specification of the grid of allowable points for thisLinearRing
SRID
- the ID of the Spatial Reference System used by thisLinearRing
- Throws:
IllegalArgumentException
- if the ring is not closed, or has too few points
-
LinearRing
This method is ONLY used to avoid deprecation warnings.- Parameters:
points
-factory
-- Throws:
IllegalArgumentException
- if the ring is not closed, or has too few points
-
LinearRing
Constructs aLinearRing
with the vertices specified by the givenCoordinateSequence
.- Parameters:
points
- a sequence points forming a closed and simple linestring, ornull
to create the empty geometry.- Throws:
IllegalArgumentException
- if the ring is not closed, or has too few points
-
-
Method Details
-
validateConstruction
private void validateConstruction() -
getBoundaryDimension
public int getBoundaryDimension()ReturnsDimension.FALSE
, since by definition LinearRings do not have a boundary.- Overrides:
getBoundaryDimension
in classLineString
- Returns:
- Dimension.FALSE
-
isClosed
public boolean isClosed()Tests whether this ring is closed. Empty rings are closed by definition.- Overrides:
isClosed
in classLineString
- Returns:
- true if this ring is closed
-
getGeometryType
Description copied from class:Geometry
Returns the name of this Geometry's actual class.- Overrides:
getGeometryType
in classLineString
- Returns:
- the name of this
Geometry
s actual class
-
getSortIndex
protected int getSortIndex()- Overrides:
getSortIndex
in classLineString
-
copy
Description copied from class:LineString
Creates and returns a full copy of thisLineString
object. (including all coordinates contained by it).- Overrides:
copy
in classLineString
- Returns:
- a copy of this instance
-
reverse
Description copied from class:LineString
Creates aLineString
whose coordinates are in the reverse order of this objects- Overrides:
reverse
in classLineString
- Returns:
- a
LineString
with coordinates in the reverse order
-