# simplify-polyline **Repository Path**: ArkTSCentralRepository/simplify-polyline ## Basic Information - **Project Name**: simplify-polyline - **Description**: A high-performance ArkTS 2D polyline simplification library. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # simplify-polyline 基于[simplify-js](https://www.npmjs.com/package/simplify-js)原库1.2.4版本进行适配 > A high-performance ArkTS 2D polyline simplification library. ## Install ```sh ohpm install simplify-polyline ``` ## Type ### Point ```typescript interface Point { x: number; y: number; } ``` ### PointArray ```typescript type PointArray = T[]; ``` ## API ### simplify ```typescript function simplify( points: PointArray, tolerance?: number, highestQuality?: boolean ): PointArray; ``` 1. points 要简化的折线或多边形的坐标点数组 2. tolerance 简化容差,控制简化的程度。值越大,简化程度越高,保留的点越少,但形状变化可能越大 3. highQuality false:先进行径向简化,再进行 Douglas-Peucker 简化(性能更好) true:直接进行 Douglas-Peucker 简化(保留更多细节) ## Usage ```typescript import simplify, {Point} from 'simplify-polyline'; const points2D: Point[] = [ {x: 10, y: 20}, {x: 15, y: 25}, {x: 20, y: 30}, {x: 25, y: 35}, {x: 30, y: 40}, {x: 35, y: 45}, {x: 40, y: 50} ]; const tolerance = 1.0; const highQuality = false; const simplifiedPoints2D: Point[] = simplify(points2D, tolerance, highQuality); console.log(`原始点数: ${points2D.length}`); console.log(`简化后点数: ${simplifiedPoints2D.length}`); console.log(`简化后坐标: ${JSON.stringify(simplifiedPoints2D)}`); ```