Latest 0.2.0
Homepage https://github.com/malcommac/SwiftSimplify
License MIT
Platforms ios 8.0, requires ARC
Frameworks CoreLocation
Authors

SwiftSimplify

[![CI Status](http://img.shields.io/travis/daniele margutti/SwiftSimplify.svg?style=flat)](https://travis-ci.org/daniele margutti/SwiftSimplify)
Version
License
Platform

★★ Star our github repository to help us! ★★

SwiftSimplify is a tiny high-performance Swift polyline simplification library ported from Javascript’s Simplify.js. Original work come from Leaflet, a JS interactive maps library by Vladimir Agafonkin.
It uses a combination of Douglas-Peucker and Radial Distance algorithms. Works both on browser and server platforms.

Polyline simplification dramatically reduces the number of points in a polyline while retaining its shape, giving a huge performance boost when processing it and also reducing visual noise. For example, it’s essential when rendering a 70k-points line chart or a map route in the browser using MapKit.

SwiftSimplify

Requirements

  • iOS 8.0+ / Mac OS X 10.10+
  • Xcode 8.0
  • Swift 3.0

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Installation

SwiftSimplify is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "SwiftSimplify"

Usage

Usage is pretty straightforward: in fact you need just call the SwiftSimplify’s class method simplify by passing your configuration.
Allowed parameters are:

class func simplify<T>(points: [T], tolerance: Float?, highQuality: Bool = false) -> [T];
  • points: An array of points. SwiftSimplify supports Swift’s generic so you can pass an array of CGPoint ([CGPoint]) or array of CLLocationCoordinate2D ([CLLocationCoordinate2D).
  • tolerance: (1 by default) Affects the amount of simplification (in the same metric as the point coordinates)
  • highQuality: (false by default) Excludes distance-based preprocessing step which leads to highest quality simplification but runs ~10-20 times slower.

Author

Daniele Margutti, [email protected]
You can reach me on twitter @danielemargutti. My web site is danielemargutti.com

License

SwiftSimplify is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "SwiftSimplify",
    "version": "0.2.0",
    "license": {
        "type": "MIT"
    },
    "homepage": "https://github.com/malcommac/SwiftSimplify",
    "authors": {
        "daniele margutti": "[email protected]"
    },
    "summary": "Tiny high-performance Swift polyline simplification library",
    "source": {
        "git": "https://github.com/malcommac/SwiftSimplify.git",
        "tag": "0.2.0"
    },
    "source_files": "Pod/Classes/**/*",
    "frameworks": "CoreLocation",
    "requires_arc": true,
    "platforms": {
        "ios": "8.0"
    },
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This