Simplify-Swift
Simplify-Swift 是一个高性能的 Swift 波浪线简化库,从 Simplify.js 端出色。原始 JavaScript 库是从 Leaflet,一个由 Vladimir Agafonkin 编写的 JS 交互式地图库中提取的。它结合了 Douglas-Peucker 和径向距离算法。
波形简化在保留波形形状的同时显著减少了波形中的点数,在处理它时提供了巨大的性能提升,同时也减少了视觉噪音。例如,在使用 MapKit 渲染大型波形时极为重要。
示例
要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install
安装
Simplify-Swift 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中即可
pod 'Simplify-Swift'
用法
class func simplify<T:SimplifyValue>(_ points: [T], tolerance: Float?, highQuality: Bool = false) -> [T]
返回简化的点的数组
- 参数
points
:点的数组,格式为SimplifyValue {x: Double, y: Double}
。支持泛型,因此您可以传递[CGPoint]
或[CLLocationCoordinate2D]
的数组。 - 参数
tolerance
:影响简化的程度(与点坐标相同的度量)。默认:1。 - 参数
highQuality
:排除基于距离的预处理步骤,这会导致最高质量简化,但运行速度慢约10-20倍。默认:false。
作者
Tomislav Filipcic, [email protected], @tomislav
许可
Simplify-Swift遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。