Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
echo = TRUE, warning = FALSE, message = FALSE)
## ----setup, include=FALSE-----------------------------------------------------
md_fig_dir<- "../man/figures/" #Path relative to this Rmd
R_fig_dir<- "../figures/" #Path relative to child Rmd
## ----message=FALSE------------------------------------------------------------
library(MultiscaleDTM) #Load MultiscaleDTM package
## ----eval=FALSE---------------------------------------------------------------
# help(package="MultiscaleDTM")
## -----------------------------------------------------------------------------
r<- erupt()
## ----Topo, echo= FALSE, message=FALSE-----------------------------------------
library(tmap) #For plotting
tm_shape(r, raster.downsample = FALSE)+
tm_raster(palette = colorRamps::matlab.like(100), style = "cont", legend.reverse = TRUE, title = "")+
tm_layout(legend.outside=TRUE, main.title= "Elevation")
## -----------------------------------------------------------------------------
slp_asp<- SlpAsp(r = r, w = c(5,5), unit = "degrees", method = "queen", metrics = c("slope", "aspect", "eastness", "northness"), na.rm=TRUE)
## ----SlpAsp, echo=FALSE-------------------------------------------------------
slp_asp_list<- vector(mode="list", length = nlyr(slp_asp))
for (i in 1:length(slp_asp_list)) {
curr_var<- names(slp_asp)[i]
if (grepl(pattern = "(^northness)|(^eastness)", curr_var)) {
breaks<- c(-1,0,1)
midpoint<- 0
curr_pal<- c("blue", "gray", "red")
} else if (grepl(pattern = "aspect", curr_var)) {
curr_pal<-c("blue", "purple", "red", "orange", "yellow", "green", "cyan", "blue")
breaks<- c(0,90,180,270,360)
midpoint<- 180
} else{
curr_pal<- colorRamps::matlab.like(100)
midpoint<- NULL
breaks<- NULL
}
slp_asp_list[[i]]<- tm_shape(slp_asp[[i]], raster.downsample = FALSE) +
tm_raster(palette = curr_pal, style= "cont", title = "", breaks = breaks, midpoint = midpoint, legend.reverse = TRUE)+
tm_layout(main.title = curr_var,
main.title.position = "center",
main.title.size=0.75)
}
slp_asp_plot<- tmap_arrange(slp_asp_list, ncol=2)
slp_asp_plot
## -----------------------------------------------------------------------------
qmetrics<- Qfit(r, w = c(5,5), unit = "degrees", metrics = c("elev", "qslope", "qaspect", "qeastness", "qnorthness", "profc", "planc", "twistc", "meanc", "maxc", "minc", "features"), na.rm = TRUE)
## ----Qfit, echo= FALSE--------------------------------------------------------
library(cowplot)
for (i in 1:nlyr(qmetrics)) {
curr_var<- names(qmetrics)[i]
i_txt<- as.character(i)
if(nchar(i)==1){i_txt<- paste0("0", i_txt)}
if (grepl(pattern = "(northness)|(eastness)", curr_var)) {
breaks<- c(-1,0,1)
midpoint<- 0
curr_pal<- c("blue", "gray", "red")
style<- "cont"
} else if (grepl(pattern = "aspect", curr_var)) {
curr_pal<-c("blue", "purple", "red", "orange", "yellow", "green", "cyan", "blue")
breaks<- c(0,90,180,270,360)
midpoint<- 180
style<- "cont"
} else if(grepl(pattern = "^features", curr_var)) {
curr_pal<- c("gray", "orange", "black", "blue", "green", "yellow", "red")
} else if(grepl(pattern = "c$", curr_var)){
curr_pal<- c("blue", "gray", "red")
style<- "cont"
breaks<- NULL
midpoint<- 0
} else{
curr_pal<- colorRamps::matlab.like(100)
midpoint<- NULL
breaks<- NULL
style<- "cont"}
if(!grepl(pattern = "^features", curr_var)){
qfit_plt<- tm_shape(qmetrics[[i]], raster.downsample = FALSE) +
tm_raster(palette = curr_pal, style= style, title = "", breaks = breaks, midpoint = midpoint, legend.reverse = TRUE)+
tm_layout(legend.outside = TRUE, legend.text.size = 0.7, legend.frame=FALSE,
legend.outside.size = 0.4, outer.margins = 0.01, asp = 0, frame = FALSE)
tmap_save(qfit_plt, filename = paste0(R_fig_dir, "sub_qfit", i_txt, ".png"), dpi=150, width =3, height = 2, units = "in")
} else{
png(filename = paste0(R_fig_dir, "sub_qfit", i_txt, ".png"), res = 150, width =3.5, height = 3, units = "in")
qfit_plt<- plot(qmetrics[[i]],col=curr_pal, axes=FALSE, box=FALSE, cex=0.1)
dev.off()
}
}
qfit_plt_files<- list.files(R_fig_dir, pattern = "sub_qfit\\d{2}.png$", full.names = TRUE)
qfit_plt_list<- vector(mode = "list", length = length(qfit_plt_files))
for (i in seq_along(qfit_plt_list)) {
qfit_plt_list[[i]]<- ggdraw()+ draw_image(qfit_plt_files[[i]])
}
save_plot(plot_grid(plotlist = qfit_plt_list, ncol = 3, labels = names(qmetrics), label_size = 12, align = "hv"),filename= paste0(R_fig_dir, "qmetrics.jpg"), base_width=7.5, base_height=9, dpi= 150, unit="in")
## -----------------------------------------------------------------------------
vrm<- VRM(r, w=c(5,5), na.rm = TRUE)
## ----VRM, echo=FALSE----------------------------------------------------------
tm_shape(vrm, raster.downsample = FALSE)+
tm_raster(palette = colorRamps::matlab.like(100), style = "cont", legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="VRM")
## -----------------------------------------------------------------------------
sapa<- SAPA(r, w=c(5,5), slope_correction = TRUE, na.rm=TRUE)
## ----SAPA, echo=FALSE---------------------------------------------------------
tm_shape(sapa, raster.downsample = FALSE)+
tm_raster(palette = colorRamps::matlab.like(100), style = "cont", legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="SAPA")
## -----------------------------------------------------------------------------
adj_SD<- AdjSD(r, w=c(5,5), na.rm = TRUE)
## ----AdjSD, echo=FALSE--------------------------------------------------------
tm_shape(adj_SD, raster.downsample = FALSE)+
tm_raster(palette = colorRamps::matlab.like(100), style = "cont", legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="Adjusted SD")
## -----------------------------------------------------------------------------
rie<- RIE(r, w=c(5,5), na.rm = TRUE)
## ----RIE, echo=FALSE----------------------------------------------------------
tm_shape(rie, raster.downsample = FALSE)+
tm_raster(palette = colorRamps::matlab.like(100), style = "cont", legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="Roughness Index-Elevation")
## -----------------------------------------------------------------------------
rp<- RelPos(r, w=matrix(data = c(1,NA,1), nrow = 3, ncol=3), shape = "custom", fun = "median", na.rm = TRUE)
## ----RP, echo=FALSE-----------------------------------------------------------
tm_shape(rp, raster.downsample = FALSE)+
tm_raster(palette = c("blue", "gray", "red"), style = "cont", midpoint=0, legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="Relative Position")
## -----------------------------------------------------------------------------
tpi<- TPI(r, w=c(5,5), shape= "rectangle", na.rm = TRUE)
## ----TPI, echo=FALSE----------------------------------------------------------
tm_shape(tpi, raster.downsample = FALSE)+
tm_raster(palette = c("blue", "gray", "red"), style = "cont", midpoint=0, legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="TPI")
## -----------------------------------------------------------------------------
dmv<- DMV(r, w=2, shape= "circle", na.rm = TRUE, stand="range")
## ----DMV, echo=FALSE----------------------------------------------------------
tm_shape(dmv, raster.downsample = FALSE)+
tm_raster(palette = c("blue", "gray", "red"), style = "cont", midpoint=0, legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="sDMV")
## -----------------------------------------------------------------------------
bpi<- BPI(r, w = c(4,6), unit = "cell", stand= "sd", na.rm = TRUE)
## ----BPI, echo=FALSE----------------------------------------------------------
tm_shape(bpi, raster.downsample = FALSE)+
tm_raster(palette = c("blue", "gray", "red"), style = "cont", midpoint=0, legend.reverse = TRUE, title="")+
tm_layout(legend.outside = TRUE, main.title="sBPI")
## -----------------------------------------------------------------------------
annulus_window(radius = c(4,6), unit = "cell")
## -----------------------------------------------------------------------------
bpi2<- BPI(r, w = annulus_window(radius = c(4,6), unit = "cell"), stand= "sd", na.rm = TRUE) # equivalent to BPI code from earlier
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.