Learn R Programming

CoordinateCleaner v3.0

CoordinateCleaner has been updated to version 3.0 on github and will shortly be updated on CRAN to adapt to the retirement of sp and raster. The update may not be compatible with analysis-pipelines build with version 2.x*

Automated flagging of common spatial and temporal errors in biological and palaeontological collection data, for the use in conservation, ecology and palaeontology. Specifically includes tests for

  • General coordinate validity
  • Country and province centroids
  • Capital coordinates
  • Coordinates of biodiversity institutions
  • Spatial outliers
  • Temporal outliers
  • Coordinate-country discordance
  • Duplicated coordinates per species
  • Assignment to the location of the GBIF headquarters
  • Urban areas
  • Seas
  • Plain zeros
  • Equal longitude and latitude
  • Rounded coordinates
  • DDMM to DD.DD coordinate conversion errors
  • Large temporal uncertainty (fossils)
  • Equal minimum and maximum ages (fossils)
  • Spatio-temporal outliers (fossils)

CoordinateCleaner can be particularly useful to improve data quality when using data from GBIF (e.g. obtained with rgbif) or the Paleobiology database (e.g. obtained with paleobioDB) for historical biogeography (e.g. with BioGeoBEARS or phytools), automated conservation assessment (e.g. with speciesgeocodeR or conR) or species distribution modelling (e.g. with dismo or sdm). See scrubr and taxize for complementary taxonomic cleaning or biogeo for correcting spatial coordinate errors.

See News for update information.

Installation

Stable from CRAN

install.packages("CoordinateCleaner")
library(CoordinateCleaner)

Developmental from GitHub

devtools::install_github("ropensci/CoordinateCleaner")
library(CoordinateCleaner)

Usage

A simple example:

# Simulate example data
minages <- runif(250, 0, 65)
exmpl <- data.frame(species = sample(letters, size = 250, replace = TRUE),
                    decimalLongitude = runif(250, min = 42, max = 51),
                    decimalLatitude = runif(250, min = -26, max = -11),
                    min_ma = minages,
                    max_ma = minages + runif(250, 0.1, 65),
                    dataset = "clean")

# Run record-level tests
rl <- clean_coordinates(x = exmpl)
summary(rl)
plot(rl)

# Dataset level 
dsl <- clean_dataset(exmpl)

# For fossils
fl <- clean_fossils(x = exmpl,
                          taxon = "species",
                          lon = "decimalLongitude", 
                          lat = "decimalLatitude")
summary(fl)

# Alternative example using the pipe
library(tidyverse)

cl <- exmpl %>%
  cc_val()%>%
  cc_cap()%>%
  cd_ddmm()%>%
  cf_range(lon = "decimalLongitude", 
           lat = "decimalLatitude", 
           taxon  ="species")

Documentation

Pipelines for cleaning data from the Global Biodiversity Information Facility (GBIF) and the Paleobiology Database (PaleobioDB) are available in here.

Contributing

See the CONTRIBUTING document.

Citation

Zizka A, Silvestro D, Andermann T, Azevedo J, Duarte Ritter C, Edler D, Farooq H, Herdean A, Ariza M, Scharn R, Svanteson S, Wengtrom N, Zizka V & Antonelli A (2019) CoordinateCleaner: standardized cleaning of occurrence records from biological collection databases. Methods in Ecology and Evolution, 10(5):744-751, doi:10.1111/2041-210X.13152, https://github.com/ropensci/CoordinateCleaner

Copy Link

Version

Install

install.packages('CoordinateCleaner')

Monthly Downloads

1,292

Version

3.0.1

License

GPL-3

Maintainer

Last Published

October 24th, 2023

Functions in CoordinateCleaner (3.0.1)

cc_val

Identify Invalid lat/lon Coordinates
cc_zero

Identify Zero Coordinates
cc_equ

Identify Records with Identical lat/lon
cc_iucn

Identify Records Outside Natural Ranges
cc_coun

Identify Coordinates Outside their Reported Country
cc_outl

Identify Geographic Outliers in Species Distributions
cd_ddmm

Identify Datasets with a Degree Conversion Error
CoordinateCleaner-package

CoordinateCleaner
aohi

Artificial Hotspot Occurrence Inventory
cc_gbif

Identify Records Assigned to GBIF Headquarters
cc_inst

Identify Records in the Vicinity of Biodiversity Institutions
cd_round

Identify Datasets with Rasterized Coordinates
cc_sea

Identify Non-terrestrial Coordinates
cc_urb

Identify Records Inside Urban Areas
institutions

Global Locations of Biodiversity Institutions
clean_fossils

Geographic and Temporal Cleaning of Records from Fossil Collections
cf_outl

Identify Outlier Records in Space and Time
is.spatialvalid

Check spatialvalid object
countryref

Country Centroids and Country Capitals
cf_age

Identify Fossils with Outlier Age
clean_coordinates

Geographic Cleaning of Coordinates from Biologic Collections
clean_dataset

Coordinate Cleaning using Dataset Properties
cf_range

Identify Fossils with Extreme Age Ranges
write_pyrate

Create Input Files for PyRate
cf_equal

Identify Fossils with equal min and max age
pbdb_example

Example data from the Paleobiologydatabase
plot.spatialvalid

Plot Method for Class Spatialvalid
cc_aohi

Identify Coordinates in Artificial Hotspot Occurrence Inventory
buffsea

Global Coastlines buffered by -1 degree
buffland

Global Coastlines buffered by 1 degree
cc_cap

Identify Coordinates in Vicinity of Country Capitals.
cc_dupl

Identify Duplicated Records
cc_cen

Identify Coordinates in Vicinity of Country and Province Centroids