geos::operation::overlayng::EdgeMerger Class Reference

`#include <EdgeMerger.h>`

## Static Public Member Functions

static std::vector< Edge * > | merge (std::vector< Edge * > &edges)

## Detailed Description

Performs merging on the noded edges of the input geometries. Merging takes place on edges which are coincident (i.e. have the same coordinate list, modulo direction). The following situations can occur:

- Coincident edges from different input geometries have their labels combined
- Coincident edges from the same area geometry indicate a topology collapse. In this case the topology locations are "summed" to provide a final assignment of side location
- Coincident edges from the same linear geometry can simply be merged using the same ON location

One constraint that is maintained is that the direction of linear edges should be preserved if possible (which is the case if there is no other coincident edge, or if all coincident edges have the same direction). This ensures that the overlay output line direction will be as consistent as possible with input lines.

The merger also preserves the order of the edges in the input. This means that for polygon-line overlay the result lines will be in the same order as in the input (possibly with multiple result lines for a single input line).

Author
  mdavis

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

- EdgeMerger.h