org.locationtech.jts:jts-core 1.19.0
org.locationtech.jts.operation.distance3d

## Class Distance3DOp

• ```public class Distance3DOp
extends Object```
Find two points on two 3D `Geometry`s 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).

3D geometries have vertex Z ordinates defined. 3D `Polygon`s are assumed to lie in a single plane (which is enforced if not actually the case). 3D `LineString`s and `Point`s may have any configuration.

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 for X and Y ordinates. Z ordinate is not interpolated.

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

Constructors
Constructor and Description
```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

All Methods
Modifier and Type Method and Description
`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

`equals, 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:
`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 `Coordinate`s 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 `GeometryLocation`s for the nearest points