UNPKG

gis-tools-ts

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

34 lines 2.78 kB
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