p = c("sf", "sp", "terra")
if(any(!unlist(lapply(p, requireNamespace, quietly=TRUE)))) {
m = which(!unlist(lapply(p, requireNamespace, quietly=TRUE)))
message("Can't run examples, please install ", paste(p[m], collapse = " "))
} else {
invisible(lapply(p, require, character.only=TRUE))
data(meuse, package = "sp")
meuse <- st_as_sf(meuse, coords = c("x", "y"), crs = 28992,
agr = "constant")
# vector bounding box
e <- bbox_poly(meuse)
plot(st_geometry(meuse), pch=20)
plot(st_geometry(e), add=TRUE)
# raster (terra)
r <- rast(ext(meuse))
r[] <- runif(ncell(r))
crs(r) <- "epsg:28992"
e <- bbox_poly(r)
plot(r)
plot(st_geometry(e), border="red", add=TRUE)
# extent vector
e <- bbox_poly(c(178605, 329714, 181390, 333611))
plot(e)
}
Run the code above in your browser using DataLab