public class Polygonizer extends Object
Geometry
s which contain linework that
represents the edges of a planar graph.
All types of Geometry are accepted as input;
the constituent linework is extracted as the edges to be polygonized.
The processed edges must be correctly noded; that is, they must only meet
at their endpoints. Polygonization will accept incorrectly noded input
but will not form polygons from non-noded edges,
and reports them as errors.
The Polygonizer reports the follow kinds of errors:
Dangles
- edges which have one or both ends which are not incident on another edge endpoint
Cut Edges
- edges which are connected at both ends but which do not form part of polygon
Invalid Ring Lines
- edges which form rings which are invalid
(e.g. the component lines contain a self-intersection)
Polygonizer(boolean)
constructor allows
extracting only polygons which form a valid polygonal result.
The set of extracted polygons is guaranteed to be edge-disjoint.
This is useful where it is known that the input lines form a
valid polygonal geometry (which may include holes or nested polygons).Constructor and Description |
---|
Polygonizer()
Creates a polygonizer that extracts all polygons.
|
Polygonizer(boolean extractOnlyPolygonal)
Creates a polygonizer, specifying whether a valid polygonal geometry must be created.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Collection geomList)
Adds a collection of geometries to the edges to be polygonized.
|
void |
add(Geometry g)
Add a
Geometry to the edges to be polygonized. |
Collection |
getCutEdges()
Gets the list of cut edges found during polygonization.
|
Collection |
getDangles()
Gets the list of dangling lines found during polygonization.
|
Geometry |
getGeometry()
Gets a geometry representing the polygons formed by the polygonization.
|
Collection |
getInvalidRingLines()
Gets the list of lines forming invalid rings found during polygonization.
|
Collection |
getPolygons()
Gets the list of polygons formed by the polygonization.
|
void |
setCheckRingsValid(boolean isCheckingRingsValid)
Allows disabling the valid ring checking,
to optimize situations where invalid rings are not expected.
|
public Polygonizer()
public Polygonizer(boolean extractOnlyPolygonal)
true
then areas may be discarded in order to
ensure that the extracted geometry is a valid polygonal geometry.extractOnlyPolygonal
- true if a valid polygonal geometry should be extractedpublic void add(Collection geomList)
geomList
- a list of Geometry
s with linework to be polygonizedpublic void add(Geometry g)
Geometry
to the edges to be polygonized.
May be called multiple times.
Any dimension of Geometry may be added;
the constituent linework will be extracted and usedg
- a Geometry
with linework to be polygonizedpublic void setCheckRingsValid(boolean isCheckingRingsValid)
The default is true
.
isCheckingRingsValid
- true if generated rings should be checked for validitypublic Collection getPolygons()
Polygon
spublic Geometry getGeometry()
Polygonal
geometry.public Collection getDangles()
LineString
s which are danglespublic Collection getCutEdges()
LineString
s which are cut edgespublic Collection getInvalidRingLines()
LineString
s which form invalid ringsCopyright © 2024. All rights reserved.