Line Simplification

Recursive Douglas-Peucker Polyline Simplification (Iterative Endpoint Fit)
7.9K Downloads
Updated 13 Jul 2010

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

dpsimplify uses the recursive Douglas-Peucker line simplification algorithm to reduce the number of vertices in a polyline according to a specified tolerance. The algorithm is also know as Iterative Endpoint Fit algorithm. dpsimplify can handle polylines and polygones in 2d and higher dimensions.

The submission now contains another m-file (dpsimplify_octave.m) that has been slightly modified to run with GNU Octave.

Syntax:

[ps,ix] = dpsimplify(p,tol)

where p is a nxm matrix that contains n vertices in m dimensions.

For additional information on the algorithm follow this link
http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm

Cite As

Wolfgang Schwanghart (2024). Line Simplification (https://www.mathworks.com/matlabcentral/fileexchange/21132-line-simplification), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.0.0

added m-file that runs with GNU Octave

1.3.0.0

Added some information in the description.

1.2.0.0

Removed a bug in calculating the second output argument. Improved handling of lines with only one segment.

1.1.0.0

only minor changes: added some comments and changed the link to more information since it was dead.

1.0.0.0

First, the algorithm can now handle nans in the vertex array. It assumes that nans in the array serve as separator of single polylines and treats each polyline/polygon separately.