Removes or flags records within a radius around the geographic centroids of political countries and provinces. Poorly geo-referenced occurrence records in biological databases are often erroneously geo-referenced to centroids.
Usage
cc_cen(
x,
lon = "decimallongitude",
lat = "decimallatitude",
species = "species",
buffer = 1000,
geod = TRUE,
test = "both",
ref = NULL,
verify = FALSE,
value = "clean",
verbose = TRUE
)
Arguments
- x
data.frame. Containing geographical coordinates and species names.
- lon
character string. The column with the longitude coordinates. Default = “decimallongitude”.
- lat
character string. The column with the latitude coordinates. Default = “decimallatitude”.
- species
character string. The column with the species identity. Only required if verify = TRUE.
- buffer
numerical. The buffer around each province or country centroid, where records should be flagged as problematic. Units depend on geod. Default = 1 kilometre.
- geod
logical. If TRUE the radius around each capital is calculated based on a sphere, buffer is in meters and independent of latitude. If FALSE the radius is calculated assuming planar coordinates and varies slightly with latitude, in this case buffer is in degrees. Default = TRUE. See https://seethedatablog.wordpress.com/ for detail and credits.
- test
a character string. Specifying the details of the test. One of c(“both”, “country”, “provinces”). If both tests for country and province centroids.
- ref
SpatialPointsDataFrame. Providing the geographic gazetteer. Can be any SpatialPointsDataFrame, but the structure must be identical to
countryref
. Default =countryref
.- verify
logical. If TRUE records are only flagged if they are the only record in a given species flagged close to a given reference. If FALSE, the distance is the only criterion
- value
character string. Defining the output value. See value.
- verbose
logical. If TRUE reports the name of the test and the number of records flagged.
Value
Depending on the ‘value’ argument, either a data.frame
containing the records considered correct by the test (“clean”) or a logical vector (“flagged”), with TRUE = test passed and FALSE = test failed/potentially problematic . Default = “clean”.
Note
See https://ropensci.github.io/CoordinateCleaner/ for more details and tutorials.
Examples
x <- data.frame(species = letters[1:10],
decimallongitude = runif(100, -180, 180),
decimallatitude = runif(100, -90,90))
cc_cen(x, geod = FALSE)
#> Testing country centroids
#> Warning: GEOS support is provided by the sf and terra packages among others
#> Warning: Spatial object is not projected; GEOS expects planar coordinates
#> Removed 100 records.
#> [1] species decimallongitude decimallatitude
#> <0 rows> (or 0-length row.names)
if (FALSE) {
#' cc_inst(x, value = "flagged", buffer = 50000) #geod = T
}