GEOS
3.9.0dev

Provides an efficient method of unioning a collection of polygonal geometries. More...
#include <CascadedPolygonUnion.h>
Public Member Functions  
CascadedPolygonUnion (std::vector< geom::Polygon * > *polys)  
Creates a new instance to union the given collection of Geometrys. More...  
geom::Geometry *  Union () 
Computes the union of the input geometries. More...  
Static Public Member Functions  
static geom::Geometry *  Union (std::vector< geom::Polygon * > *polys) 
Computes the union of a collection of polygonal Geometrys. More...  
template<class T >  
static geom::Geometry *  Union (T start, T end) 
Computes the union of a set of polygonal Geometrys. More...  
static geom::Geometry *  Union (const geom::MultiPolygon *polys) 
Computes the union of a collection of polygonal Geometrys. More...  
Provides an efficient method of unioning a collection of polygonal geometries.
This algorithm is faster and likely more robust than the simple iterated approach of repeatedly unioning each polygon to a result geometry.
The buffer(0)
trick is sometimes faster, but can be less robust and can sometimes take an exceptionally long time to complete. This is particularly the case where there is a high degree of overlap between the polygons. In this case, buffer(0)
is forced to compute with all line segments from the outset, whereas cascading can eliminate many segments at each stage of processing. The best case for buffer(0) is the trivial case where there is no
overlap between the input geometries. However, this case is likely rare in practice.

inline 

static 

inlinestatic 
Computes the union of a set of polygonal Geometrys.
T  an iterator yelding something castable to const Polygon * 
start  start iterator 
end  end iterator 

static 
geom::Geometry* geos::operation::geounion::CascadedPolygonUnion::Union  (  ) 
Computes the union of the input geometries.
null
if no input geometries were provided