@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
52 lines (48 loc) • 1.92 kB
TypeScript
/**
* Create a minimum bounding circle for the input geometry.
* The output is a polygon with a single closed circular segment containing curves.
* Implements the Welzl's algorithm using greedy heuristic with expected O(n) time complexity.
*
* > [!WARNING]
* >
* > **Note**
* >
* > If curves are not needed, then [densify](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/densifyOperator/) the output geometry.
*
* @since 4.31
*/
import type Polygon from "../Polygon.js";
import type { GeometryUnion } from "../types.js";
export interface Options {
/**
* If `true`, the input geometries will be merged into a single geometry before
* calculating the minimum bounding circle.
*
* @default false
*/
merge?: boolean;
}
/**
* Performs the minimum bounding circle operation on the geometry.
*
* @param geometry - The input geometry.
* @returns Returns the minimum bounding circle polygon with [curves](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/#curveRings).
* @example
* // Perform the minimum bounding circle operation
* const minimumBoundingCircle = minimumBoundingCircleOperator.execute(polygon);
*/
export function execute(geometry: GeometryUnion): Polygon;
/**
* Performs the minimum bounding circle operation on the geometry set.
*
* @param geometries - The set of input geometries.
* All the geometries must have the same spatial reference.
* @param options - Additional options.
* @returns Returns the minimum bounding circle polygons with [curves](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/#curveRings).
*/
export function executeMany(geometries: GeometryUnion[], options?: Options): Polygon[];
/**
* Indicates if the operator supports input geometries that contain curves.
* The value will always be `false`.
*/
export const supportsCurves: boolean;