GEOS
3.9.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 worstcase 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 distance between the nearest points of two geometries.
g0  a geom::Geometry 
g1  another geom::Geometry 
IllegalArgumentException  if either input geometry is null 

static 
double geos::operation::distance::DistanceOp::distance  (  ) 
Report the distance between the closest points on the input geometries.

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 

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 
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.