Overview
Ramer-Douglas-Peucker recursively keeps the farthest point from a segment when that distance exceeds a tolerance.
Simplifies a polyline by removing points whose deviation is below a tolerance.
Compact metadata for implementation and discovery.
Ramer-Douglas-Peucker recursively keeps the farthest point from a segment when that distance exceeds a tolerance.
Quick facts
Runtime and memory behavior at a glance.
Best
O(n log n)
Average
O(n log n)
Worst
O(n^2)
Space
O(n)
keep point if max_distance > epsilonKeeps a curve point only when it exceeds the simplification tolerance.
Draw the input shapes, active tests, and generated geometric result.
Ramer-Douglas-Peucker should be used with the assumptions and tradeoffs of curve Simplification in mind.
What each reference supports for this entry.
Computational geometry textbook support for Ramer-Douglas-Peucker's geometric model, data structures, and robustness concerns.
Open sourceAlgorithm catalog support for Ramer-Douglas-Peucker's problem context, known alternatives, and practical selection tradeoffs.
Open sourceOriginal line-reduction reference for recursively simplifying digitized polylines by distance tolerance.
Open sourceGood next jumps from the relationship graph, ranked for useful discovery.
Both simplify geometry while trying to preserve shape.