test_that("get layers works on server", {
skip_if_offline()
wfs <- create_biology_wfs()
l_data <- emodnet_get_layers(
wfs = wfs,
layers = c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
)
expect_type(l_data, "list")
expect_length(l_data, 2L)
expect_s3_class(l_data[[1]], class = c("sf", "data.frame"))
expect_s3_class(l_data[[2]], class = c("sf", "data.frame"))
expect_gt(nrow(l_data[[1]]), 0L)
expect_gt(nrow(l_data[[2]]), 0L)
l_crs <- purrr::map_int(l_data, ~ sf::st_crs(.x)$epsg) %>% unique()
expect_length(l_crs, 1L)
expect_identical(l_crs, 4326L)
})
test_that("crs transform works from server", {
skip_if_offline()
wfs <- create_biology_wfs()
l_data <- emodnet_get_layers(
wfs = wfs,
layers = "mediseh_zostera_m_pnt",
crs = 4326
)
l_crs <- purrr::map_int(l_data, ~ sf::st_crs(.x)$epsg) %>% unique()
expect_length(l_crs, 1L)
expect_identical(l_crs, 4326L)
})
test_that("get layers works on wfs object", {
skip_if_offline()
wfs <- create_biology_wfs()
layers <- c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
l_data <- emodnet_get_layers(wfs = wfs, layers = layers)
expect_type(l_data, "list")
expect_length(l_data, 2L)
expect_s3_class(l_data[[1]], class = c("sf", "data.frame"))
expect_s3_class(l_data[[2]], class = c("sf", "data.frame"))
expect_gt(nrow(l_data[[1]]), 0L)
expect_gt(nrow(l_data[[2]]), 0L)
l_crs <- purrr::map_int(l_data, ~ sf::st_crs(.x)$epsg) %>% unique()
expect_length(l_crs, 1L)
expect_identical(l_crs, 4326L)
})
test_that("crs transform works from wfs object", {
skip_if_offline()
wfs <- create_biology_wfs()
layers <- c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
l_data <- emodnet_get_layers(wfs = wfs, layers = layers, crs = 3857)
l_crs <- purrr::map_int(l_data, ~ sf::st_crs(.x)$epsg) %>% unique()
expect_length(l_crs, 1L)
expect_identical(l_crs, 3857L)
})
test_that("crs checking from wfs service works correctly", {
skip_if_offline()
wfs <- create_biology_wfs()
l_data <- emodnet_get_layers(
wfs = wfs,
layers = "mediseh_zostera_m_pnt",
cql_filter = "country='Grecia'"
)
expect_identical(sf::st_crs(l_data[[1]])$input, "epsg:4326")
})
test_that("simplify layers on single layer returns sf", {
skip_if_offline()
wfs <- create_biology_wfs()
sf_data <- emodnet_get_layers(
wfs = wfs,
layers = "mediseh_zostera_m_pnt",
cql_filter = "country='Grecia'",
simplify = TRUE
)
expect_s3_class(sf_data, c("sf", "data.frame"))
})
test_that("emodnet_get_layers errors well when no service nor wfs", {
expect_snapshot_error(emodnet_get_layers(layers = "randomlayer"))
})
test_that("emodnet_get_layers errors well when bad wfs", {
expect_snapshot_error(emodnet_get_layers(wfs = "a service"))
})
test_that("emodnet_get_layers errors well when bad layer", {
skip_if_offline()
wfs <- create_biology_wfs()
expect_snapshot_error(emodnet_get_layers(wfs = wfs, layers = "blop"))
})
test_that("simplify works", {
skip_if_offline()
skip("TODO very slow right now")
sf_data <- emodnet_get_layers(
service = "seabed_habitats_individual_habitat_map_and_model_datasets",
layers = c("dk003069", "dk003070"),
simplify = TRUE
)
expect_s3_class(sf_data, class = c("sf", "data.frame"))
expect_gt(nrow(sf_data), 0L)
})
test_that("works when data.frame layer", {
skip_if_offline()
wfs <- create_biology_wfs()
expect_snapshot_error(
emodnet_get_layers(
wfs,
layers = c("OOPS_summaries", "OOPS_metadata"),
simplify = TRUE
)
)
result_list <- emodnet_get_layers(
wfs,
layers = c("OOPS_summaries", "OOPS_metadata")
)
expect_type(result_list, "list")
expect_s3_class(result_list[[1]], "data.frame")
expect_s3_class(result_list[[2]], "data.frame")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.