Table of Contents

Class Distance3DOp

Namespace
NetTopologySuite.Operation.Distance3D
Assembly
NetTopologySuite.dll

Find two points on two 3D 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).

3D geometries have vertex Z ordinates defined. 3D Polygons are assumed to lie in a single plane (which is enforced if not actually the case). 3D LineStrings and Points 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.

The algorithms used are straightforward O(n^2) comparisons. This worst-case performance could be improved on by using Voronoi techniques or spatial indexes.
public class Distance3DOp
Inheritance
Distance3DOp
Inherited Members

Constructors

Distance3DOp(Geometry, Geometry)

Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.

public Distance3DOp(Geometry g0, Geometry g1)

Parameters

g0 Geometry

A geometry

g1 Geometry

A geometry

Distance3DOp(Geometry, Geometry, double)

Constructs a DistanceOp that computes the distance and nearest points between the two specified geometries.

public Distance3DOp(Geometry g0, Geometry g1, double terminateDistance)

Parameters

g0 Geometry

A geometry

g1 Geometry

A geometry

terminateDistance double

The distance on which to terminate the search

Methods

Distance()

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

public double Distance()

Returns

double

The distance between the geometries
or 0 if either input geometry is empty

Exceptions

ArgumentException

Thrown if either input geometry is null.

Distance(Geometry, Geometry)

Compute the distance between the nearest points of two geometries.

public static double Distance(Geometry g0, Geometry g1)

Parameters

g0 Geometry

A geometry

g1 Geometry

A geometry

Returns

double

The distance between the geometries

IsWithinDistance(Geometry, Geometry, double)

Test whether two geometries lie within a given distance of each other.

public static bool IsWithinDistance(Geometry g0, Geometry g1, double distance)

Parameters

g0 Geometry

A geometry

g1 Geometry

A geometry

distance double

The distance to test

Returns

bool

true if g0.distance(g1) <= distance

NearestLocations()

Gets the locations of the nearest points in the input geometries. The locations are presented in the same order as the input Geometries.

public GeometryLocation[] NearestLocations()

Returns

GeometryLocation[]

A pair of GeometryLocations for the nearest points

NearestPoints()

Report the coordinates of the nearest points in the input geometries. The points are presented in the same order as the input Geometries.

public Coordinate[] NearestPoints()

Returns

Coordinate[]

A pair of Coordinates of the nearest points

NearestPoints(Geometry, Geometry)

Compute the the nearest points of two geometries. The points are presented in the same order as the input Geometries.

public static Coordinate[] NearestPoints(Geometry g0, Geometry g1)

Parameters

g0 Geometry

A geometry

g1 Geometry

A geometry

Returns

Coordinate[]

The nearest points in the geometries