Class RelateOp

java.lang.Object
org.locationtech.jts.operation.GeometryGraphOperation
org.locationtech.jts.operation.relate.RelateOp

public class RelateOp extends GeometryGraphOperation
Implements the SFS relate() generalized spatial predicate on two Geometrys.

The class supports specifying a custom BoundaryNodeRule to be used during the relate computation.

If named spatial predicates are used on the result IntersectionMatrix of the RelateOp, the result may or not be affected by the choice of BoundaryNodeRule, depending on the exact nature of the pattern. For instance, IntersectionMatrix.isIntersects() is insensitive to the choice of BoundaryNodeRule, whereas IntersectionMatrix.isTouches(int, int) is affected by the rule chosen.

Note: custom Boundary Node Rules do not (currently) affect the results of other Geometry methods (such as Geometry.getBoundary(). The results of these methods may not be consistent with the relationship computed by a custom Boundary Node Rule.

Version:
1.7
  • Field Details

  • Constructor Details

    • RelateOp

      public RelateOp(Geometry g0, Geometry g1)
      Creates a new Relate operation, using the default (OGC SFS) Boundary Node Rule.
      Parameters:
      g0 - a Geometry to relate
      g1 - another Geometry to relate
    • RelateOp

      public RelateOp(Geometry g0, Geometry g1, BoundaryNodeRule boundaryNodeRule)
      Creates a new Relate operation with a specified Boundary Node Rule.
      Parameters:
      g0 - a Geometry to relate
      g1 - another Geometry to relate
      boundaryNodeRule - the Boundary Node Rule to use
  • Method Details

    • relate

      public static IntersectionMatrix relate(Geometry a, Geometry b)
      Computes the IntersectionMatrix for the spatial relationship between two Geometrys, using the default (OGC SFS) Boundary Node Rule
      Parameters:
      a - a Geometry to test
      b - a Geometry to test
      Returns:
      the IntersectionMatrix for the spatial relationship between the geometries
    • relate

      public static IntersectionMatrix relate(Geometry a, Geometry b, BoundaryNodeRule boundaryNodeRule)
      Computes the IntersectionMatrix for the spatial relationship between two Geometrys using a specified Boundary Node Rule.
      Parameters:
      a - a Geometry to test
      b - a Geometry to test
      boundaryNodeRule - the Boundary Node Rule to use
      Returns:
      the IntersectionMatrix for the spatial relationship between the input geometries
    • getIntersectionMatrix

      public IntersectionMatrix getIntersectionMatrix()
      Gets the IntersectionMatrix for the spatial relationship between the input geometries.
      Returns:
      the IntersectionMatrix for the spatial relationship between the input geometries