public class Polygonizer extends Object
Geometrys 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 Geometrys 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()
Polygonspublic Geometry getGeometry()
Polygonal geometry.public Collection getDangles()
LineStrings which are danglespublic Collection getCutEdges()
LineStrings which are cut edgespublic Collection getInvalidRingLines()
LineStrings which form invalid ringsCopyright © 2024. All rights reserved.