JTS Topology Suite version 1.13

com.vividsolutions.jts.operation.distance3d
Class Distance3DOp

java.lang.Object
  extended by com.vividsolutions.jts.operation.distance3d.Distance3DOp

public class Distance3DOp
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
Distance3DOp(Geometry g0, Geometry g1)
          Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.
Distance3DOp(Geometry g0, Geometry g1, double terminateDistance)
          Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.
 
Method Summary
 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

Distance3DOp

public Distance3DOp(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

Distance3DOp

public Distance3DOp(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

distance

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

Returns:
the distance between the geometries, or 0 if either input geometry is empty
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

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

JTS Topology Suite version 1.13