Class RectangleContains

java.lang.Object
org.locationtech.jts.operation.predicate.RectangleContains

public class RectangleContains extends Object
Optimized implementation of the contains spatial predicate for cases where the first Geometry is a rectangle. This class works for all input geometries, including GeometryCollections.

As a further optimization, this class can be used to test many geometries against a single rectangle in a slightly more efficient way.

Version:
1.7
  • Field Details

  • Constructor Details

    • RectangleContains

      public RectangleContains(Polygon rectangle)
      Create a new contains computer for two geometries.
      Parameters:
      rectangle - a rectangular geometry
  • Method Details

    • contains

      public static boolean contains(Polygon rectangle, Geometry b)
      Tests whether a rectangle contains a given geometry.
      Parameters:
      rectangle - a rectangular Polygon
      b - a Geometry of any type
      Returns:
      true if the geometries intersect
    • contains

      public boolean contains(Geometry geom)
    • isContainedInBoundary

      private boolean isContainedInBoundary(Geometry geom)
    • isPointContainedInBoundary

      private boolean isPointContainedInBoundary(Point point)
    • isPointContainedInBoundary

      private boolean isPointContainedInBoundary(Coordinate pt)
      Tests if a point is contained in the boundary of the target rectangle.
      Parameters:
      pt - the point to test
      Returns:
      true if the point is contained in the boundary
    • isLineStringContainedInBoundary

      private boolean isLineStringContainedInBoundary(LineString line)
      Tests if a linestring is completely contained in the boundary of the target rectangle.
      Parameters:
      line - the linestring to test
      Returns:
      true if the linestring is contained in the boundary
    • isLineSegmentContainedInBoundary

      private boolean isLineSegmentContainedInBoundary(Coordinate p0, Coordinate p1)
      Tests if a line segment is contained in the boundary of the target rectangle.
      Parameters:
      p0 - an endpoint of the segment
      p1 - an endpoint of the segment
      Returns:
      true if the line segment is contained in the boundary