SimplifySwift 1.2.2

SimplifySwift 1.2.2

Tomislav Filipcic 维护。



Simplify-Swift

Version License Platform

Simplify-Swift是从Simplify.js移植的高性能Swift折线简化库。原始的JavaScript库是从由Leaflet(Leaflet是一个由Vladimir Agafonkin开发的前端JS交互式地图库)提取出来的。它结合了Douglas-Peucker和径向距离算法。

折线简化显著减少了折线中的点数,同时保留其形状,在处理过程中提供了巨大的性能提升,并减少了视觉噪声。例如,在MapKit中渲染大型折线时,这是必需的。

Simplify-Swift screenshot

示例

要运行示例项目,先从仓库中克隆,然后从Example目录中首先运行pod install

安装

CocoaPods

要使用CocoaPods将Simplify-Swift集成到您的Xcode项目中,请在Podfile中指定它。

pod 'Simplify-Swift'

Swift 包管理器 (SPM)

要使用 Apple 的 Swift 包管理器进行集成,请将以下内容添加到您的 Package.swift 作为依赖项

.package(url: "https://github.com/tomislav/Simplify-Swift.git", .upToNextMajor(from: "1.0.0"))

用法

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 文件。