concaveman {concaveman}R Documentation

concaveman: A very fast 2D concave hull algorithm.

Description

This package is a simple R port (through V8) of a JavaScript library by Vladimir Agafonkin.

The concaveman function ports the concaveman library from mapbox. It computes the concave polygon for one set of points.

Usage

concaveman(points, concavity, length_threshold)

## S3 method for class 'matrix'
concaveman(points, concavity = 2, length_threshold = 0)

## S3 method for class 'sf'
concaveman(points, concavity = 2, length_threshold = 0)

Arguments

points

the points for which the concave hull must be computed. Can be represented as a matrix of coordinates or an sf object.

concavity

a relative measure of concavity. 1 results in a relatively detailed shape, Infinity results in a convex hull. You can use values lower than 1, but they can produce pretty crazy shapes.

length_threshold

when a segment length is under this threshold, it stops being considered for further detalization. Higher values result in simpler shapes.

Details

For details regarding the implementation, please see the original javascript library github page. This is just a thin wrapper, via V8.

Value

an object of the same class as points: a matrix of coordinates or an sf object.

Examples

data(points)
polygons <- concaveman(points)
plot(points)
plot(polygons, add = TRUE)


[Package concaveman version 1.1.0 Index]