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

Generalizes 2D geometries using Douglas-Peucker algorithm.

Generalize operator

Type definitions

Options

Type definition

removeDegenerateParts

Property
Type
boolean | undefined

Preserves degenerate parts. The operator will try to output three distinct vertices for closed polyline paths and polygon rings, and it will output two distinct vertices for open polyline paths.

When set to true, the degenerate parts of the geometries will be removed from the output. This may not be desirable for displaying the geometries.

Default value
false

unit

Property
Type
LengthUnit | undefined

The length unit of maxDeviation. The default is the input geometry's spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

Functions

execute

Function

Performs the generalize operation on the input geometry.

Signature
execute (geometry: GeometryUnion, maxDeviation: number, options?: Options): GeometryWithoutMeshUnion | null | undefined
Parameters
ParameterTypeDescriptionRequired
geometry

The input geometry to be generalized.

maxDeviation

The maximum allowed deviation from the generalized geometry to the original geometry. If maxDeviation <= 0 the operator returns the input geometry. Unless the unit option is set, the default is the spatial reference unit of geometry.

options

Additional options.

Returns
GeometryWithoutMeshUnion | null | undefined

Returns the generalized geometry or null.

Example
// Generalize a polyline geometry
const generalizedPolyline = generalizeOperator.execute(polyline, 10);

executeMany

Function

Performs the generalize operation on the input geometries.

Signature
executeMany (geometries: GeometryUnion[], maxDeviation: number, options?: Options): GeometryWithoutMeshUnion[]
Parameters
ParameterTypeDescriptionRequired
geometries

The input geometries to be generalized. All the geometries must have the same spatial reference.

maxDeviation

The maximum allowed deviation from the generalized geometry to the original geometry. If the value is less than or equal to zero, then the operator returns the input geometries. Unless the unit option is set, the default is the spatial reference unit of geometries.

options

Additional options.

Returns
GeometryWithoutMeshUnion[]

Returns an array of generalized geometries. Geometries with a dimension of < 1 are simply passed along.

Variables

supportsCurves

Variable

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

Type
boolean