GEOS 3.11.1
Public Member Functions | Static Public Member Functions | List of all members
geos::algorithm::locate::SimplePointInAreaLocator Class Reference

Computes the location of points relative to a polygonal Geometry, using a simple O(n) algorithm. More...

#include <SimplePointInAreaLocator.h>

Inheritance diagram for geos::algorithm::locate::SimplePointInAreaLocator:
geos::algorithm::locate::PointOnGeometryLocator

Public Member Functions

 SimplePointInAreaLocator (const geom::Geometry *p_g)
 
geom::Location locate (const geom::Coordinate *p) override
 
virtual geom::Location locate (const geom::Coordinate *p)=0
 

Static Public Member Functions

static geom::Location locate (const geom::Coordinate &p, const geom::Geometry *geom)
 
static geom::Location locatePointInPolygon (const geom::Coordinate &p, const geom::Polygon *poly)
 Determines the Location of a point in a Polygon. More...
 
static bool isContained (const geom::Coordinate &p, const geom::Geometry *geom)
 Determines whether a point is contained in a Geometry, or lies on its boundary. More...
 

Detailed Description

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.

Member Function Documentation

◆ isContained()

static bool geos::algorithm::locate::SimplePointInAreaLocator::isContained ( const geom::Coordinate p,
const geom::Geometry geom 
)
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)
Parameters
pthe point to test
geomthe geometry to test
Returns
true if the point lies in or on the geometry

◆ locate()

geom::Location geos::algorithm::locate::SimplePointInAreaLocator::locate ( const geom::Coordinate p)
inlineoverridevirtual

Determines the Location of a point in an areal Geometry.

Parameters
pthe point to test
Returns
the location of the point in the geometry

Implements geos::algorithm::locate::PointOnGeometryLocator.

◆ locatePointInPolygon()

static geom::Location geos::algorithm::locate::SimplePointInAreaLocator::locatePointInPolygon ( const geom::Coordinate p,
const geom::Polygon poly 
)
static

Determines the Location of a point in a Polygon.

The return value is one of:

Computes geom::Location::BOUNDARY if the point lies exactly on the polygon boundary.

Parameters
pthe point to test
polythe geometry to test
Returns
the Location of the point in the polygon

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