xyzSample {voluModel}R Documentation

Sampling from a SpatRaster vector using 3D coordinates

Description

Gets values at x,y,z occurrences from a given 3D environmental variable brick

Usage

xyzSample(occs, envBrick, verbose = TRUE)

Arguments

occs

A data.frame with at least three columns named "longitude", "latitude", and "depth", or that can be coerced into this format.

envBrick

A SpatRaster vector object with one environmental variable. Each layer represents a depth slice. See Details for more information.

verbose

logical. Switching to FALSE mutes message describing which columns in occs1 and occs2 are interpreted as x, y, and z coordinates.

Details

The SpatRaster vector object should have numeric names that correspond with the beginning depth of a particular depth slice. For example, one might have three layers, one from 0 to 10m, one from 10 to 30m, and one from 30 to 100m. You would name the layers in this brick ⁠names(envBrick) <- c(0, 10, 30⁠. xyzSample identifies the layer name that is closest to the depth layer value at a particular X, Y coordinate, and samples the environmental value at that 3D coordinate.

Value

Vector of environmental values equal in length to number of rows of input occs data.frame.

Examples

library(terra)

# Create test raster
r1 <- rast(ncol=10, nrow=10)
values(r1) <- 1:100
r2 <- rast(ncol=10, nrow=10)
values(r2) <- c(rep(20, times = 50), rep(60, times = 50))
r3 <- rast(ncol=10, nrow=10)
values(r3) <- 8
envBrick <- c(r1, r2, r3)
names(envBrick) <- c(0, 10, 30)

# Create test occurrences
set.seed(0)
longitude <- sample(ext(envBrick)[1]:ext(envBrick)[2],
                    size = 10, replace = FALSE)
set.seed(0)
latitude <- sample(ext(envBrick)[3]:ext(envBrick)[4],
                   size = 10, replace = FALSE)
set.seed(0)
depth <- sample(0:35, size = 10, replace = TRUE)
occurrences <- as.data.frame(cbind(longitude,latitude,depth))

# Test function
occSample3d <- xyzSample(occurrences, envBrick)

# How to use
occurrences$envtValue <- occSample3d


[Package voluModel version 0.2.1 Index]