| get_sites {neotoma2} | R Documentation |
get_sites
Description
The get_sites() function is a wrapper for the Neotoma sites API
endpoint.
The function takes parameters defined by the user and returns a list
of site information supplied by the Neotoma Paleoecological Database.
The user may define all or none of the possible fields.
Usage
get_sites(x = NA, ...)
Arguments
x |
Use a single integer or vector of integers representing unique Neotoma site identifiers (siteids) to extract site information. |
... |
accepted arguments, see details for more information. |
Details
A site object in Neotoma is a physical location at which one or more
collection units are located. Each collection unit may have one or more
datasets within it, defined by the dataset type. The get_sites()
function searches for each site within Neotoma that matches the query
parameters, and returns them as a sites object, a list of site
objects. The get_sites() command wraps the Neotoma API
(api.neotomadb.org) call for sites.
The call itself uses a SQL query which accepts any one of the following
parameters:
-
siteidThe unique site ID (integer) in Neotoma. Can be passed as a vector of site IDs. -
sitenameThe site name, or approximate match using the % wildcard. -
databaseThe constituent database for the record. Seeget_table("constituentdatabases") -
altminThe minimum altitude range for site elevation (in meters). -
altmaxThe maximum altitude range for site elevation (in meters). -
datasetidThe unique dataset ID (integer) in Neotoma. Can be passed as a vector of dataset IDs. -
datasettypeNeotoma contains data for a number of datasettypes. This returns a subset of data types. For a complete list of available datasettypes, runneotoma2::get_table('datasettypes') -
doiThe dataset DOI for a dataset contained within a site. Can be passed as a vector of DOIs. -
gpidThe geopolitical name or identifier containing a site. Can be passed as a vector of names. -
keywordsKeywords for samples within a set of sites. For example "modern" indicates a sample within the record uses the keyword "modern". -
contactsContact names or IDs associated with a site. -
ageyoungA minimum spanning age for the record, in years before radiocarbon present (1950). -
ageoldA maximum spanning age for the record, in years before radiocarbon present (1950). -
ageofAn age which must be contained within the range of sample ages for a site. -
taxaThe names of taxa which must be present within samples in a record. -
all_dataThe API only downloads the first 25 records of the query. For the complete records, useall_data=TRUEThis call will then return a data object that contains site metadata for one or more sites, along with limited metadata describing the collection units and datasets located at that site.
Value
The function returns either a single item of class "try-error"
describing the reason for failure (either misdefined parameters or an error
from the Neotoma API), or a table of sites, with rows corresponding to the
number of individual sites returned by the Neotoma API.
Each "site" object contains 6 parameters that can be accessed as well:
siteid, sitename, location, altitude, description,
limited collection units information.
-
locAnsfobject that describes site's location. -
description -
collunitslimited information on collunits
Author(s)
Socorro Dominguez s.dominguez@ht-data.com
Examples
## Find all sites with a min altitude of 12m and a max altitude of 25m
## By default returns only 25 sites (default limit is 25):
sites_12to25 <- get_sites(altmin=12, altmax=25)
## Return all sites, using a minimum altitude of 2500m (returns >500 sites):
sites_2500 <- get_sites(altmin=2500, all_data = TRUE)
## To find all sites that contain the string "Alex%"
alex_sites <- get_sites(sitename="Alex%")
## To find sites in Brazil (again with default 25 records)
brazil <- '{"type": "Polygon",
"coordinates": [[
[-73.125, -9.102096738726443],
[-56.953125,-33.137551192346145],
[-36.5625,-7.710991655433217],
[-68.203125,13.923403897723347],
[-73.125,-9.102096738726443]]]}'
brazil_sites <- get_sites(loc = brazil[1])
# Finding all sites with Liliaceae pollen in 1000 year bins:
lilysites <- c()
for (i in seq(0, 10000, by = 1000)) {
lily <- get_sites(taxa=c("Liliaceae"),
ageyoung = i - 500,
ageold = i + 500,
all_data = TRUE)
lilysites <- c(lilysites, length(lily))
}
plot(x = seq(0, 10000, by = 1000), y = lilysites, type = 'b')