cond.4.all | R Documentation |
Evaluate conditions for unclassified cells and classify them if conditions are true.
cond.4.all(attTbl, cond, classVector = NULL, class, ovw_class = FALSE)
attTbl |
data.frame, the attribute table returned by the function
|
cond |
character string, the conditions a cell have to meet to be
classified as indicated by the argument |
classVector |
numeric vector, if provided, it defines the cells in the
attribute table that have already been classified. See
|
class |
numeric, the classification number to assign to all cells that meet the function conditions. |
ovw_class |
logic, if there is a |
The function evaluates the conditions of the
argument conditions
for all unclassified cells (i.e.,
classVector
NA-cells).
Cells that meet the function conditions are classified as indicted by
the argument class
.
Absolute test cell conditions can be used (see
conditions
).
Update classVector
with the new cells that were classified by
the function. If there is no classVector
input, the function returns
a new class vector. See conditions
for more details about
class vectors.
conditions()
, attTbl()
, cond.4.nofn()
, cond.reclass()
# DUMMY DATA ################################################################################ library(scapesClassification) library(terra) # LOAD THE DUMMY RASTER r <- list.files(system.file("extdata", package = "scapesClassification"), pattern = "dummy_raster\\.tif", full.names = TRUE) r <- terra::rast(r) # COMPUTE THE ATTRIBUTE TABLE at <- attTbl(r, "dummy_var") # COMPUTE THE LIST OF NEIGBORHOODS nbs <- ngbList(r) ################################################################################ # COND.4.ALL ################################################################################ # compute new class vector # conditions: "dummy_var == 1" cv1 <- cond.4.all(attTbl = at, cond = "dummy_var <= 1", class = 1) unique(cv1) # one class (class 1) # update class vector `cv1` # conditions: "dummy_var <= 3" cv2 <- cond.4.all(attTbl = at, cond = "dummy_var <= 3", class = 2, classVector = cv1) # input previous class vector unique(cv2) # two classes (class 1 and class 2) # convert class vector 2 raster r_cv1 <- cv.2.rast(r, at$Cell, classVector = cv1) r_cv2 <- cv.2.rast(r, at$Cell, classVector = cv2) ################################################################################ # PLOTS ################################################################################ oldpar <- par(mfrow = c(1,2)) m <- c(4.5, 0.5, 2, 3.2) # 1. r_cv1[which(is.na(values(r_cv1)))] <- 10 plot(r_cv1, type="classes", mar=m, col=c("#78b2c4","#818792"), axes=FALSE, plg=list(x=1, y=1, cex=.80, title="Classes",legend=c("1", "NA"))) text(r); lines(r) mtext(side=3, line=1, adj=0, cex=1, font=2, "1. COND.4.ALL") mtext(side=3, line=0, adj=0, cex=0.9, "New class vector") mtext(side=1, line=0, cex=0.9, adj=0, "Rule: 'dummy_var <= 1'") mtext(side=1, line=1, cex=0.9, adj=0, "Class: 1") # 2. r_cv2[which(is.na(values(r_cv2)))] <- 10 plot(r_cv2, type="classes", mar=m, col=c("#78b2c4","#cfad89","#818792"), axes=FALSE, plg=list(x=1, y=1, cex=.80, title="Classes",legend=c("1", "2", "NA"))) text(r); lines(r) mtext(side=3, line=1, adj=0, cex=1, font=2, "2. COND.4.ALL") mtext(side=3, line=0, adj=0, cex=0.9, "Update class vector (class 1 not overwritten)") mtext(side=1, line=0, cex=0.9, adj=0, "Rule: 'dummy_var <= 3'") mtext(side=1, line=1, cex=0.9, adj=0, "Class: 2") par(oldpar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.