public class Distance3DOp extends Object
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.
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.
|
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.
|
public Distance3DOp(Geometry g0, Geometry g1)
g0
- a Geometryg1
- a Geometrypublic Distance3DOp(Geometry g0, Geometry g1, double terminateDistance)
g0
- a Geometryg1
- a GeometryterminateDistance
- the distance on which to terminate the searchpublic static double distance(Geometry g0, Geometry g1)
public static boolean isWithinDistance(Geometry g0, Geometry g1, double distance)
public static Coordinate[] nearestPoints(Geometry g0, Geometry g1)
public double distance()
IllegalArgumentException
- if either input geometry is nullpublic Coordinate[] nearestPoints()
Coordinate
s of the nearest pointspublic GeometryLocation[] nearestLocations()
GeometryLocation
s for the nearest pointsCopyright © 2022. All rights reserved.