GEOS
3.2.3
|
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>
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::CoordinateSequence * | closestPoints () |
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. | |
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::CoordinateSequence * | nearestPoints (const geom::Geometry *g0, const geom::Geometry *g1) |
static geom::CoordinateSequence * | closestPoints (const geom::Geometry *g0, const geom::Geometry *g1) |
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.
geos::operation::distance::DistanceOp::DistanceOp | ( | const geom::Geometry * | g0, |
const geom::Geometry * | g1 | ||
) |
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.
g0 | a Geometry |
g1 | a 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.
g0 | a Geometry |
g1 | a Geometry |
terminateDistance | the distance on which to terminate the search |
static geom::CoordinateSequence* geos::operation::distance::DistanceOp::closestPoints | ( | const geom::Geometry * | g0, |
const geom::Geometry * | g1 | ||
) | [static] |
Compute the the closest points of two geometries.
The points are presented in the same order as the input Geometries.
Report the coordinates of the closest points in the input geometries. The points are presented in the same order as the input Geometries.
static double geos::operation::distance::DistanceOp::distance | ( | const geom::Geometry & | g0, |
const geom::Geometry & | g1 | ||
) | [static] |
static double geos::operation::distance::DistanceOp::distance | ( | const geom::Geometry * | g0, |
const geom::Geometry * | g1 | ||
) | [static] |
Report the distance between the closest points on the input geometries.
static bool geos::operation::distance::DistanceOp::isWithinDistance | ( | const geom::Geometry & | g0, |
const geom::Geometry & | g1, | ||
double | distance | ||
) | [static] |
static geom::CoordinateSequence* geos::operation::distance::DistanceOp::nearestPoints | ( | const geom::Geometry * | g0, |
const geom::Geometry * | g1 | ||
) | [static] |
Report the coordinates of the nearest points in the input geometries. The points are presented in the same order as the input Geometries.