GEOS 3.14.0dev
Public Member Functions | Static Public Member Functions | List of all members
geos::operation::geounion::UnaryUnionOp Class Reference

Unions a collection of Geometry or a single Geometry (which may be a collection) together. More...

#include <UnaryUnionOp.h>

Public Member Functions

template<class T >
 UnaryUnionOp (const T &geoms, geom::GeometryFactory &geomFactIn)
 
template<class T >
 UnaryUnionOp (const T &geoms)
 
 UnaryUnionOp (const geom::Geometry &geom)
 
void setUnionFunction (UnionStrategy *unionFun)
 
std::unique_ptr< geom::GeometryUnion ()
 Gets the union of the input geometries.
 

Static Public Member Functions

template<typename T >
static std::unique_ptr< geom::GeometryUnion (const T &geoms)
 
template<class T >
static std::unique_ptr< geom::GeometryUnion (const T &geoms, geom::GeometryFactory &geomFact)
 
static std::unique_ptr< geom::GeometryUnion (const geom::Geometry &geom)
 

Detailed Description

Unions a collection of Geometry or a single Geometry (which may be a collection) together.

By using this special-purpose operation over a collection of geometries it is possible to take advantage of various optimizations to improve performance. Heterogeneous GeometryCollections are fully supported.

The result obeys the following contract:

UnaryUnion always operates on the individual components of MultiGeometries. So it is possible to use it to "clean" invalid self-intersecting MultiPolygons (although the polygon components must all still be individually valid.)

Member Function Documentation

◆ Union()

std::unique_ptr< geom::Geometry > geos::operation::geounion::UnaryUnionOp::Union ( )

Gets the union of the input geometries.

If no input geometries were provided, an empty GEOMETRYCOLLECTION is returned.

Returns
a Geometry containing the union
an empty GEOMETRYCOLLECTION if no geometries were provided in the input

The documentation for this class was generated from the following file: