require(["esri/geometry/operators/withinOperator"], (withinOperator) => { /* code goes here */ });
import * as withinOperator from "@arcgis/core/geometry/operators/withinOperator.js";
esri/geometry/operators/withinOperator
Perform a relational operation to determine if one 2D geometry is within another 2D geometry. Geometry A is within geometry B, when A is the intersection of A and B.
Geometry A can be non-simple geometry.
Property Overview
Name | Type | Summary | Object |
---|---|---|---|
Indicates if the operator supports input geometries that contain curves. | withinOperator |
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. | withinOperator | ||
Perform a within operation on two geometries. | withinOperator |
Method Details
-
accelerateGeometry
accelerateGeometry(geometry){Boolean}
-
Accelerate a geometry. This method prepares the geometry for faster within 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(inner, outer){Boolean}
-
Perform a within operation on two geometries.
Parametersinner GeometryUnionThe base geometry that is tested for the "within" relationship with
outer
.outer GeometryUnionThe comparison geometry that is tested for the "contains" relationship with
inner
.ReturnsType Description Boolean Returns true
ifinner
is withinouter
.ExampleReturns true if a geometry is completely within another const isWithin = withinOperator.execute(polygon1, polygon2);