gis-tools-ts
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
34 lines • 2.78 kB
TypeScript
import type { MValue, Properties, VectorFeatures, VectorMultiPolygon, VectorMultiPolygonGeometry, VectorPolygon, VectorPolygonGeometry } from '../../../index.js';
/**
* Ensures the collection of polygon ring order is correct, removes duplicate points,
* and runs a dekink to be thorough.
*
* NOTE: This will not remove/reduce points that follow a path angle like [[0, 0], [0, 1], [0, 2], ...].
* The decision to leave this to the user is due to the fact that not all projections are guaranteed
* to support a linear relationship. Also sometimes the user want's to have these extra points for
* future/cleaner projection changes. For example, having higher precision works well when
* translating to spherical projections for instance. If you do want to remove these points, pass
* in true to `removeCollinearPoints`
* @param polygons - the collection of polygon as either a VectorFeature, VectorMultiPolygonGeometry, or raw VectorMultiPolygon
* @param removeCollinearPoints - if true, remove superfluous points
* @param cleanWGS84 - if true, clean WGS84 points to be in bounds
* @returns - the cleaned polygon
*/
export declare function cleanPolygons<M = Record<string, unknown>, D extends MValue = Properties, P extends Properties = Properties>(polygons: VectorMultiPolygon<D> | VectorMultiPolygonGeometry<D> | VectorFeatures<M, D, P, VectorMultiPolygonGeometry<D>>, removeCollinearPoints?: boolean, cleanWGS84?: boolean): VectorMultiPolygonGeometry<D> | undefined;
/**
* Ensures the polygon ring order is correct, removes duplicate points, and runs a dekink to be
* thorough.
*
* NOTE: This will not remove/reduce points that follow a path angle like [[0, 0], [0, 1], [0, 2], ...].
* The decision to leave this to the user is due to the fact that not all projections are guaranteed
* to support a linear relationship. Also sometimes the user want's to have these extra points for
* future/cleaner projection changes. For example, having higher precision works well when
* translating to spherical projections for instance. If you do want to remove these points, pass
* in true to `removeCollinearPoints`
* @param polygon - the polygon as either a VectorFeature, VectorPolygonGeometry, or raw VectorPolygon
* @param removeCollinearPoints - if true, remove superfluous points
* @param cleanWGS84 - if true, clean WGS84 points to be in bounds
* @returns - the cleaned polygon
*/
export declare function cleanPolygon<M = Record<string, unknown>, D extends MValue = Properties, P extends Properties = Properties>(polygon: VectorPolygon<D> | VectorPolygonGeometry<D> | VectorFeatures<M, D, P, VectorPolygonGeometry<D>>, removeCollinearPoints?: boolean, cleanWGS84?: boolean): VectorMultiPolygonGeometry<D> | undefined;
//# sourceMappingURL=clean.d.ts.map