JTS Topology Suite version 1.12

com.vividsolutions.jts.operation.distance
Class IndexedFacetDistance

java.lang.Object
  extended by com.vividsolutions.jts.operation.distance.IndexedFacetDistance

public class IndexedFacetDistance
extends java.lang.Object

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 possibly also the query geometries.

This approach provides the following benefits:

Using this technique can be much more performant than using getDistance(Geometry) when one or both input geometries are large, or when evaluating many distance computations against a single geometry.

This class is not thread-safe.

Author:
Martin Davis

Constructor Summary
IndexedFacetDistance(Geometry g1)
          Creates a new distance-finding instance for a given target Geometry.
 
Method Summary
static double distance(Geometry g1, Geometry g2)
          Computes the distance between two geometries using the indexed approach.
 double getDistance(Geometry g)
          Computes the distance from the base geometry to the given geometry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexedFacetDistance

public IndexedFacetDistance(Geometry g1)
Creates a new distance-finding instance for a given target Geometry.

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 Lineal and Puntal inputs, this is equivalent to computing the conventional distance. In the case of Polygonal inputs, this is equivalent to computing the distance to the polygons boundaries.

Parameters:
g1 - a Geometry, which may be of any type.
Method Detail

distance

public static double distance(Geometry g1,
                              Geometry g2)
Computes the distance between two geometries using the indexed approach.

For geometries with many segments or points, this can be faster than using a simple distance algorithm.

Parameters:
g1 - a geometry
g2 - a geometry
Returns:
the distance between the two geometries

getDistance

public double getDistance(Geometry g)
Computes the distance from the base geometry to the given geometry.

Parameters:
g - the geometry to compute the distance to
Returns:
the computed distance

JTS Topology Suite version 1.12