GEOS
3.3.3
|
Computes the centroid of an area geometry. More...
#include <geos/geosAlgorithm.h>
Public Member Functions | |
void | add (const geom::Geometry *geom) |
void | add (const geom::CoordinateSequence *ring) |
geom::Coordinate * | getCentroid () const |
bool | getCentroid (geom::Coordinate &ret) const |
Return false if a centroid couldn't be computed. |
Computes the centroid of an area geometry.
Algorithm:
Based on the usual algorithm for calculating the centroid as a weighted sum of the centroids of a decomposition of the area into (possibly overlapping) triangles. The algorithm has been extended to handle holes and multi-polygons. See http://www.faqs.org/faqs/graphics/algorithms-faq/
for further details of the basic approach.
void geos::algorithm::CentroidArea::add | ( | const geom::Geometry * | geom | ) |
Adds the area defined by a Geometry to the centroid total. If the geometry has no area it does not contribute to the centroid.
geom | the geometry to add |
void geos::algorithm::CentroidArea::add | ( | const geom::CoordinateSequence * | ring | ) |
Adds the area defined by an array of coordinates. The array must be a ring; i.e. end with the same coordinate as it starts with.
ring | an array of Coordinates |