MaximalEdgeRing class

A ring of {@link DirectedEdge}s which may contain nodes of degree > 2. A MaximalEdgeRing may represent two different spatial entities:

  • a single polygon possibly containing inversions (if the ring is oriented CW)
  • a single hole possibly containing exversions (if the ring is oriented CCW)
If the MaximalEdgeRing represents a polygon, the interior of the polygon is strongly connected.

These are the form of rings used to define polygons under some spatial data models. However, under the OGC SFS model, {@link MinimalEdgeRing}s are required. A MaximalEdgeRing can be converted to a list of MinimalEdgeRings using the {@link #buildMinimalRings() } method.

@version 1.7 @see org.locationtech.jts.operation.overlay.MinimalEdgeRing

Inheritance

Constructors

MaximalEdgeRing(DirectedEdge start, GeometryFactory geometryFactory)

Properties

edges List
getter/setter pairinherited
geometryFactory GeometryFactory
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
holes List
getter/setter pairinherited
label Label
getter/setter pairinherited
maxNodeDegree int
getter/setter pairinherited
pts List
getter/setter pairinherited
ring LinearRing?
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shell EdgeRing?
getter/setter pairinherited
startDe DirectedEdge?
getter/setter pairinherited

Methods

addHole(EdgeRing ring) → void
inherited
addPoints(Edge edge, bool isForward, bool isFirstEdge) → void
inherited
buildMinimalRings() List
computeMaxNodeDegree() → void
inherited
computePoints(DirectedEdge start) → void
Collect all the points from the DirectedEdges of this ring into a contiguous list
inherited
computeRing() → void
Compute a LinearRing from the point list previously collected. Test if the ring is a hole (i.e. if it is CCW) and set the hole flag accordingly.
inherited
containsPoint(Coordinate p) bool
This method will cause the ring to be computed. It will also check any holes, if they have been assigned.
inherited
getCoordinate(int i) Coordinate
inherited
getEdges() List
Returns the list of DirectedEdges that make up this EdgeRing
inherited
getLabel() Label
inherited
getLinearRing() LinearRing?
inherited
getMaxNodeDegree() int
inherited
getNext(DirectedEdge de) DirectedEdge
override
getShell() EdgeRing?
inherited
isHole() bool
inherited
isIsolated() bool
inherited
isShell() bool
inherited
linkDirectedEdgesForMinimalEdgeRings() → void
For all nodes in this EdgeRing, link the DirectedEdges at the node to form minimalEdgeRings
mergeLabel(Label deLabel) → void
inherited
mergeLabelWithIndex(Label deLabel, int geomIndex) → void
Merge the RHS label from a DirectedEdge into the label for this EdgeRing. The DirectedEdge label may be null. This is acceptable - it results from a node which is NOT an intersection node between the Geometries (e.g. the end node of a LinearRing). In this case the DirectedEdge label does not contribute any information to the overall labelling, and is simply skipped.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setEdgeRing(DirectedEdge de, EdgeRing er) → void
override
setInResult() → void
inherited
setShell(EdgeRing? shell) → void
inherited
toPolygon(GeometryFactory geometryFactory) Polygon
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited