Class IndexedFacetDistance
Computes the distance between the facets (segments and vertices) of two Geometrys using a Branch-and-Bound algorithm. The Branch-and-Bound algorithm operates over a traversal of R-trees built on the target and the query geometries.
This approach provides the following benefits:
- Performance is dramatically improved due to the use of the R-tree index and the pruning due to the Branch-and-Bound approach
- The spatial index on the target geometry is cached which allow reuse in an repeated query situation.
Inherited Members
Namespace: NetTopologySuite.Operation.Distance
Assembly: NetTopologySuite.dll
Syntax
public class IndexedFacetDistance
Remarks
This class is thread-safe.
Constructors
| Improve this Doc View SourceIndexedFacetDistance(Geometry)
Creates a new distance-finding instance for a given target Geometry.
Declaration
public IndexedFacetDistance(Geometry g1)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g1 | A Geometry, which may be of any type. |
Remarks
Distances will be computed to all facets of the input geometry. The facets of the geometry are the discrete segments and points contained in its components.
In the case of ILineal and IPuntal inputs, this is equivalent to computing the conventional distance.
In the case of IPolygonal inputs, this is equivalent to computing the distance to the polygon boundaries.
Methods
| Improve this Doc View SourceDistance(Geometry)
Computes the distance from the base geometry to the given geometry.
Declaration
public double Distance(Geometry g)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g | The geometry to compute the distance to. |
Returns
Type | Description |
---|---|
Double | The computed distance |
Distance(Geometry, Geometry)
Computes the distance between facets of two geometries.
Declaration
public static double Distance(Geometry g1, Geometry g2)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g1 | A geometry |
Geometry | g2 | A geometry |
Returns
Type | Description |
---|---|
Double | The distance between the two geometries |
Remarks
For geometries with many segments or points, this can be faster than using a simple distance algorithm.
IsWithinDistance(Geometry, Geometry, Double)
Tests whether the facets of two geometries lie within a given distance.
Declaration
public static bool IsWithinDistance(Geometry g1, Geometry g2, double distance)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g1 | A geometry |
Geometry | g2 | A geometry |
Double | distance | The distance limit |
Returns
Type | Description |
---|---|
Boolean |
|
IsWithinDistance(Geometry, Double)
Tests whether the base geometry lies within a specified distance of the given geometry.
Declaration
public bool IsWithinDistance(Geometry g, double maxDistance)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g | The geometry to test |
Double | maxDistance | The maximum distance to test |
Returns
Type | Description |
---|---|
Boolean |
|
NearestLocations(Geometry)
Computes the nearest locations on the base geometry and the given geometry.
Declaration
public GeometryLocation[] NearestLocations(Geometry g)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g | Ihe geometry to compute the nearest location to. |
Returns
Type | Description |
---|---|
GeometryLocation[] | The nearest locations. |
NearestPoints(Geometry)
Computes the nearest locations on the target geometry and the given geometry.
Declaration
public Coordinate[] NearestPoints(Geometry g)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g | Ihe geometry to compute the nearest point to. |
Returns
Type | Description |
---|---|
Coordinate[] | The nearest points. |
NearestPoints(Geometry, Geometry)
Computes the nearest points of the facets of two geometries.
Declaration
public static Coordinate[] NearestPoints(Geometry g1, Geometry g2)
Parameters
Type | Name | Description |
---|---|---|
Geometry | g1 | A geometry |
Geometry | g2 | A geometry |
Returns
Type | Description |
---|---|
Coordinate[] | The nearest points on the facets of the geometries |