GEOS  3.3.9
Public Member Functions | Static Public Member Functions
geos::operation::distance::DistanceOp Class Reference

Find two points on two 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>

List of all members.

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.
 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.
double distance ()
geom::CoordinateSequenceclosestPoints ()
geom::CoordinateSequencenearestPoints ()

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.
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.
static geom::CoordinateSequencenearestPoints (const geom::Geometry *g0, const geom::Geometry *g1)
static geom::CoordinateSequenceclosestPoints (const geom::Geometry *g0, const geom::Geometry *g1)

Detailed Description

Find two points on two 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

Deprecated:
use the one taking references

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

Compute the the closest points of two geometries.

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

Parameters:
g0a Geometry
g1another Geometry
Returns:
the closest points in the geometries, ownership to caller. A NULL return means one of the geometries is empty.
Deprecated:
renamed to nearestPoints

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

Returns:
a pair of Coordinates of the closest points as a newly allocated object (ownership to caller)
Deprecated:
renamed to nearestPoints
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 Geometry
g1another 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

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 Geometry
g1another Geometry
distancethe distance to test
Returns:
true if g0.distance(g1) <= distance

Compute the the nearest points of two geometries.

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

Parameters:
g0a Geometry
g1another Geometry
Returns:
the nearest points in the geometries, ownership to caller. A NULL return means one of the geometries is empty.

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 Coordinates of the nearest points as a newly allocated object (ownership to caller)

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