JTS Topology Suite version 1.12

com.vividsolutions.jts.operation.distance
Class DistanceOp

java.lang.Object
  extended by com.vividsolutions.jts.operation.distance.DistanceOp

public class DistanceOp
extends java.lang.Object

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.

Version:
1.7

Constructor Summary
DistanceOp(Geometry g0, Geometry g1)
          Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.
DistanceOp(Geometry g0, Geometry g1, double terminateDistance)
          Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.
 
Method Summary
 GeometryLocation[] closestLocations()
          Deprecated. renamed to nearestLocations
 Coordinate[] closestPoints()
          Deprecated. renamed to nearestPoints
static Coordinate[] closestPoints(Geometry g0, Geometry g1)
          Deprecated. renamed to nearestPoints
 double distance()
          Report the distance between the nearest points on the input geometries.
static double distance(Geometry g0, Geometry g1)
          Compute the distance between the nearest points of two geometries.
static boolean isWithinDistance(Geometry g0, Geometry g1, double distance)
          Test whether two geometries lie within a given distance of each other.
 GeometryLocation[] nearestLocations()
          Report the locations of the nearest points in the input geometries.
 Coordinate[] nearestPoints()
          Report the coordinates of the nearest points in the input geometries.
static Coordinate[] nearestPoints(Geometry g0, Geometry g1)
          Compute the the nearest points of two geometries.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DistanceOp

public DistanceOp(Geometry g0,
                  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

public DistanceOp(Geometry g0,
                  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
Method Detail

distance

public static double distance(Geometry g0,
                              Geometry g1)
Compute the distance between the nearest points of two geometries.

Parameters:
g0 - a Geometry
g1 - another Geometry
Returns:
the distance between the geometries

isWithinDistance

public static boolean isWithinDistance(Geometry g0,
                                       Geometry g1,
                                       double distance)
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

nearestPoints

public static Coordinate[] nearestPoints(Geometry g0,
                                         Geometry g1)
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

closestPoints

public static Coordinate[] closestPoints(Geometry g0,
                                         Geometry g1)
Deprecated. renamed to nearestPoints

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

distance

public double distance()
Report the distance between the nearest points on the input geometries.

Returns:
the distance between the geometries
Throws:
java.lang.IllegalArgumentException - if either input geometry is null

nearestPoints

public Coordinate[] 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

closestPoints

public Coordinate[] closestPoints()
Deprecated. renamed to nearestPoints

Returns:
a pair of Coordinates of the nearest points

nearestLocations

public GeometryLocation[] nearestLocations()
Report the locations of the nearest points in the input geometries. The locations are presented in the same order as the input Geometries.

Returns:
a pair of GeometryLocations for the nearest points

closestLocations

public GeometryLocation[] closestLocations()
Deprecated. renamed to nearestLocations

Returns:
a pair of GeometryLocations for the nearest points

JTS Topology Suite version 1.12