|home||Home > Components > Polyline simplification|
Polyline simplification using Douglas-Peucker algorithm
This page describes an algorithm with which polylines consisting of many points can be reduced to a simplified form. This can be useful in situations where your graphical application must draw many polylines and time becomes an issue, like cartographic applications.
A well-known algorithm that implements polyline simplification is the classical Douglas-Peucker algorithm [Douglas & Peucker, 1973]. More recently, improvements on the original algorithm have been written. [Hershberger & Snoeyink, 1992].
These improvements have not been implemented in the algorithm on this page, in order to avoid making the code too complex. Hence, the code on this page is not the most optimal code for polyline simplification. However, in practice the original algorithm works virtually as fast as the more optimized one. More information about this subject can be found through the links below.By downloading the library you agree to the terms in the license.
The source contains the DouglasPeuckers.pas unit with the algorithm implementation as well as an example application.
Two versions of the algorithm are supplied; one version for polylines consisting of floating point 3D vertices, and one version for polylines consisting of integer 2D vertices. The latter is ideal for Windows GDI style "TPoint" implementations.
Support is not included, but can be purchased separately. Please contact us by email for more information.
simplification by Dan Sunday
Line smoothing package using Bezier curves
|Page last changed: 27Mar2010 © Copyright 2002-2010 SimDesign|