@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
63 lines (59 loc) • 2.8 kB
TypeScript
/**
* Generalizes 2D geometries using Douglas-Peucker algorithm.
*
* 
*
* @since 4.31
*/
import type { LengthUnit } from "../../core/units.js";
import type { GeometryUnion, GeometryWithoutMeshUnion } from "../types.js";
export interface Options {
/**
* 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 false
*/
removeDegenerateParts?: boolean;
/**
* 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.
*/
unit?: LengthUnit;
}
/**
* Performs the generalize operation on the input geometry.
*
* @param geometry - The input geometry to be generalized.
* @param 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`.
* @param options - Additional options.
* @returns Returns the generalized geometry or null.
* @example
* // Generalize a polyline geometry
* const generalizedPolyline = generalizeOperator.execute(polyline, 10);
*/
export function execute(geometry: GeometryUnion, maxDeviation: number, options?: Options): GeometryWithoutMeshUnion | null | undefined;
/**
* Performs the generalize operation on the input geometries.
*
* @param geometries - The input geometries to be generalized.
* All the geometries must have the same spatial reference.
* @param 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`.
* @param options - Additional options.
* @returns Returns an array of generalized geometries. Geometries with a dimension of < 1 are simply passed along.
*/
export function executeMany(geometries: GeometryUnion[], maxDeviation: number, options?: Options): GeometryWithoutMeshUnion[];
/**
* Indicates if the operator supports input geometries that contain curves.
* The value will always be `true`. This will produce densified output geometries.
*/
export const supportsCurves: boolean;