GEOS
3.8.0dev
|
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. 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 () |
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. 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 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 |
Compute the the closest points of two geometries.
The points are presented in the same order as the input Geometries.
geom::CoordinateSequence* geos::operation::distance::DistanceOp::closestPoints | ( | ) |
Report the coordinates of the closest points in the input geometries. The points are presented in the same order as the input Geometries.
|
static |
|
static |
double geos::operation::distance::DistanceOp::distance | ( | ) |
Report the distance between the closest points on the input geometries.
|
static |
|
static |
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.