hull | R Documentation |
Compute hulls around SpatVector geometries. This can be the convex hull, the minimal bounding rotated rectangle, the minimal bounding circle, or a concave hull. The concaveness of the concave hull can be specified in different ways.
The old methods convHull
, minRect
and minCircle
are deprecated and will be removed in a future version.
## S4 method for signature 'SpatVector'
hull(x, type="convex", by="", param=1, allowHoles=TRUE, tight=TRUE)
x |
SpatVector |
type |
character. One of "convex", "rectangle", "circle", "concave_ratio", "concave_length" |
by |
character (variable name), to get a new geometry for groups of input geometries |
param |
numeric between 0 and 1. For the "concave_*" types only. For |
allowHoles |
logical. May the output polygons contain holes? For "concave_*" methods only |
tight |
logical. Should the hull follow the outer boundaries of the input polygons? For "concave_length" with polygon geometry only |
A concave hull is a polygon which contains all the points of the input. It can be a better representation of the input data (typically points) than the convex hull. There are many possible convex hulls with different degrees of concaveness. These can be created with argument param
.
The hull is constructed by removing the longest outer edges of the Delaunay Triangulation of the space between the polygons, until the target criterion param
is reached. If type="concave_ratio"
, param
expresses is the ratio between the lengths of the longest and shortest edges. 1 produces the convex hull; 0 produces a hull with maximum concaveness. If type="concave_length"
, param
specifies the maximm edge length. A large value produces the convex hull, 0 produces the hull of maximum concaveness.
SpatVector
p <- vect(system.file("ex/lux.shp", package="terra"))
h <- hull(p)
hh <- hull(p, "convex", by="NAME_1")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.