test_that("Minimal checks for stat_spatraster 1lyr CRS", {
suppressWarnings(library(ggplot2))
suppressWarnings(library(terra))
# Import also vector
f <- system.file("extdata/cyl_elev.tif", package = "tidyterra")
r <- rast(f)
f_v <- system.file("extdata/cyl.gpkg", package = "tidyterra")
v <- vect(f_v)
v_sf <- sf::st_as_sf(v)
# Errors
expect_error(
ggplot(r) +
stat_spatraster()
)
expect_snapshot(
ggplot() +
stat_spatraster(data = v),
error = TRUE
)
expect_snapshot(
ggplot() +
stat_spatraster(data = 1:3),
error = TRUE
)
# test with vdiffr
skip_on_cran()
skip_if_not_installed("vdiffr")
# Regular plot
p <- ggplot() +
stat_spatraster(data = r)
vdiffr::expect_doppelganger("crslyr1_01: regular", p)
# Using facets
vdiffr::expect_doppelganger(
"crslyr1_02: w/facets",
p +
facet_wrap(~lyr)
)
# Using aes
expect_warning(ggplot() +
stat_spatraster(data = r, aes(
fill = elevation_m,
color = "red"
)))
p_aes <- ggplot() +
stat_spatraster(data = r, aes(fill = elevation_m))
vdiffr::expect_doppelganger("crslyr1_03: w/aes", p_aes)
# change geom
p <- ggplot() +
stat_spatraster(data = r, geom = "point", aes(fill = elevation_m))
expect_error(ggplot_build(p))
p <- ggplot() +
stat_spatraster(
data = r, geom = "point", aes(color = after_stat(value)),
maxcell = 2500
)
vdiffr::expect_doppelganger("crslyr1_04: points", p)
p <- ggplot() +
stat_spatraster(
data = r, geom = "text",
aes(label = after_stat(round(value))),
check_overlap = TRUE,
maxcell = 25
)
vdiffr::expect_doppelganger("crslyr1_05: text", p)
})
test_that("Minimal checks for stat_spatraster 1lyr noCRS", {
suppressWarnings(library(ggplot2))
suppressWarnings(library(terra))
# Import also vector
f <- system.file("extdata/cyl_elev.tif", package = "tidyterra")
r <- rast(f)
f_v <- system.file("extdata/cyl.gpkg", package = "tidyterra")
v <- vect(f_v)
v_sf <- sf::st_as_sf(v)
raster_crs <- pull_crs(r)
terra::crs(r) <- NA
# test with vdiffr
skip_on_cran()
skip_if_not_installed("vdiffr")
# Regular plot
p <- ggplot() +
stat_spatraster(data = r)
vdiffr::expect_doppelganger("nocrslyr1_01: regular", p)
# Using facets
vdiffr::expect_doppelganger(
"nocrslyr1_02: w/facets",
p +
facet_wrap(~lyr)
)
# Using aes
expect_warning(ggplot() +
stat_spatraster(data = r, aes(
fill = elevation_m,
color = "red"
)))
p_aes <- ggplot() +
stat_spatraster(data = r, aes(fill = elevation_m))
vdiffr::expect_doppelganger("nocrslyr1_03: w/aes", p_aes)
# change geom
p <- ggplot() +
stat_spatraster(data = r, geom = "point", aes(fill = elevation_m))
expect_error(ggplot_build(p))
p <- ggplot() +
stat_spatraster(
data = r, geom = "point", aes(color = after_stat(value)),
maxcell = 2500
)
vdiffr::expect_doppelganger("nocrslyr1_04: points", p)
p <- ggplot() +
stat_spatraster(
data = r, geom = "text",
aes(label = after_stat(round(value))),
check_overlap = TRUE,
maxcell = 25
)
vdiffr::expect_doppelganger("nocrslyr1_05: text", p)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.