Packages

object IndexedFacetDistance

Computes the distance between the facets (segments and vertices) of two {link Geometry}s 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.

Using this technique is usually much more performant than using the brute-force {link Geometry#distance(Geometry)} when one or both input geometries are large, or when evaluating many distance computations against a single geometry.

This class is thread-safe.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IndexedFacetDistance
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def distance(g1: Geometry, g2: Geometry): Double

    Computes the distance between facets of two geometries.

    Computes the distance between facets of two geometries.

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

    g1

    a geometry

    g2

    a geometry return the distance between facets of the geometries

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def isWithinDistance(g1: Geometry, g2: Geometry, distance: Double): Boolean

    Tests whether the facets of two geometries lie within a given distance.

    Tests whether the facets of two geometries lie within a given distance.

    g1

    a geometry

    g2

    a geometry

    distance

    the distance limit return true if two facets lie with the given distance

  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def nearestPoints(g1: Geometry, g2: Geometry): Array[Coordinate]

    Computes the nearest points of the facets of two geometries.

    Computes the nearest points of the facets of two geometries.

    g1

    a geometry

    g2

    a geometry return the nearest points on the facets of the geometries

  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped