View source: R/getDynamicAlphaHull.R
getDynamicAlphaHull | R Documentation |
Generates an apha hull polygon, where the alpha parameter is determined by the spatial distribution of the coordinates.
getDynamicAlphaHull( x, fraction = 0.95, partCount = 3, buff = 10000, initialAlpha = 3, coordHeaders = c("Longitude", "Latitude"), clipToCoast = "terrestrial", alphaIncrement = 1, verbose = FALSE, alphaCap = 400 )
x |
dataframe of coordinates in decimal degrees, with a minimum of 3 rows. |
fraction |
the minimum fraction of occurrences that must be included in polygon. |
partCount |
the maximum number of disjunct polygons that are allowed. |
buff |
buffering distance in meters |
initialAlpha |
the starting value for alpha |
coordHeaders |
the column names for the longitude and latitude
columns, respectively. If x has two columns, these are assumed to be
longitude and latitude, and |
clipToCoast |
Either "no" (no clipping), "terrestrial" (only terrestrial part of range is kept) or "aquatic" (only non-terrestrial part is clipped). See Details. |
alphaIncrement |
the amount to increase alpha with each iteration |
verbose |
prints the alpha value to the console, intended for debugging. |
alphaCap |
Max alpha value before function aborts and returns a minimum convex hull. |
From a set of coordinates, this function will create an alpha hull with
alpha = initialAlpha
, and will then increase alpha
by
alphaIncrement
until both the fraction
and partCount
conditions are met.
If the conditions cannot be satisfied, then a minimum convex hull is returned.
If clipToCoast
is set to "terrestrial" or "aquatic", the resulting
polygon is clipped to the coastline, using a basemap from naturalearth.
The first time this function is run, this basemap will be downloaded.
Subsequent calls will use the downloaded map.
a list with 2 elements:
hull |
a sf polygon object |
alpha |
the alpha value that was found to satisfy the criteria. If a convex hull was returned, this will list MCH. |
Pascal Title
Alpha hulls are created with ahull
.
data(crotalus) # create a polygon range for Crotalus atrox x <- crotalus[which(crotalus$genSp == 'Crotalus_atrox'),] x <- x[sample(1:nrow(x), 50),] range <- getDynamicAlphaHull(x, coordHeaders=c('decimallongitude','decimallatitude'), clipToCoast = 'no') plot(range[[1]], col=transparentColor('dark green', 0.5), border = NA) points(x[,c('decimallongitude','decimallatitude')], cex = 0.5, pch = 3) # to add a basic coastline, you can use the internal map # world <- rangeBuilder:::loadWorldMap() # plot(world, add = TRUE, lwd = 0.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.