Learn R Programming

RDP (version 0.3.0)

RamerDouglasPeucker: Simplify a curve using the Ramer-Douglas-Peucker algorithm.

Description

Implements the Ramer-Douglas-Peucker algorithm for reducing the number of points on a curve.

Usage

RamerDouglasPeucker(x, y, epsilon, keep_index = FALSE)

Value

A data.frame with x and y values of the simplified curve.

Arguments

x

[numeric] The x values of the curve as a vector without NA values.

y

[numeric] The y values of the curve as a vector without NA values.

epsilon

[positive numeric(1)] The threshold for filtering outliers from the simplified curve.

keep_index

[logical] If TRUE, returns a column called index with the index locations of points that are kept.

Details

If there are no more than two points it does not make sense to simplify. In this case the input is returned without further checks of x and y. In particular, the input is not checked for NA values.

Examples

Run this code
RDP::RamerDouglasPeucker(x = c(0, 1, 3, 5), y = c(2, 1, 0, 1), epsilon = 0.5)
RDP::RamerDouglasPeucker(x = c(0, 1, 3, 5), y = c(2, 1, 0, 1), epsilon = 0.5, keep_index = TRUE)

Run the code above in your browser using DataLab