Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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.4
  • Python 3.5
  • Python 3.6

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


Release history Release notifications

This version
History Node

0.3.8

History Node

0.3.7

History Node

0.3.3

History Node

0.3.2

History Node

0.2.11

History Node

0.2.10

History Node

0.2.9

History Node

0.2.8

History Node

0.2.7

History Node

0.2.2

History Node

0.2.1

History Node

0.1.6

History Node

0.1.2

History Node

0.1.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
simplification-0.3.8-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 (318.9 kB) Copy SHA256 hash SHA256 Wheel cp27 May 14, 2018
simplification-0.3.8-cp27-cp27mu-manylinux1_x86_64.whl (443.6 kB) Copy SHA256 hash SHA256 Wheel cp27 May 14, 2018
simplification-0.3.8-cp27-cp27m-win32.whl (261.2 kB) Copy SHA256 hash SHA256 Wheel cp27 May 14, 2018
simplification-0.3.8-cp27-cp27m-win_amd64.whl (278.3 kB) Copy SHA256 hash SHA256 Wheel cp27 May 14, 2018
simplification-0.3.8-cp34-cp34m-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 (317.1 kB) Copy SHA256 hash SHA256 Wheel cp34 May 14, 2018
simplification-0.3.8-cp34-cp34m-manylinux1_x86_64.whl (466.4 kB) Copy SHA256 hash SHA256 Wheel cp34 May 14, 2018
simplification-0.3.8-cp34-cp34m-win32.whl (263.5 kB) Copy SHA256 hash SHA256 Wheel cp34 May 14, 2018
simplification-0.3.8-cp34-cp34m-win_amd64.whl (278.5 kB) Copy SHA256 hash SHA256 Wheel cp34 May 14, 2018
simplification-0.3.8-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 (309.6 kB) Copy SHA256 hash SHA256 Wheel cp35 May 14, 2018
simplification-0.3.8-cp35-cp35m-manylinux1_x86_64.whl (464.1 kB) Copy SHA256 hash SHA256 Wheel cp35 May 14, 2018
simplification-0.3.8-cp35-cp35m-win32.whl (262.1 kB) Copy SHA256 hash SHA256 Wheel cp35 May 14, 2018
simplification-0.3.8-cp35-cp35m-win_amd64.whl (280.3 kB) Copy SHA256 hash SHA256 Wheel cp35 May 14, 2018
simplification-0.3.8-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 (311.8 kB) Copy SHA256 hash SHA256 Wheel cp36 May 14, 2018
simplification-0.3.8-cp36-cp36m-manylinux1_x86_64.whl (465.3 kB) Copy SHA256 hash SHA256 Wheel cp36 May 14, 2018
simplification-0.3.8-cp36-cp36m-win32.whl (260.7 kB) Copy SHA256 hash SHA256 Wheel cp36 May 14, 2018
simplification-0.3.8-cp36-cp36m-win_amd64.whl (279.2 kB) Copy SHA256 hash SHA256 Wheel cp36 May 14, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page