Class RectangleContains


  • public class RectangleContains
    extends java.lang.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
    • Constructor Detail

      • RectangleContains

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

      • 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