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