if (FALSE) {
# load camera trap table
data(camtraps)
# create sf object
camtraps_sf <- st_as_sf(camtraps,
coords = c("utm_x", "utm_y"),
crs = 32650)
# extract covariates (with 100m buffer around cameras)
# doesn't run because 'directory' is only a placeholder
covariates <- createCovariates(camtraps_sf,
"path/to/covariate_rasters",
buffer_ct = 100,
buffer_aoi = 1000,
resolution = 100)
# extract covariates with elevation data (this code runs)
covariates_elev <- createCovariates(camtraps_sf,
buffer_ct = 100,
buffer_aoi = 1000,
resolution = 100,
download_elevation = TRUE,
elevation_zoom = 11,
terrain_measures = c("slope", "aspect", "TRI"))
# Note that if local rasters are available they can be extracted alongside
# elevation data in a single function call
# camera trap table with extracted covariate values
camtraps_sf_cov <- covariates_elev$CTtable
# covariate raster layer
r_cov <- covariates_elev$predictionRaster
plot(r_cov)
# Use SpatRaster objects directly as input
r1 <- rast("elevation.tif")
r2 <- rast("landcover.tif")
raster_list <- list(elevation = r1, landcover = r2)
covariates_direct <- createCovariates(camtraps_sf,
rasters = raster_list,
buffer_ct = 100,
resolution = 100)
# Scale numeric covariates for modeling
covariates_scaled <- createCovariates(camtraps_sf,
rasters = raster_list,
buffer_ct = 100,
resolution = 100,
scale_covariates = TRUE)
# Use scaled data with categorical variables
# Mix and match from original and scaled outputs for tabular data
model_data <- covariates_scaled$CTtable_scaled # Use scaled numeric covariates
model_data$landcover <- covariates_direct$CTtable$landcover # Use original categorical covariate
# Mix and match for prediction rasters
# Create combined prediction raster (scaled numeric variables & original categorical variables)
# Extract scaled elevation layer
elev_scaled <- covariates_scaled$predictionRaster_scaled$elevation
# Extract original landcover layer (categorical)
landcover_orig <- covariates_direct$predictionRaster$landcover
# Combine into a new SpatRaster for predictions
prediction_raster <- c(elev_scaled, landcover_orig)
names(prediction_raster) <- c("elevation", "landcover")
# Use this combined raster for spatial predictions
plot(prediction_raster)
}
Run the code above in your browser using DataLab