Class PreparedPolygon

java.lang.Object
org.locationtech.jts.geom.prep.PreparedPolygon
All Implemented Interfaces:
PreparedGeometry

public class PreparedPolygon extends Object
A prepared version for Polygonal geometries. This class supports both Polygons and MultiPolygons.

This class does not support MultiPolygons which are non-valid (e.g. with overlapping elements).

Instances of this class are thread-safe and immutable.

Author:
mbdavis
  • Constructor Details

    • PreparedPolygon

      public PreparedPolygon(Polygonal poly)
  • Method Details

    • getIntersectionFinder

      public FastSegmentSetIntersectionFinder getIntersectionFinder()
      Gets the indexed intersection finder for this geometry.
      Returns:
      the intersection finder
    • getPointLocator

      public PointOnGeometryLocator getPointLocator()
    • intersects

      public boolean intersects(Geometry g)
      Default implementation.
      Specified by:
      intersects in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry intersects the given Geometry
      See Also:
    • contains

      public boolean contains(Geometry g)
      Default implementation.
      Specified by:
      contains in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry contains the given Geometry
      See Also:
    • containsProperly

      public boolean containsProperly(Geometry g)
      Default implementation.
      Specified by:
      containsProperly in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry properly contains the given Geometry
      See Also:
    • covers

      public boolean covers(Geometry g)
      Default implementation.
      Specified by:
      covers in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry covers the given Geometry
      See Also:
    • getGeometry

      public Geometry getGeometry()
      Description copied from interface: PreparedGeometry
      Gets the original Geometry which has been prepared.
      Specified by:
      getGeometry in interface PreparedGeometry
      Returns:
      the base geometry
    • getRepresentativePoints

      public List getRepresentativePoints()
      Gets the list of representative points for this geometry. One vertex is included for every component of the geometry (i.e. including one for every ring of polygonal geometries). Do not modify the returned list!
      Returns:
      a List of Coordinate
    • isAnyTargetComponentInTest

      public boolean isAnyTargetComponentInTest(Geometry testGeom)
      Tests whether any representative of the target geometry intersects the test geometry. This is useful in A/A, A/L, A/P, L/P, and P/P cases.
      Parameters:
      testGeom - the test geometry
      Returns:
      true if any component intersects the areal test geometry
    • envelopesIntersect

      protected boolean envelopesIntersect(Geometry g)
      Determines whether a Geometry g interacts with this geometry by testing the geometry envelopes.
      Parameters:
      g - a Geometry
      Returns:
      true if the envelopes intersect
    • envelopeCovers

      protected boolean envelopeCovers(Geometry g)
      Determines whether the envelope of this geometry covers the Geometry g.
      Parameters:
      g - a Geometry
      Returns:
      true if g is contained in this envelope
    • coveredBy

      public boolean coveredBy(Geometry g)
      Default implementation.
      Specified by:
      coveredBy in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry is covered by the given Geometry
      See Also:
    • crosses

      public boolean crosses(Geometry g)
      Default implementation.
      Specified by:
      crosses in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry crosses the given Geometry
      See Also:
    • disjoint

      public boolean disjoint(Geometry g)
      Standard implementation for all geometries. Supports GeometryCollections as input.
      Specified by:
      disjoint in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry is disjoint from the given Geometry
      See Also:
    • overlaps

      public boolean overlaps(Geometry g)
      Default implementation.
      Specified by:
      overlaps in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry overlaps the given Geometry
      See Also:
    • touches

      public boolean touches(Geometry g)
      Default implementation.
      Specified by:
      touches in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry touches the given Geometry
      See Also:
    • within

      public boolean within(Geometry g)
      Default implementation.
      Specified by:
      within in interface PreparedGeometry
      Parameters:
      g - the Geometry to test
      Returns:
      true if this Geometry is within the given Geometry
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object