Nothing
## ----setup, include = FALSE---------------------------------------------------
library(terra)
library(igapfill)
library(heatmaply)
library(htmltools)
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
# WD <- "/home/series_tiempo/Escritorio/Rtest/igapfill/PNG"
## ----datasetUploading---------------------------------------------------------
ndvi_path <- system.file("extdata", "garnica_250m_16_days_NDVI.tif",
package = "igapfill")
reliability_path <- system.file("extdata",
"garnica_250m_16_days_pixel_reliability.tif",
package = "igapfill")
spatNDVI <- rast(ndvi_path)
spatRELIABILITY <- rast(reliability_path)
## ----mSieve-prelim, echo=FALSE------------------------------------------------
garnicaNDVIQAdir <- paste0( getwd(), "/garnica/250m_16_days_NDVI_QA" )
dir.create( path = garnicaNDVIQAdir, recursive = TRUE )
YEARS <- 2000:2024
ndviNAMES <- names(spatNDVI)
reliabilityNAMES <- names(spatRELIABILITY)
ndviQANAMES <- sapply(ndviNAMES,
function(s) paste0( strsplit(s, ".tif")[[1]][1], "_QA.tif" ))
for(i in 1:20){
if(!dir.exists( paste0( garnicaNDVIQAdir, "/", YEARS[1] ) )){
dir.create( paste0( garnicaNDVIQAdir, "/", YEARS[1] ) )
}
TEMPndvi <- subset(spatNDVI,i)
TEMPreliability <- subset(spatRELIABILITY,i)
TEMPndvi[ TEMPreliability >= 2] <- NA
writeRaster(TEMPndvi,
filename = paste0( garnicaNDVIQAdir, "/", YEARS[1], "/",
ndviQANAMES[i] ),
datatype = "INT2S", overwrite = TRUE)
}
for (i in 2:length(YEARS)) {
if(!dir.exists( paste0( garnicaNDVIQAdir, "/", YEARS[i] ) )){
dir.create( paste0( garnicaNDVIQAdir, "/", YEARS[i] ) )
}
for(j in 1:23){
count <- 20 + ((i-2)*23) + j
TEMPndvi <- subset(spatNDVI, count)
TEMPreliability <- subset(spatRELIABILITY,count)
TEMPndvi[ TEMPreliability >= 2 ] <- NA
writeRaster(TEMPndvi,
filename = paste0( garnicaNDVIQAdir, "/", YEARS[i], "/",
ndviQANAMES[count] ),
datatype = "INT2S", overwrite = TRUE)
}
}
## ----mSieve-usage, warning=FALSE, message=FALSE-------------------------------
garnicaNDVIQAdir <- paste0( getwd(), "/garnica/250m_16_days_NDVI_QA" )
dir.create( path = garnicaNDVIQAdir, recursive = TRUE )
DIRS <- list.dirs(path = garnicaNDVIQAdir)[-1]
COLNAMES <- paste0( "DoY-", seq(1,365,by=16) )
missingValueSieve <- mvSieve(dirs=DIRS[-1],
filesPerDir = 23,
startPeriod = 2001,
endPeriod = 2024,
colNames = COLNAMES)
## ----mSieve-heatmaply, echo=FALSE, fig.align='center'-------------------------
out <- heatmaply((missingValueSieve/max(missingValueSieve)) * 100,
limits = c(0,100),
colors = cool_warm,
dendrogram = "none",
xlab = "", ylab = "",
width = 900,
height = 650,
main = "% of missing values in NDVI TS of Cerro de Garnica (2001-2024)",
scale = "none",
draw_cellnote=TRUE,
cellnote_textposition = "middle center",
cellnote_size = 10,
margins = c(60, 100, 40, 20),
titleX = FALSE,
hide_colorbar = TRUE,
labRow = rownames(missingValueSieve),
labCol = colnames(missingValueSieve),
heatmap_layers = theme(axis.line = element_blank()))
html_out <- as.tags(out)
scrollable_out <- tags$div(
class = "scrollable",
style = "width: 100%;",
html_out
)
scrollable_out
## ----minmaxBlock--------------------------------------------------------------
SIEVE <- (missingValueSieve/max(missingValueSieve)) * 100
minmaxBlock(sieve=SIEVE, rank=10)
## ----block0-------------------------------------------------------------------
DIRS <- list.dirs(path = garnicaNDVIQAdir)[-1]
files2011 <- list.files(path = DIRS[12],
pattern = ".tif$",
full.names = TRUE)
files2012 <- list.files(path = DIRS[13],
pattern = ".tif$",
full.names = TRUE)
block0DIR <- paste0( getwd(), "/garnica/block0" )
if( !dir.exists(block0DIR) ){
dir.create( block0DIR )
}
file.copy(from=files2011[8:9], to=block0DIR)
file.copy(from=files2012[8:9], to=block0DIR)
## ----create-dirs, message=FALSE, echo=FALSE-----------------------------------
# knitr::include_graphics(normalizePath(paste0(WD, "/create_dirs.png")))
knitr::include_graphics("figs/create_dirs.png")
## ----dirTREE, echo=FALSE------------------------------------------------------
# knitr::include_graphics(normalizePath(paste0(WD, "/garnica_block0_directoryTree.png")))
knitr::include_graphics("figs/garnica_block0_directoryTree.png")
## ----dimsReport, echo=FALSE---------------------------------------------------
# knitr::include_graphics(normalizePath(paste0(WD, "/dimsReport.png")))
knitr::include_graphics("figs/dimsReport.png")
## ----dimsReport-ignore, include=FALSE, eval=FALSE-----------------------------
# knitr::include_graphics(normalizePath(paste0(WD, "/dimsReport.png")))
#
# html_out <- as.tags(out)
#
# scrollable_out <- tags$div(
# class = "scrollable",
# style = "width: 100%;",
# html_out
# )
#
# scrollable_out
## ----sort_split, include=FALSE, eval=FALSE------------------------------------
# # knitr::include_graphics(normalizePath(paste0(WD, "/sort_split_3.png")))
## ----applyGapfill-aux, echo=FALSE, eval=FALSE---------------------------------
# block0DIR <- "~/garnica/block0" # made a copy in /home
## ----applyGapfill, eval=FALSE-------------------------------------------------
# allDIRS <- list.dirs(path = block0DIR, full.names = TRUE)#[-1]
#
# block0FILES <- list.files(path = block0DIR, pattern = ".tif$",
# full.names = TRUE)
#
# LAT <- get_LAT(stack = stack(block0FILES))
#
# LON <- get_LON(stack = stack(block0FILES))
#
# applyGapfill(inputDir = allDIRS[7],
# outputDir = allDIRS[5],
# progressDir = allDIRS[6],
# lat = LAT,
# lon = LON,
# days = c(113,129),
# years = 2011:2012,
# numCores = 10,
# scale = 1e0,
# clipRange = c(-1e4,1e4))
## ----parallel-mosaic, eval=FALSE----------------------------------------------
# parallel_mosaic(inputDirImages = block0DIR,
# inputDirRData = allDIRS[5],
# inputDirMaster = allDIRS[4],
# outputDir = allDIRS[3],
# progressReportDir = allDIRS[6],
# scaleFactor = 1e0,
# dataType = "INT4S",
# numCores = 3) # numCores must not exceed number of splits
## ----before-igapfill, eval=FALSE----------------------------------------------
# initFILES <- list.files(path = block0DIR,
# pattern = ".tif$",
# full.names = TRUE)
#
# gapfilledFILES <- list.files(path = allDIRS[3],
# pattern = ".tif$",
# full.names = TRUE)
#
# initIMAGES <- rast(initFILES)
# gapfilledIMAGES <- rast(gapfilledFILES)
#
# par(mfrow=c(2,2))
# plot(initIMAGES, cex.main=0.75,
# main=sapply(c("Day113, 2011", "Day129, 2011", "Day113, 2012", "Day129, 2012"),
# function(s) paste("Original:", s)))
#
## ----after-igapfill, eval=FALSE-----------------------------------------------
# plot(gapfilledIMAGES, cex.main=0.75,
# main=sapply(c("Day113, 2011", "Day129, 2011", "Day113, 2012", "Day129, 2012"),
# function(s) paste("Gapfill:", s)))
## ----mSieve-usage-Appendix, eval=FALSE----------------------------------------
# # --- Auxiliary code used in mvSieve section ---
#
# garnicaNDVIQAdir <- paste0( getwd(), "/garnica/250m_16_days_NDVI_QA" )
#
# dir.create( path = garnicaNDVIQAdir, recursive = TRUE )
#
# YEARS <- 2000:2024
# ndviNAMES <- names(spatNDVI)
# reliabilityNAMES <- names(spatRELIABILITY)
# ndviQANAMES <- sapply(ndviNAMES,
# function(s) paste0( strsplit(s, ".tif")[[1]][1], "_QA.tif" ))
#
# for(i in 1:20){ #### Year 2000 has 20 images only
#
# if(!dir.exists( paste0( garnicaNDVIQAdir, "/", YEARS[1] ) )){
# dir.create( paste0( garnicaNDVIQAdir, "/", YEARS[1] ) )
# }
#
# TEMPndvi <- subset(spatNDVI,i)
#
# TEMPreliability <- subset(spatRELIABILITY,i)
#
# TEMPndvi[ TEMPreliability >= 2] <- NA
# writeRaster(TEMPndvi,
# filename = paste0( garnicaNDVIQAdir, "/", YEARS[1], "/",
# ndviQANAMES[i] ),
# datatype = "INT2S", overwrite = TRUE)
# }
#
# for (i in 2:length(YEARS)) {
#
# if(!dir.exists( paste0( garnicaNDVIQAdir, "/", YEARS[i] ) )){
# dir.create( paste0( garnicaNDVIQAdir, "/", YEARS[i] ) )
# }
#
# for(j in 1:23){
# count <- 20 + ((i-2)*23) + j
# TEMPndvi <- subset(spatNDVI, count)
# TEMPreliability <- subset(spatRELIABILITY,count)
# TEMPndvi[ TEMPreliability >= 2 ] <- NA
#
# writeRaster(TEMPndvi,
# filename = paste0( garnicaNDVIQAdir, "/", YEARS[i], "/",
# ndviQANAMES[count] ),
# datatype = "INT2S", overwrite = TRUE)
# }
# }
## ----mSieve-heatmaply-Appendix, eval=FALSE------------------------------------
# # --- Auxiliary code used in mSieve section ---
# out <- heatmaply((missingValueSieve/max(missingValueSieve)) * 100,
# limits = c(0,100),
# colors = cool_warm,
# dendrogram = "none",
# xlab = "", ylab = "",
# width = 900,
# height = 650,
# main = "% of missing values in NDVI TS of Cerro de Garnica (2001-2024)",
# scale = "none",
# draw_cellnote=TRUE,
# cellnote_textposition = "middle center",
# cellnote_size = 6,
# margins = c(60, 100, 40, 20),
# titleX = FALSE,
# hide_colorbar = TRUE,
# labRow = rownames(missingValueSieve),
# labCol = colnames(missingValueSieve),
# heatmap_layers = theme(axis.line = element_blank()))
#
# html_out <- as.tags(out)
#
# scrollable_out <- tags$div(
# class = "scrollable",
# style = "width: 100%;",
# html_out
# )
#
# scrollable_out
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.