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