Skip to main content

Fast linestring simplification using RDP or Visvalingam-Whyatt and a Rust binary

Project description

Line

Simplify a LineString using the Ramer–Douglas–Peucker or Visvalingam–Whyatt algorithms

Installation

pip install simplification

Please use a recent (>= 8.1.2) version of pip

Supported Python Versions

  • Python 2.7

  • Python 3.5

  • Python 3.6

  • Python 3.7

Supported Platforms

  • Linux (manylinux1-compatible)

  • OS X

  • Windows 32-bit / 64-bit

Usage

import numpy as np
from simplification.cutil import simplify_coords, simplify_coordsvw

coords = [
    [0.0, 0.0],
    [5.0, 4.0],
    [11.0, 5.5],
    [17.3, 3.2],
    [27.8, 0.1]
]

# For RDP, Try an epsilon of 1.0 to start with. Other sensible values include 0.01, 0.001
simplified = simplify_coords(coords, 1.0)

# simplified is [[0.0, 0.0], [5.0, 4.0], [11.0, 5.5], [27.8, 0.1]]

# Using Visvalingam-Whyatt
# we can also pass numpy arrays, in which case numpy arrays are returned
coords_vw = np.array([
    [5.0, 2.0],
    [3.0, 8.0],
    [6.0, 20.0],
    [7.0, 25.0],
    [10.0, 10.0]
])
simplified_vw = simplify_coords_vw(coords, 30.0)

# simplified_vw is [[5.0, 2.0], [7.0, 25.0], [10.0, 10.0]]

How it Works

FFI and a Rust binary

Is It Fast

I should think so.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

simplification-0.3.9-cp37-cp37m-manylinux1_x86_64.whl (490.3 kB view hashes)

Uploaded CPython 3.7m

simplification-0.3.9-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.macosx_10_11_intel.macosx_10_11_x86_64.whl (331.8 kB view hashes)

Uploaded CPython 3.7m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.11+ intel macOS 10.11+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

simplification-0.3.9-cp36-cp36m-win_amd64.whl (288.8 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

simplification-0.3.9-cp36-cp36m-win32.whl (266.9 kB view hashes)

Uploaded CPython 3.6m Windows x86

simplification-0.3.9-cp36-cp36m-manylinux1_x86_64.whl (490.6 kB view hashes)

Uploaded CPython 3.6m

simplification-0.3.9-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.macosx_10_11_intel.macosx_10_11_x86_64.whl (335.0 kB view hashes)

Uploaded CPython 3.6m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.11+ intel macOS 10.11+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

simplification-0.3.9-cp35-cp35m-win_amd64.whl (281.4 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

simplification-0.3.9-cp35-cp35m-win32.whl (261.1 kB view hashes)

Uploaded CPython 3.5m Windows x86

simplification-0.3.9-cp35-cp35m-manylinux1_x86_64.whl (484.8 kB view hashes)

Uploaded CPython 3.5m

simplification-0.3.9-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.macosx_10_11_intel.macosx_10_11_x86_64.whl (330.9 kB view hashes)

Uploaded CPython 3.5m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.11+ intel macOS 10.11+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

simplification-0.3.9-cp27-cp27mu-manylinux1_x86_64.whl (469.0 kB view hashes)

Uploaded CPython 2.7mu

simplification-0.3.9-cp27-cp27m-win_amd64.whl (287.1 kB view hashes)

Uploaded CPython 2.7m Windows x86-64

simplification-0.3.9-cp27-cp27m-win32.whl (266.6 kB view hashes)

Uploaded CPython 2.7m Windows x86

simplification-0.3.9-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.macosx_10_11_intel.macosx_10_11_x86_64.whl (334.7 kB view hashes)

Uploaded CPython 2.7m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.11+ intel macOS 10.11+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page