Class Polygonizer
- java.lang.Object
-
- org.meteoinfo.jts.operation.polygonize.Polygonizer
-
public class Polygonizer extends java.lang.ObjectPolygonizes a set ofGeometrys 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)
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.ListcutEdgesprotected java.util.Collectiondanglesprotected org.meteoinfo.jts.operation.polygonize.PolygonizeGraphgraphprotected java.util.ListholeListprotected java.util.ListinvalidRingLinesprotected java.util.ListpolyListprotected java.util.ListshellList
-
Constructor Summary
Constructors Constructor Description Polygonizer()Creates a polygonizer with the sameGeometryFactoryas the inputGeometrys.Polygonizer(boolean extractOnlyPolygonal)Creates a polygonizer and allow specifyng if only polygons which form a valid polygonal geometry are to be extracted.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.util.Collection geomList)Adds a collection of geometries to the edges to be polygonized.voidadd(Geometry g)Add aGeometryto the edges to be polygonized.java.util.CollectiongetCutEdges()Gets the list of cut edges found during polygonization.java.util.CollectiongetDangles()Gets the list of dangling lines found during polygonization.GeometrygetGeometry()Gets a geometry representing the polygons formed by the polygonization.java.util.CollectiongetInvalidRingLines()Gets the list of lines forming invalid rings found during polygonization.java.util.CollectiongetPolygons()Gets the list of polygons formed by the polygonization.voidsetCheckRingsValid(boolean isCheckingRingsValid)Allows disabling the valid ring checking, to optimize situations where invalid rings are not expected.
-
-
-
Field Detail
-
graph
protected org.meteoinfo.jts.operation.polygonize.PolygonizeGraph graph
-
dangles
protected java.util.Collection dangles
-
cutEdges
protected java.util.List cutEdges
-
invalidRingLines
protected java.util.List invalidRingLines
-
holeList
protected java.util.List holeList
-
shellList
protected java.util.List shellList
-
polyList
protected java.util.List polyList
-
-
Constructor Detail
-
Polygonizer
public Polygonizer()
Creates a polygonizer with the sameGeometryFactoryas the inputGeometrys. The output mask is#ALL_POLYS.
-
Polygonizer
public Polygonizer(boolean extractOnlyPolygonal)
Creates a polygonizer and allow specifyng if only polygons which form a valid polygonal geometry are to be extracted.- Parameters:
extractOnlyPolygonal- true if only polygons which form a valid polygonal geometry are to be extracted
-
-
Method Detail
-
add
public void add(java.util.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- a list ofGeometrys with linework to be polygonized
-
add
public void add(Geometry g)
Add aGeometryto 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- aGeometrywith linework to be polygonized
-
setCheckRingsValid
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- true if generated rings should be checked for validity
-
getPolygons
public java.util.Collection getPolygons()
Gets the list of polygons formed by the polygonization.- Returns:
- a collection of
Polygons
-
getGeometry
public Geometry getGeometry()
Gets a geometry representing the polygons formed by the polygonization. If a valid polygonal geometry was extracted the result is a geometry.- Returns:
- a geometry containing the polygons
-
getDangles
public java.util.Collection getDangles()
Gets the list of dangling lines found during polygonization.- Returns:
- a collection of the input
LineStrings which are dangles
-
getCutEdges
public java.util.Collection getCutEdges()
Gets the list of cut edges found during polygonization.- Returns:
- a collection of the input
LineStrings which are cut edges
-
getInvalidRingLines
public java.util.Collection getInvalidRingLines()
Gets the list of lines forming invalid rings found during polygonization.- Returns:
- a collection of the input
LineStrings which form invalid rings
-
-