Skip to content
import { accelerateGeometry, execute, isValidDE9IM, supportsCurves } from "@arcgis/core/geometry/operators/relateOperator.js";
Since
ArcGIS Maps SDK for JavaScript 4.31

Performs a relational operation between two 2D geometries using the DE-9IM matrix encoded as a string. The DE-9IM matrix is a 3x3 matrix that describes the topological relationship between two geometries.

See, http://en.wikipedia.org/wiki/DE-9IM.

Functions

accelerateGeometry

Function

Accelerate a geometry. This method prepares the geometry for faster relate operations when the same geometry is tested multiple times (e.g. in a loop with hundreds of iterations). See the Acceleration guide topic for more information.

Signature
accelerateGeometry (geometry: GeometryUnion): boolean
Parameters
ParameterTypeDescriptionRequired
geometry

The geometry to accelerate.

Returns
boolean

Returns true if the geometry was successfully accelerated.

execute

Function
Signature
execute (geometry1: GeometryUnion, geometry2: GeometryUnion, relation: string): boolean
Parameters
ParameterTypeDescriptionRequired
geometry1

The first geometry for the relation.

geometry2

The second geometry for the relation.

relation

The DE-9IM matrix relation encoded as a string to test against the relationship of the two geometries

Returns
boolean

Returns true if the two geometries satisfy the DE-9IM matrix relation.

Example
// Returns true if the polygon geometry completely
// contains the polyline based on the DE-9IM string
const isRelated = relateOperator.execute(polygon, polyline, "TTTFFTFFT");

isValidDE9IM

Function

Indicates if the DE-9IM matrix relation is valid.

Signature
isValidDE9IM (relation: string): boolean
Parameters
ParameterTypeDescriptionRequired
relation

The DE-9IM matrix relation encoded as a string.

Returns
boolean

Returns true if the DE-9IM matrix relation is valid.

Variables

supportsCurves

Variable

Indicates if the operator supports input geometries that contain curves. The value will always be true.

Type
boolean