GEOS  3.8.0dev
Public Member Functions | Static Public Member Functions | List of all members
geos::operation::distance::DistanceOp Class Reference

Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest points on the geometries (in which case this also provides the distance between the geometries). More...

#include <DistanceOp.h>

Public Member Functions

 DistanceOp (const geom::Geometry *g0, const geom::Geometry *g1)
 
 DistanceOp (const geom::Geometry &g0, const geom::Geometry &g1)
 Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries. More...
 
 DistanceOp (const geom::Geometry &g0, const geom::Geometry &g1, double terminateDistance)
 Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries. More...
 
double distance ()
 
std::unique_ptr
< geom::CoordinateSequence
nearestPoints ()
 

Static Public Member Functions

static double distance (const geom::Geometry &g0, const geom::Geometry &g1)
 Compute the distance between the nearest points of two geometries. More...
 
static double distance (const geom::Geometry *g0, const geom::Geometry *g1)
 
static bool isWithinDistance (const geom::Geometry &g0, const geom::Geometry &g1, double distance)
 Test whether two geometries lie within a given distance of each other. More...
 
static std::unique_ptr
< geom::CoordinateSequence
nearestPoints (const geom::Geometry *g0, const geom::Geometry *g1)
 

Detailed Description

Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest points on the geometries (in which case this also provides the distance between the geometries).

The distance computation also finds a pair of points in the input geometries which have the minimum distance between them. If a point lies in the interior of a line segment, the coordinate computed is a close approximation to the exact point.

The algorithms used are straightforward O(n^2) comparisons. This worst-case performance could be improved on by using Voronoi techniques or spatial indexes.

Constructor & Destructor Documentation

geos::operation::distance::DistanceOp::DistanceOp ( const geom::Geometry g0,
const geom::Geometry g1 
)
Deprecated:
use the one taking references
geos::operation::distance::DistanceOp::DistanceOp ( const geom::Geometry g0,
const geom::Geometry g1 
)

Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.

Parameters
g0a Geometry
g1a Geometry
geos::operation::distance::DistanceOp::DistanceOp ( const geom::Geometry g0,
const geom::Geometry g1,
double  terminateDistance 
)

Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.

Parameters
g0a Geometry
g1a Geometry
terminateDistancethe distance on which to terminate the search

Member Function Documentation

static double geos::operation::distance::DistanceOp::distance ( const geom::Geometry g0,
const geom::Geometry g1 
)
static

Compute the distance between the nearest points of two geometries.

Parameters
g0a geom::Geometry
g1another geom::Geometry
Returns
the distance between the geometries
0 if either input geometry is empty
Exceptions
IllegalArgumentExceptionif either input geometry is null
static double geos::operation::distance::DistanceOp::distance ( const geom::Geometry g0,
const geom::Geometry g1 
)
static
Deprecated:
, use the version taking references
double geos::operation::distance::DistanceOp::distance ( )

Report the distance between the closest points on the input geometries.

Returns
the distance between the geometries
static bool geos::operation::distance::DistanceOp::isWithinDistance ( const geom::Geometry g0,
const geom::Geometry g1,
double  distance 
)
static

Test whether two geometries lie within a given distance of each other.

Parameters
g0a geom::Geometry
g1another geom::Geometry
distancethe distance to test
Returns
true if g0.distance(g1) <= distance
static std::unique_ptr<geom::CoordinateSequence> geos::operation::distance::DistanceOp::nearestPoints ( const geom::Geometry g0,
const geom::Geometry g1 
)
static

Compute the the nearest points of two geometries.

The points are presented in the same order as the input Geometries.

Parameters
g0a geom::Geometry
g1another geom::Geometry
Returns
the nearest points in the geometries, ownership to caller. A NULL return means one of the geometries is empty.
std::unique_ptr<geom::CoordinateSequence> geos::operation::distance::DistanceOp::nearestPoints ( )

Report the coordinates of the nearest points in the input geometries. The points are presented in the same order as the input Geometries.

Returns
a pair of geom::Coordinates of the nearest points as a newly allocated object (ownership to caller)

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