GEOS  3.12.0dev
geos::operation::distance::DistanceOp Class Reference

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::CoordinateSequencenearestPoints ()

## 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::CoordinateSequencenearestPoints (const geom::Geometry *g0, const geom::Geometry *g1)

## Detailed Description

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.

## ◆ DistanceOp() [1/3]

 geos::operation::distance::DistanceOp::DistanceOp ( const geom::Geometry * g0, const geom::Geometry * g1 )
Deprecated:
use the one taking references

## ◆ DistanceOp() [2/3]

 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.

Parameters
 g0 a Geometry g1 a Geometry

## ◆ DistanceOp() [3/3]

 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.

Parameters
 g0 a Geometry g1 a Geometry terminateDistance the distance on which to terminate the search

## ◆ distance() [1/3]

 double geos::operation::distance::DistanceOp::distance ( )

Report the distance between the closest points on the input geometries.

Returns
the distance between the geometries

## ◆ distance() [2/3]

 static double geos::operation::distance::DistanceOp::distance ( const geom::Geometry & g0, const geom::Geometry & g1 )
static

Compute the distance between the nearest points of two geometries.

Parameters
 g0 a geom::Geometry g1 another geom::Geometry
Returns
the distance between the geometries
0 if either input geometry is empty
Exceptions
 IllegalArgumentException if either input geometry is null

## ◆ distance() [3/3]

 static double geos::operation::distance::DistanceOp::distance ( const geom::Geometry * g0, const geom::Geometry * g1 )
static
Deprecated:
, use the version taking references

## ◆ isWithinDistance()

 static bool geos::operation::distance::DistanceOp::isWithinDistance ( const geom::Geometry & g0, const geom::Geometry & g1, double distance )
static

Test whether two geometries lie within a given distance of each other.

Parameters
 g0 a geom::Geometry g1 another geom::Geometry distance the distance to test
Returns
true if g0.distance(g1) <= distance

## ◆ nearestPoints() [1/2]

 std::unique_ptr 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.

Returns
a pair of geom::Coordinates of the nearest points as a newly allocated object (ownership to caller)

## ◆ nearestPoints() [2/2]

 static std::unique_ptr geos::operation::distance::DistanceOp::nearestPoints ( const geom::Geometry * g0, const geom::Geometry * g1 )
static

Compute the the nearest points of two geometries.

The points are presented in the same order as the input Geometries.

Parameters
 g0 a geom::Geometry g1 another geom::Geometry
Returns
the nearest points in the geometries, ownership to caller. A NULL return means one of the geometries is empty.

The documentation for this class was generated from the following file: