public interface PreparedGeometry
Geometry
s
in order to optimize the performance
of repeated calls to specific geometric operations.
A given implementation may provide optimized implementations
for only some of the specified methods,
and delegate the remaining methods to the original Geometry
operations.
An implementation may also only optimize certain situations,
and delegate others.
See the implementing classes for documentation about which methods and situations
they optimize.
Subclasses are intended to be thread-safe, to allow PreparedGeometry
to be used in a multi-threaded context
(which allows extracting maximum benefit from the prepared state).
Modifier and Type | Method and Description |
---|---|
boolean |
contains(Geometry geom)
Tests whether the base
Geometry contains a given geometry. |
boolean |
containsProperly(Geometry geom)
Tests whether the base
Geometry properly contains a given geometry. |
boolean |
coveredBy(Geometry geom)
Tests whether the base
Geometry is covered by a given geometry. |
boolean |
covers(Geometry geom)
Tests whether the base
Geometry covers a given geometry. |
boolean |
crosses(Geometry geom)
Tests whether the base
Geometry crosses a given geometry. |
boolean |
disjoint(Geometry geom)
Tests whether the base
Geometry is disjoint from a given geometry. |
Geometry |
getGeometry()
Gets the original
Geometry which has been prepared. |
boolean |
intersects(Geometry geom)
Tests whether the base
Geometry intersects a given geometry. |
boolean |
overlaps(Geometry geom)
Tests whether the base
Geometry overlaps a given geometry. |
boolean |
touches(Geometry geom)
Tests whether the base
Geometry touches a given geometry. |
boolean |
within(Geometry geom)
Tests whether the base
Geometry is within a given geometry. |
Geometry getGeometry()
Geometry
which has been prepared.boolean contains(Geometry geom)
Geometry
contains a given geometry.geom
- the Geometry to testGeometry.contains(Geometry)
boolean containsProperly(Geometry geom)
Geometry
properly contains a given geometry.
The containsProperly
predicate has the following equivalent definitions:
[T**FF*FF*]
Geometry.contains(org.locationtech.jts.geom.Geometry)
predicate,
in which test geometries can intersect the target's boundary and still be contained.
The advantage of using this predicate is that it can be computed efficiently, since it avoids the need to compute the full topological relationship of the input boundaries in cases where they intersect.
An example use case is computing the intersections of a set of geometries with a large polygonal geometry. Since intersection is a fairly slow operation, it can be more efficient to use containsProperly to filter out test geometries which lie wholly inside the area. In these cases the intersection is known a priori to be exactly the original test geometry.
geom
- the Geometry to testGeometry.contains(org.locationtech.jts.geom.Geometry)
boolean coveredBy(Geometry geom)
Geometry
is covered by a given geometry.geom
- the Geometry to testGeometry.coveredBy(Geometry)
boolean covers(Geometry geom)
Geometry
covers a given geometry.geom
- the Geometry to testGeometry.covers(Geometry)
boolean crosses(Geometry geom)
Geometry
crosses a given geometry.geom
- the Geometry to testGeometry.crosses(Geometry)
boolean disjoint(Geometry geom)
Geometry
is disjoint from a given geometry.
This method supports GeometryCollection
s as inputgeom
- the Geometry to testGeometry.disjoint(Geometry)
boolean intersects(Geometry geom)
Geometry
intersects a given geometry.
This method supports GeometryCollection
s as inputgeom
- the Geometry to testGeometry.intersects(Geometry)
boolean overlaps(Geometry geom)
Geometry
overlaps a given geometry.geom
- the Geometry to testGeometry.overlaps(Geometry)
boolean touches(Geometry geom)
Geometry
touches a given geometry.geom
- the Geometry to testGeometry.touches(Geometry)
boolean within(Geometry geom)
Geometry
is within a given geometry.geom
- the Geometry to testGeometry.within(Geometry)
Copyright © 2020. All rights reserved.