Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

geos::operation::polygonize::Polygonizer Class Reference

Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph. More...

#include <Polygonizer.h>

List of all members.

Public Member Functions

 Polygonizer ()
 Create a polygonizer with the same GeometryFactory as the input Geometry.
void add (std::vector< geom::Geometry * > *geomList)
 Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.
void add (std::vector< const geom::Geometry * > *geomList)
 Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.
void add (geom::Geometry *g)
void add (const geom::Geometry *g)
std::vector< geom::Polygon * > * getPolygons ()
 Gets the list of polygons formed by the polygonization.
std::vector< const geom::LineString * > * getDangles ()
 Get the list of dangling lines found during polygonization.
std::vector< const geom::LineString * > * getCutEdges ()
 Get the list of cut edges found during polygonization.
std::vector< geom::LineString * > * getInvalidRingLines ()
 Get the list of lines forming invalid rings found during polygonization.

Protected Attributes

PolygonizeGraphgraph
std::vector< const geom::LineString * > * dangles
std::vector< const geom::LineString * > * cutEdges
std::vector< geom::LineString * > * invalidRingLines
std::vector< EdgeRing * > * holeList
std::vector< EdgeRing * > * shellList
std::vector< geom::Polygon * > * polyList

Friends

class Polygonizer::LineStringAdder


Detailed Description

Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph.

Any dimension of Geometry is handled - the constituent linework is extracted to form the edges. The edges must be correctly noded; that is, they must only meet at their endpoints. The Polygonizer will still run on incorrectly noded input but will not form polygons from incorrected noded edges.

The Polygonizer reports the follow kinds of errors:


Member Function Documentation

void geos::operation::polygonize::Polygonizer::add const geom::Geometry g  ) 
 

Add a geometry to the linework 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 a Geometry with linework to be polygonized

void geos::operation::polygonize::Polygonizer::add geom::Geometry g  ) 
 

Add a geometry to the linework 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 a Geometry with linework to be polygonized

void geos::operation::polygonize::Polygonizer::add std::vector< const geom::Geometry * > *  geomList  ) 
 

Add a collection of geometries 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 of Geometry with linework to be polygonized

void geos::operation::polygonize::Polygonizer::add std::vector< geom::Geometry * > *  geomList  ) 
 

Add a collection of geometries 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 of Geometry with linework to be polygonized

std::vector<const geom::LineString*>* geos::operation::polygonize::Polygonizer::getCutEdges  ) 
 

Get the list of cut edges found during polygonization.

Returns:
a collection of the input LineStrings which are cut edges

std::vector<const geom::LineString*>* geos::operation::polygonize::Polygonizer::getDangles  ) 
 

Get the list of dangling lines found during polygonization.

Returns:
a collection of the input LineStrings which are dangles

std::vector<geom::LineString*>* geos::operation::polygonize::Polygonizer::getInvalidRingLines  ) 
 

Get the list of lines forming invalid rings found during polygonization.

Ownership is tranferred to caller, second call will return NULL (unless polygonize is called again).

Returns:
a collection of LineStrings which form invalid rings

std::vector<geom::Polygon*>* geos::operation::polygonize::Polygonizer::getPolygons  ) 
 

Gets the list of polygons formed by the polygonization.

Ownership of vector is transferred to caller, subsequent calls will return NULL.

Returns:
a collection of Polygons


The documentation for this class was generated from the following file:
Generated on Thu Jun 11 06:17:03 2009 for GEOS by  doxygen 1.4.4