require(["esri/geometry/operators/intersectionOperator"], (intersectionOperator) => { /* code goes here */ });
import * as intersectionOperator from "@arcgis/core/geometry/operators/intersectionOperator.js";
esri/geometry/operators/intersectionOperator
Create new geometries using the topological intersection of 2D geometries.
Property Overview
Name | Type | Summary | Object |
---|---|---|---|
Indicates if the operator supports input geometries that contain curves. | intersectionOperator |
Property Details
-
supportsCurves
supportsCurves Booleanreadonly
-
Indicates if the operator supports input geometries that contain curves.
- Default Value:true
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Accelerate a geometry. | intersectionOperator | ||
Performs the topological intersection operation on two geometries. | intersectionOperator | ||
Performs the topological intersection operation on the geometry set. | intersectionOperator |
Method Details
-
accelerateGeometry
accelerateGeometry(geometry){Boolean}
-
Accelerate a geometry. This method prepares the geometry for faster intersection operations when the same geometry is tested multiple times (e.g. in a loop with hundreds of iterations).
Parametergeometry GeometryUnionThe geometry to accelerate.
ReturnsType Description Boolean Returns true
if the geometry was successfully accelerated.
-
execute
execute(geometry1, geometry2){GeometryUnion |null |undefined}
-
Performs the topological intersection operation on two geometries.
If the input geometries have different dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest dimension of the inputs.
The table below describes the expected output for various combinations of geometry types. Note that the geometries are interchangeable in this operation and will return the same result if flipped.
geometry1
typegeometry2
typeResult geometry type Polygon/Extent Polygon/Extent Polygon Polygon/Extent Polyline Polyline Polygon Point Point Polygon Multipoint Multipoint Polyline Polyline Polyline Polyline Point Point Polyline Multipoint Multipoint Point Point Point Multipoint Multipoint Multipoint Note that two intersecting polylines will not return point geometries. Instead, this operator will return polyline paths that are equal or overlap between the two geometries. See executyMany() to find the point intersections of two polylines.
Parametersgeometry1 GeometryUnionThe geometry to intersect with
geometry2
.geometry2 GeometryUnionThe geometry to intersect with
geometry1
.ReturnsType Description GeometryUnion | null | undefined Returns the result of the intersection of the two geometries or null. Example// Creates a new geometry based on the intersection of two polygons const intersection = intersectionOperator.execute(polygon1, polygon2);
-
executeMany
executeMany(geometries, intersector){GeometryUnion[]}
-
Performs the topological intersection operation on the geometry set.
The table below describes the potential results for various combinations of geometry types based on how they intersect. For example, a polyline that touches a polygon would return a multipoint. If the geometries do not intersect, an empty array will be returned.
Input geometry type Intersector geometry type Result geometry types Point/Multipoint Point/Multipoint Multipoint Point/Multipoint Polyline Multipoint Point/Multipoint Polygon/Extent Multipoint Polyline Point, Multipoint Multipoint Polyline Polyline Polyline, Multipoint Polyline Polygon/Extent Polyline, Multipoint Polygon/Extent Point/Multipoint Multipoint Polygon/Extent Polyline Multipoint, Polyline Polygon/Extent Polygon/Extent Multipoint, Polyline, Polygon Parametersgeometries GeometryUnion[]The set of input geometries to be intersected by the
intersector
. All the geometries must have the same spatial reference.intersector GeometryUnionThe geometry to intersect with the
geometries
.ReturnsType Description GeometryUnion[] Returns an array of geometries created by intersecting every geometry in the input geometries with the intersector
, or an empty array if there is no intersection.