GEOS
3.14.0dev
|
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) |
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.
Empty geometry collection components are ignored.
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 |
double geos::operation::distance::DistanceOp::distance | ( | ) |
Report the distance between the closest points on the input geometries.
|
static |
Compute the distance between the nearest points of two geometries.
g0 | a geom::Geometry |
g1 | another geom::Geometry |
IllegalArgumentException | if either input geometry is null |
|
static |
|
static |
Test whether two geometries lie within a given distance of each other.
g0 | a geom::Geometry |
g1 | another geom::Geometry |
distance | the distance to test |
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.
|
static |
Compute the the nearest points of two geometries.
The points are presented in the same order as the input Geometries.
g0 | a geom::Geometry |
g1 | another geom::Geometry |