mvt_fetch {rgbif} | R Documentation |
Fetch Map Vector Tiles (MVT)
Description
This function is a wrapper for the GBIF mapping api version 2.0. The mapping API is a web map tile service making it straightforward to visualize GBIF content on interactive maps, and overlay content from other sources. It returns maps vector tiles with number of GBIF records per area unit that can be used in a variety of ways, for example in interactive leaflet web maps. Map details are specified by a number of query parameters, some of them optional. Full documentation of the GBIF mapping api can be found at https://www.gbif.org/developer/maps
Usage
mvt_fetch(
source = "density",
x = 0,
y = 0,
z = 0,
srs = "EPSG:4326",
bin = NULL,
hexPerTile = NULL,
squareSize = NULL,
style = "classic.point",
taxonKey = NULL,
datasetKey = NULL,
country = NULL,
publishingOrg = NULL,
publishingCountry = NULL,
year = NULL,
basisOfRecord = NULL,
...
)
Arguments
source |
(character) Either |
x |
(integer) the column. Default: 0 |
y |
(integer) the row. Default: 0 |
z |
(integer) the zoom. Default: 0 |
srs |
(character) Spatial reference system for the output (input srs for mvt
from GBIF is always
|
bin |
(character) |
hexPerTile |
(integer) sets the size of the hexagons (the number horizontally across a tile). optional |
squareSize |
(integer) sets the size of the squares. Choose a factor of 4096 so they tessalate correctly: probably from 8, 16, 32, 64, 128, 256, 512. optional |
style |
(character) for raster tiles, choose from the available styles. Defaults to classic.point. optional. THESE DON'T WORK YET. |
taxonKey |
(integer/numeric/character) search by taxon key, can only supply 1. optional |
datasetKey |
(character) search by taxon key, can only supply 1. optional |
country |
(character) search by taxon key, can only supply 1. optional |
publishingOrg |
(character) search by taxon key, can only supply 1. optional |
publishingCountry |
(character) search by taxon key, can only supply 1. optional |
year |
(integer) integer that limits the search to a certain year or,
if passing a vector of integers, multiple years, for example
|
basisOfRecord |
(character) one or more basis of record states to
include records with that basis of record. The full list is: |
... |
curl options passed on to crul::HttpClient |
Details
This function uses the arguments passed on to generate a query to the GBIF web map API. The API returns a web tile object as png that is read and converted into an R raster object. The break values or nbreaks generate a custom colour palette for the web tile, with each bin corresponding to one grey value. After retrieval, the raster is reclassified to the actual break values. This is a somewhat hacky but nonetheless functional solution in the absence of a GBIF raster API implementation.
We add extent and set the projection for the output. You can reproject after retrieving the output.
Value
an sf object
References
https://www.gbif.org/developer/maps
See Also
Examples
## Not run:
if (
requireNamespace("sf", quietly = TRUE) &&
requireNamespace("protolite", quietly = TRUE)
) {
x <- mvt_fetch(taxonKey = 2480498, year = 2007:2011)
x
# gives an sf object
class(x)
# different srs
## 3857
y <- mvt_fetch(taxonKey = 2480498, year = 2010, srs = "EPSG:3857")
y
## 3031
z <- mvt_fetch(taxonKey = 2480498, year = 2010, srs = "EPSG:3031", verbose = TRUE)
z
# 3575
z <- mvt_fetch(taxonKey = 2480498, year = 2010, srs = "EPSG:3575")
z
# bin
x <- mvt_fetch(taxonKey = 212, year = 1998, bin = "hex",
hexPerTile = 30, style = "classic-noborder.poly")
x
# query with basisOfRecord
mvt_fetch(taxonKey = 2480498, year = 2010,
basisOfRecord = "HUMAN_OBSERVATION")
mvt_fetch(taxonKey = 2480498, year = 2010,
basisOfRecord = c("HUMAN_OBSERVATION", "LIVING_SPECIMEN"))
}
## End(Not run)