Class OperatorIntersection

java.lang.Object
com.esri.core.geometry.Operator
com.esri.core.geometry.OperatorIntersection
All Implemented Interfaces:
CombineOperator
Direct Known Subclasses:
OperatorIntersectionLocal

public abstract class OperatorIntersection extends Operator implements CombineOperator
Intersection of geometries by a given geometry.
  • Constructor Details

    • OperatorIntersection

      public OperatorIntersection()
  • Method Details

    • getType

      public Operator.Type getType()
      Specified by:
      getType in class Operator
    • execute

      public abstract GeometryCursor execute(GeometryCursor inputGeometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progressTracker)
      Performs the Topological Intersection operation on the geometry set.
      Parameters:
      inputGeometries - is the set of Geometry instances to be intersected by the intersector.
      intersector - is the intersector Geometry. The operator intersects every geometry in the inputGeometries with the first geometry of the intersector and returns the result.
    • execute

      public abstract GeometryCursor execute(GeometryCursor input_geometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progress_tracker, int dimensionMask)
      Performs the Topological intersection operation on the geometry set.
      Parameters:
      input_geometries - is the set of Geometry instances to be intersected by the intersector.
      intersector - is the intersector Geometry. Only single intersector is used, therefore, the intersector.next() is called only once.
      sr - The spatial reference is used to get tolerance value. Can be null, then the tolerance is not used and the operation is performed with a small tolerance value just enough to make the operation robust.
      progress_tracker - Allows to cancel the operation. Can be null.
      dimensionMask - The dimension of the intersection. The value is either -1, or a bitmask mask of values (1 << dim). The value of -1 means the lower dimension in the intersecting pair. This is a fastest option when intersecting polygons with polygons or polylines. The bitmask of values (1 << dim), where dim is the desired dimension value, is used to indicate what dimensions of geometry one wants to be returned. For example, to return multipoints and lines only, pass (1 << 0) | (1 << 1), which is equivalen to 1 | 2, or 3.
      Returns:
      Returns the cursor of the intersection result. The cursors' getGeometryID method returns the current ID of the input geometry being processed. When dimensionMask is a bitmask, there will be n result geometries per one input geometry returned, where n is the number of bits set in the bitmask. For example, if the dimensionMask is 5, there will be two geometries per one input geometry. The operator intersects every geometry in the input_geometries with the first geometry of the intersector and returns the result. Note, when the dimensionMask is -1, then for each intersected pair of geometries, the result has the lower of dimentions of the two geometries. That is, the dimension of the Polyline/Polyline intersection is always 1 (that is, for polylines it never returns crossing points, but the overlaps only). If dimensionMask is 7, the operation will return any possible intersections.
    • execute

      public abstract Geometry execute(Geometry inputGeometry, Geometry intersector, SpatialReference sr, ProgressTracker progressTracker)
      Performs the Topological Intersection operation on the geometry. The result has the lower of dimentions of the two geometries. That is, the dimension of the Polyline/Polyline intersection is always 1 (that is, for polylines it never returns crossing points, but the overlaps only). The call is equivalent to calling the overloaded method using cursors: execute(new SimpleGeometryCursor(input_geometry), new SimpleGeometryCursor(intersector), sr, progress_tracker, mask).next(); where mask can be either -1 or min(1 << input_geometry.getDimension(), 1 << intersector.getDimension());
      Specified by:
      execute in interface CombineOperator
      Parameters:
      inputGeometry - is the Geometry instance to be intersected by the intersector.
      intersector - is the intersector Geometry.
      sr - The spatial reference to get the tolerance value from. Can be null, then the tolerance is calculated from the input geometries.
      progressTracker - ProgressTracker instance that is used to cancel the lengthy operation. Can be null.
      Returns:
      Returns the intersected Geometry.
    • local

      public static OperatorIntersection local()