GEOS 3.14.0dev
|
Computes the location of points relative to a polygonal Geometry, using a simple O(n)
algorithm.
More...
#include <SimplePointInAreaLocator.h>
Public Member Functions | |
SimplePointInAreaLocator (const geom::Geometry *p_g) | |
SimplePointInAreaLocator (const geom::Geometry &p_g) | |
geom::Location | locate (const geom::CoordinateXY *p) override |
Static Public Member Functions | |
static geom::Location | locate (const geom::CoordinateXY &p, const geom::Geometry *geom) |
static geom::Location | locatePointInSurface (const geom::CoordinateXY &p, const geom::Surface &poly) |
Determines the Location of a point in a Surface. | |
static bool | isContained (const geom::CoordinateXY &p, const geom::Geometry *geom) |
Determines whether a point is contained in a Geometry, or lies on its boundary. | |
Computes the location of points relative to a polygonal Geometry, using a simple O(n)
algorithm.
The algorithm used reports if a point lies in the interior, exterior, or exactly on the boundary of the Geometry.
Instance methods are provided to implement the interface PointInAreaLocator
. However, they provide no performance advantage over the class methods.
This algorithm is suitable for use in cases where only a few points will be tested. If many points will be tested, IndexedPointInAreaLocator may provide better performance.
|
static |
Determines whether a point is contained in a Geometry, or lies on its boundary.
This is a convenience method for
Location::EXTERIOR != locate(p, geom)
p | the point to test |
geom | the geometry to test |
|
inlineoverridevirtual |
Determines the Location of a point in an areal Geometry.
p | the point to test |
Implements geos::algorithm::locate::PointOnGeometryLocator.
|
static |
Determines the Location of a point in a Surface.
The return value is one of:
Computes geom::Location::BOUNDARY
if the point lies exactly on the polygon boundary.
p | the point to test |
poly | the geometry to test |