Package com.esri.core.geometry
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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.esri.core.geometry.Operator
Operator.Type
-
-
Constructor Summary
Constructors Constructor Description OperatorIntersection()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract GeometryCursor
execute(GeometryCursor inputGeometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progressTracker)
Performs the Topological Intersection operation on the geometry set.abstract GeometryCursor
execute(GeometryCursor input_geometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progress_tracker, int dimensionMask)
Performs the Topological intersection operation on the geometry set.abstract Geometry
execute(Geometry inputGeometry, Geometry intersector, SpatialReference sr, ProgressTracker progressTracker)
Performs the Topological Intersection operation on the geometry.Operator.Type
getType()
static OperatorIntersection
local()
-
Methods inherited from class com.esri.core.geometry.Operator
accelerateGeometry, canAccelerateGeometry, deaccelerateGeometry
-
-
-
-
Method Detail
-
getType
public Operator.Type getType()
-
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 interfaceCombineOperator
- 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()
-
-