Class Polygonizer

Hierarchy: Object , Polygonizer
public class Polygonizer
Polygonizes a set of 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)
The 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).

Other

  • version: 1.7
public Polygonizer()
Creates a polygonizer that extracts all polygons.
public Polygonizer(boolean extractOnlyPolygonal)
Creates a polygonizer, specifying whether a valid polygonal geometry must be created. If the argument is true then areas may be discarded in order to ensure that the extracted geometry is a valid polygonal geometry.
Parameters:
extractOnlyPolygonal - extractOnlyPolygonal true if a valid polygonal geometry should be extracted
public void add(Collection geomList)
Adds a collection of geometries 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 used.
Parameters:
geomList - geomList a list of Geometrys with linework to be polygonized
public void add(Geometry g)
Add a 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 used
Parameters:
g - g a Geometry with linework to be polygonized
public void setCheckRingsValid(boolean isCheckingRingsValid)
Allows disabling the valid ring checking, to optimize situations where invalid rings are not expected.

The default is true.

Parameters:
isCheckingRingsValid - isCheckingRingsValid true if generated rings should be checked for validity
public Collection getPolygons()
Gets the list of polygons formed by the polygonization.
Returns:
a collection of Polygons
public Geometry getGeometry()
Gets a geometry representing the polygons formed by the polygonization. If a valid polygonal geometry was extracted the result is a Polygonal geometry.
Returns:
a geometry containing the polygons
public Collection getDangles()
Gets the list of dangling lines found during polygonization.
Returns:
a collection of the input LineStrings which are dangles
public Collection getCutEdges()
Gets the list of cut edges found during polygonization.
Returns:
a collection of the input LineStrings which are cut edges
public Collection getInvalidRingLines()
Gets the list of lines forming invalid rings found during polygonization.
Returns:
a collection of the input LineStrings which form invalid rings