context("map_fetch")
skip_on_cran()
skip_if_not_installed("png")
skip_if_not_installed("terra")
skip_if_not_installed("magick")
test_that("map_fetch png", {
vcr::use_cassette("map_fetch_png",{
pp <- map_fetch(taxonKey = 212, year = 2010)
}, preserve_exact_body_bytes = TRUE)
expect_is(pp, "magick-image")
})
test_that("map_fetch terra", {
vcr::use_cassette("map_fetch_terra",{
tt <- map_fetch(taxonKey = 212, year = 2010,return="terra",plot_terra=FALSE)
ttt <- map_fetch(return="terra",x=0)
tttt <- map_fetch(return="terra",x=0,y=0,z=1)
}, preserve_exact_body_bytes = TRUE)
expect_is(tt, "SpatRaster")
expect_is(ttt, "SpatRaster")
expect_is(tttt, "SpatRaster")
# check that extents are correct for terra object
expect_equal(as.character(terra::ext(tt)),"ext(-180, 180, -90, 90)")
expect_equal(as.character(terra::ext(ttt)),"ext(-180, 0, -90, 90)")
expect_equal(as.character(terra::ext(tttt)),"ext(-180, -90, 0, 90)")
})
test_that("map_fetch warnings and errors", {
expect_message(map_fetch(style="green.poly"),
"You are using a map style that works better with arg 'bin' set to 'hex'. Setting bin='hex'. You can also try bin='square'.")
expect_message(map_fetch(srs = 'EPSG:3857'),
"EPSG:3857 only has one tile at z=0, so setting x=0 and y=0.")
expect_message(map_fetch(recorded_by="John Waller"),
"Un-named args, setting source='adhoc'.")
expect_message(map_fetch(source="adhoc",style="classic.point"),
"The adhoc interface doesn't work well with 'point styles'. Try one of these :")
# simple errors
expect_error(map_fetch(srs = "dog"))
expect_error(map_fetch(srs = 1))
expect_error(map_fetch(srs = "dog"))
expect_error(map_fetch(format = "dog"))
expect_error(map_fetch(source = 1))
expect_error(map_fetch(source = "dog"))
expect_error(map_fetch(x = "1"))
expect_error(map_fetch(y = "1"))
expect_error(map_fetch(z = "1"))
expect_error(map_fetch(bin = 1))
expect_error(map_fetch(bin = "dog"))
expect_error(map_fetch(hexPerTile = "20000"))
expect_error(map_fetch(squareSize = "20000"))
expect_error(map_fetch(squareSize = 20000))
expect_error(map_fetch(style = "dog"))
expect_error(map_fetch(style = 2))
expect_error(map_fetch(taxonKey = TRUE))
expect_error(map_fetch(datasetKey = TRUE))
expect_error(map_fetch(country = 2))
expect_error(map_fetch(publishingOrg = 2))
expect_error(map_fetch(publishingCountry = 2))
expect_error(map_fetch(year = "2000"))
expect_error(map_fetch(basisOfRecord = FALSE))
expect_error(map_fetch(base_style="dog"))
# complex errors
expect_error(map_fetch(srs = 'EPSG:3575', return = "terra"),
"return='terra' is only supported for 'EPSG:4326'.")
expect_message(map_fetch(taxonKey=212,country="US"),
"Supply only one of taxonKey, datasetKey, country, publishingOrg, or publishingCountry. Switching to source='adhoc'.")
expect_message(map_fetch(taxonKey = 212, year = 2010, country= "US"),
"Supply only one of taxonKey, datasetKey, country, publishingOrg, or publishingCountry. Switching to source='adhoc'.")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.