Intersect environmental or contextual layers at a given a set of points (coordinates)

intersect_points(
  pnts,
  layers,
  SPdata.frame = FALSE,
  use_layer_names = TRUE,
  verbose = sbdi_config()$verbose
)

Arguments

pnts

numeric: vector of latitude/longitude pairs, or a 2 column data.frame or matrix of lat,lons. NOTE: the number of locations must be less than 1000.

layers

string vector: ids of layers to be intersected. The list of possible layers is available from sbdi_fields("layers"). Names can be passed as full layer names (e.g. "Radiation - lowest period (Bio22)") rather than id ("el871"). Note: if more than one location has been provided in pnts, the number of layers must be less than 700.

SPdata.frame

logical: should the output should be returned as a SpatialPointsDataFrame of the sp package or simply as a data.frame?

use_layer_names

logical: if TRUE, layer names will be used as column names in the returned data frame (e.g. "radiationLowestPeriodBio22"). Otherwise, layer id value will be used for column names (e.g. "el871")

verbose

logical: show additional progress information? [default is set by sbdi_config]

Value

A SpatialPointsDataFrame containing the intersecting data information. Missing data or incorrectly identified layer id values will result in NA data

References

The associated SBDI web service: https://api.biodiversitydata.se/#ws84

Descriptions of the spatial layers: https://spatial.biodiversitydata.se/layers/

This function allows the user to sample environmental/contextual layers at arbitrary locations. It complements the occurrences function, which allows values of the same set of layers to be downloaded at species occurrence locations. NOTE: batch requests (multiple points) are currently processed in a *single queue* on the SBDI servers. Processing times may be slow if there are many requests in the queue. Note also that the actual processing of batch requests is inherently slow: a large number of points may take quite some time. Be warned.

See also

Examples

if (FALSE) { # single point with multiple layers layers <- c('el10016','el10009') pnts <- c(51.5074,0.1278) intersect_points(pnts,layers) # equivalent direct web service call: # https://spatial.biodiversitydata.se/ws/intersect/el10016,el10009/51.5074/0.1278 # multiple points as a grid sampling multiple layers pnts <- data.frame(expand.grid(lat=seq(51.5074,52.5074), lon=seq(0.1278,0.1278))) intersect_points(pnts,layers) }