Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----warning=F,message=F,echo=FALSE,results=FALSE-----------------------------
library(sgsR)
library(terra)
library(sf)
#--- Load mraster and access files ---#
r <- system.file("extdata", "mraster.tif", package = "sgsR")
#--- load the mraster using the terra package ---#
mraster <- terra::rast(r)
a <- system.file("extdata", "access.shp", package = "sgsR")
#--- load the access vector using the sf package ---#
access <- sf::st_read(a, quiet = TRUE)
#--- apply quantiles algorithm to metrics raster ---#
sraster <- strat_quantiles(
mraster = mraster$zq90, # use mraster as input for sampling
nStrata = 4
) # algorithm will produce 4 strata
#--- apply stratified sampling algorithm ---#
existing <- sample_strat(
sraster = sraster, # use mraster as input for sampling
nSamp = 200, # request 200 samples be taken
mindist = 100
) # define that samples must be 100 m apart
#--- algorithm table ---#
a <- c("`strat_kmeans()`", "`strat_quantiles()`", "`strat_breaks()`", "`strat_poly()`", "`strat_map()`")
d <- c("kmeans", "Quantiles", "User-defined breaks", "Polygons", "Maps (combines) `srasters`")
s <- c("Unsupervised", "Either", "Supervised", "Supervised", "Unsupervised")
urls <- c("#kmeans", "#quantiles", "#breaks", "#poly", "#map")
df <- data.frame(Algorithm = a, Description = d, Approach = s)
df$Algorithm <- paste0("[", df$Algorithm, "](", urls, ")")
## ----echo=FALSE---------------------------------------------------------------
knitr::kable(df, align = "c")
## ----warning=F,message=F------------------------------------------------------
#--- perform stratification using k-means ---#
strat_kmeans(
mraster = mraster, # input
nStrata = 5
) # algorithm will produce 4 strata
## ----warning=F,message=F------------------------------------------------------
strat_kmeans(
mraster = mraster, # input
nStrata = 10, # algorithm will produce 10 strata
iter = 1000, # set minimum number of iterations to determine kmeans centers
algorithm = "MacQueen", # use MacQueen algorithm
plot = TRUE
) # plot output
## ----warning=F,message=F------------------------------------------------------
#--- perform quantiles stratification ---#
strat_quantiles(
mraster = mraster$zq90,
nStrata = 6,
plot = TRUE
)
#--- vectorized ---#
strat_quantiles(
mraster = mraster[[1:2]], # two metric layers
nStrata = list(c(0.2, 0.4, 0.8), 3), # list with two objects - 1 probability breaks, 1 scalar integer
plot = TRUE, # plot output srasters
map = TRUE
) # combine stratifications to a mapped output
## ----warning=F,message=F------------------------------------------------------
#--- perform stratification using user-defined breaks ---#
#--- define breaks for metric ---#
br.pz2 <- c(20, 40, 60, 80)
br.pz2
#--- perform stratification using user-defined breaks ---#
#--- define breaks for metric ---#
br.zq90 <- c(3, 5, 11, 18)
br.zq90
## ----warning=F,message=F------------------------------------------------------
#--- stratify on 1 metric only ---#
strat_breaks(
mraster = mraster$pzabove2, # single raster
breaks = br.pz2, # single set of breaks
plot = TRUE
) # plot output
## ----warning=F,message=F------------------------------------------------------
#--- vectorized ---#
strat_breaks(
mraster = mraster[[1:2]], # two metrics
breaks = list(br.zq90, br.pz2), # list of two breaks vectors
map = TRUE, # map final output
plot = TRUE
) # plot outputs
## -----------------------------------------------------------------------------
#--- load in polygon coverage ---#
poly <- system.file("extdata", "inventory_polygons.shp", package = "sgsR")
fri <- sf::st_read(poly)
#--- specify polygon attribute to stratify ---#
attribute <- "NUTRIENTS"
#--- specify features within attribute & how they should be grouped ---#
#--- as a single vector ---#
features <- c("poor", "rich", "medium")
## -----------------------------------------------------------------------------
#--- stratify polygon coverage ---#
srasterpoly <- strat_poly(
poly = fri, # input polygon
attribute = attribute, # attribute to stratify by
features = features, # features within attribute
raster = sraster, # raster to define extent and resolution for output
plot = TRUE
) # plot output
## -----------------------------------------------------------------------------
#--- or as multiple lists ---#
g1 <- "poor"
g2 <- c("rich", "medium")
features <- list(g1, g2)
strat_poly(
poly = fri,
attribute = attribute,
features = features,
raster = sraster,
plot = TRUE,
details = TRUE
)
## -----------------------------------------------------------------------------
#--- stack srasters together ---#
srasters <- c(srasterpoly, sraster)
plot(srasters)
## -----------------------------------------------------------------------------
#--- map srasters ---#
strat_map(
sraster = srasters, # two layer sraster
plot = TRUE
)
## -----------------------------------------------------------------------------
strat_map(
sraster = srasters, # input with 2 sraster layers
stack = TRUE, # output stacked input (strata_1, strata_2) and output (strata) layers
details = TRUE, # provide additional details
plot = TRUE
) # plot output
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.