## ----StateQA, echo=FALSE------------------------------------------------------ table <- read.csv("sur_refl_state.txt", header=TRUE, sep = "\t", colClasses = "character", encoding ="UTF-8") dm <- data.frame(table, stringsAsFactors = FALSE) colnames(dm) <- c("bit", "variable", "value", "description") #dm[,4] = gsub("\n", " ", dm[,4]) knitr::kable(dm, align="l") ## ----qcconst------------------------------------------------------------------ from <- c(1,3,11,14) to <- c(2,3,11,14) reject <- c("01,10", "1", "1", "1") qa_bits <- cbind(from, to, reject) qa_bits ## ----mod, message=FALSE------------------------------------------------------- library(terra) datadir <- file.path(dirname(tempdir()), "_modis") mf <- file.path(datadir, "MOD09A1.A2009361.h21v08.061.2021149144347.hdf") r <- rast(mf) ## ----qc1---------------------------------------------------------------------- qc <- r[[12]] plot(qc, main = "Quality") ## ----qc2---------------------------------------------------------------------- library(luna) quality_mask <- modis_mask(qc, 16, qa_bits) plot(quality_mask, main="Quality mask") ## ----qcmask------------------------------------------------------------------- rmask <- mask(r, quality_mask) ## ----qcmaskplot--------------------------------------------------------------- plotRGB(rmask, r = 2, g = 1, b = 4, main='False color composite', stretch="lin") ## ----savefile, echo=FALSE----------------------------------------------------- mf <- file.path(datadir, "modis_qualmasked.tif") writeRaster(rmask, mf, overwrite=TRUE)