# geos::operation::distance::DistanceOp Class Reference

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

List of all members.

## 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.
| 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.
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.
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.
static geom::CoordinateSequence * | nearestPoints (const geom::Geometry *g0, const geom::Geometry *g1)
static geom::CoordinateSequence * | closestPoints (const geom::Geometry *g0, const geom::Geometry *g1)

## Detailed Description

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 worst-case performance could be improved on by using Voronoi techniques or spatial indexes.

## Constructor & Destructor Documentation

geos::operation::distance::DistanceOp::DistanceOp | ( | const geom::Geometry * | g0,
|  | const geom::Geometry * | g1
| ) |  |

Deprecated:
  use the one taking references

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

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

## Member Function Documentation

static geom::CoordinateSequence* geos::operation::distance::DistanceOp::closestPoints | ( | const geom::Geometry * | g0,
|  | const geom::Geometry * | g1
| ) |  | `[static]`

Compute the the closest points of two geometries.

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

Parameters:

  g0 | a Geometry
  g1 | another Geometry

Returns:
  the closest points in the geometries, ownership to caller. A NULL return means one of the geometries is empty.

Deprecated:
  renamed to nearestPoints

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.

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

Deprecated:
  renamed to nearestPoints

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 Geometry
  g1 | another Geometry

Returns:
  the distance between the geometries

static double geos::operation::distance::DistanceOp::distance | ( | const geom::Geometry * | g0,
|  | const geom::Geometry * | g1
| ) |  | `[static]`

Deprecated:
  , use the version taking references

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

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

Returns:
  the distance between the geometries

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 Geometry
  g1 | another Geometry
  distance | the distance to test

Returns:
  true if g0.distance(g1) <= distance

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.

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

static geom::CoordinateSequence* 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 Geometry
  g1 | another 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:

- DistanceOp.h