Package com.esri.core.geometry
Class OperatorIntersectionLocal
java.lang.Object
com.esri.core.geometry.Operator
com.esri.core.geometry.OperatorIntersection
com.esri.core.geometry.OperatorIntersectionLocal
- All Implemented Interfaces:
CombineOperator
-
Nested Class Summary
Nested classes/interfaces inherited from class com.esri.core.geometry.Operator
Operator.Type
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
accelerateGeometry
(Geometry geometry, SpatialReference spatialReference, Geometry.GeometryAccelerationDegree accelDegree) Processes Geometry to accelerate operations on it.boolean
canAccelerateGeometry
(Geometry geometry) Returns true if the geometry can be accelerated.execute
(GeometryCursor inputGeometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progressTracker) Performs the Topological Intersection operation on the geometry set.execute
(GeometryCursor input_geometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progress_tracker, int dimensionMask) Performs the Topological intersection operation on the geometry set.execute
(Geometry inputGeometry, Geometry intersector, SpatialReference sr, ProgressTracker progressTracker) Performs the Topological Intersection operation on the geometry.Methods inherited from class com.esri.core.geometry.OperatorIntersection
getType, local
Methods inherited from class com.esri.core.geometry.Operator
deaccelerateGeometry
-
Constructor Details
-
OperatorIntersectionLocal
OperatorIntersectionLocal()
-
-
Method Details
-
execute
public GeometryCursor execute(GeometryCursor inputGeometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progressTracker) Description copied from class:OperatorIntersection
Performs the Topological Intersection operation on the geometry set.- Specified by:
execute
in classOperatorIntersection
- 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 GeometryCursor execute(GeometryCursor input_geometries, GeometryCursor intersector, SpatialReference sr, ProgressTracker progress_tracker, int dimensionMask) Description copied from class:OperatorIntersection
Performs the Topological intersection operation on the geometry set.- Specified by:
execute
in classOperatorIntersection
- 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 Geometry execute(Geometry inputGeometry, Geometry intersector, SpatialReference sr, ProgressTracker progressTracker) Description copied from class:OperatorIntersection
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
- Specified by:
execute
in classOperatorIntersection
- 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.
-
accelerateGeometry
public boolean accelerateGeometry(Geometry geometry, SpatialReference spatialReference, Geometry.GeometryAccelerationDegree accelDegree) Description copied from class:Operator
Processes Geometry to accelerate operations on it. The Geometry and it's copies remain accelerated until modified. The acceleration of Geometry can be a time consuming operation. The accelerated geometry also takes more memory. Some operators share the same accelerator, some require a different one. If the accelerator is built for the given parameters, the method returns immediately.- Overrides:
accelerateGeometry
in classOperator
- Parameters:
geometry
- The geometry to be acceleratedspatialReference
- The spatial reference of that geometryaccelDegree
- The acceleration degree for geometry.
-
canAccelerateGeometry
Description copied from class:Operator
Returns true if the geometry can be accelerated.- Overrides:
canAccelerateGeometry
in classOperator
- Parameters:
geometry
-- Returns:
- true for geometries that can be accelerated, false for geometries that cannot
-