rangeSample: Get a conditional sample from a raster

View source: R/rangeSample.R

rangeSampleR Documentation

Get a conditional sample from a raster

Description

Get a sample of XY locations from a single raster meeting a certain condition

Usage

rangeSample(z, n, minval = NULL, maxval = NULL, replace = FALSE)

Arguments

z

A SpatRaster or RasterLayer object

n

Numeric. How many samples to draw

minval

Numeric. Select all cells larger than this value

maxval

Numeric. Select all cells lesser than thsi value

replace

Logical. Should samples be taken with replacement?

Examples

# Generate a DEM
n <- 5
dem <- expand.grid(list(x = 1:(n * 100),
                        y = 1:(n * 100))) / 100
dem <- as.data.table(dem)
dem[, z := 250 * exp(-(x - n/2)^2) + 
      250 * exp(-(y - n/2)^2)]
dem <- rast(dem)
ext(dem) <- c(10000, 20000, 30000, 40000)
crs(dem) <- "+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100 +datum=WGS84"

# Take a sample of 10 values between 150 and 200
points <- rangeSample(dem, 10, minval = 150, maxval = 200)

andresgmejiar/lbmech documentation built on Feb. 2, 2025, 12:37 a.m.