Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 6,
fig.height = 6,
dpi = 96,
fig.align = "center"
)
# Build the figures only if the spatial stack is present, so the vignette
# never fails on a minimal check machine.
have_deps <- requireNamespace("terra", quietly = TRUE) &&
requireNamespace("sf", quietly = TRUE) &&
requireNamespace("igraph", quietly = TRUE) &&
requireNamespace("ggplot2", quietly = TRUE)
knitr::opts_chunk$set(eval = have_deps)
## ----start--------------------------------------------------------------------
library(movecost)
dtm <- mc_volc() # sample DTM (a volcano), a terra SpatRaster
origin <- mc_volc_loc() # a start location, an sf point
destin <- mc_destin_loc() # nine destination locations, sf points
## ----task1--------------------------------------------------------------------
surf <- mc_surface(dtm, funct = "t", move = 16)
acc <- mc_accum(surf, origin = origin, time = "m", breaks = 2)
plot(acc)
## ----task2--------------------------------------------------------------------
surf_N <- mc_surface(dtm, funct = "t", move = 16, N = 1.19)
acc_N <- mc_accum(surf_N, origin = origin, time = "m", breaks = 2)
plot(acc_N)
## ----task3--------------------------------------------------------------------
surf_e <- mc_surface(dtm, funct = "pcf", move = 16, W = 60, L = 5)
acc_e <- mc_accum(surf_e, origin = origin)
plot(acc_e)
## ----task4--------------------------------------------------------------------
surf_v <- mc_surface(dtm, funct = "pcf", move = 16, W = 60, L = 5, V = 0)
acc_v <- mc_accum(surf_v, origin = origin)
plot(acc_v)
## ----task5--------------------------------------------------------------------
surf_c <- mc_surface(dtm, funct = "t", move = 16, cogn.slp = TRUE)
acc_c <- mc_accum(surf_c, origin = origin, time = "m", breaks = 2)
plot(acc_c)
## ----task6--------------------------------------------------------------------
lcp <- mc_paths(surf, origin = origin, destin = destin, time = "m")
plot(lcp)
## ----task7--------------------------------------------------------------------
lcp_b <- mc_paths(surf, origin = origin, destin = destin, time = "m",
return.base = TRUE)
plot(lcp_b)
## ----task8--------------------------------------------------------------------
surf_wcs <- mc_surface(dtm, funct = "wcs", move = 16, sl.crit = 10)
corr <- mc_corridor(surf_wcs, a = origin, b = destin[2, ])
plot(corr)
## ----task9--------------------------------------------------------------------
cmp <- mc_comp(dtm, origin = origin, destin = destin,
functs = c("t", "ma", "ug", "gkrs"), move = 16)
plot(cmp)
## ----task9b, fig.height = 4---------------------------------------------------
plot(cmp, type = "chart")
## ----task10, eval = FALSE-----------------------------------------------------
# boundary <- mc_etna_boundary() # sample study-area polygon
# dtm_etna <- mc_dtm(boundary, z = 9) # download elevation data
# cmp_etna <- mc_comp(dtm_etna,
# origin = mc_etna_start(),
# destin = mc_etna_end(),
# functs = c("t", "wcs"), move = 16)
# plot(cmp_etna)
## ----task11-------------------------------------------------------------------
malta_b <- mc_malta_dtm()
springs_b <- mc_springs()
surf_b <- mc_surface(malta_b, funct = "tofp", move = 8)
bnd <- mc_boundary(surf_b, origin = springs_b[c(5, 15, 30), ],
limit = 30, time = "m")
plot(bnd)
bnd
## ----task12-------------------------------------------------------------------
surf_a <- mc_surface(dtm, funct = "a", move = 16)
al <- mc_alloc(surf_a, origin = destin[c(3, 7, 9), ])
plot(al)
## ----task13-------------------------------------------------------------------
plot(al, isolines = TRUE)
## ----task14a------------------------------------------------------------------
surf_t <- mc_surface(dtm, funct = "t", move = 16)
nw_all <- mc_network(surf_t, nodes = destin, type = "allpairs")
plot(nw_all)
## ----task14b------------------------------------------------------------------
nw_nei <- mc_network(surf_t, nodes = destin, type = "neigh")
plot(nw_nei)
## ----task14c------------------------------------------------------------------
round(nw_nei$cost.matrix, 2)
## ----task15-------------------------------------------------------------------
nw_d <- mc_network(surf_t, nodes = destin, type = "allpairs", density = TRUE)
plot(nw_d, type = "density")
## ----task16-------------------------------------------------------------------
malta <- mc_malta_dtm()
springs <- mc_springs()
surf_malta <- mc_surface(malta, funct = "t", move = 8)
lcp_coast <- mc_paths(surf_malta, origin = springs[5, ], destin = springs[15, ])
plot(lcp_coast)
## ----task17-------------------------------------------------------------------
# a path to reuse as a barrier
surf8 <- mc_surface(dtm, funct = "t", move = 8)
bar <- mc_paths(surf8, origin = destin[1, ], destin = destin[4, ])$paths
# without the barrier
free <- mc_paths(surf8, origin = destin[3, ], destin = destin[6, ])
plot(free)
# with the barrier (built into a new surface)
surf_bar <- mc_surface(dtm, funct = "t", move = 8, barrier = bar)
blocked <- mc_paths(surf_bar, origin = destin[3, ], destin = destin[6, ])
plot(blocked, plot.barrier = TRUE)
## ----task18-------------------------------------------------------------------
rk <- mc_rank(surf8, origin = destin[3, ], destin = destin[6, ], k = 3)
plot(rk)
rk$paths # rank, cost, length
## ----task19-------------------------------------------------------------------
rk2 <- mc_rank(surf8, origin = destin[1, ], destin = destin[4, ], k = 3)
plot(rk2, type = "corridor")
## ----task20-------------------------------------------------------------------
bar2 <- mc_paths(surf8, origin = destin[9, ], destin = destin[2, ])$paths
surf_bar2 <- mc_surface(dtm, funct = "t", move = 8, barrier = bar2)
rk3 <- mc_rank(surf_bar2, origin = destin[1, ], destin = destin[4, ], k = 3)
plot(rk3)
## ----task21, fig.height = 4---------------------------------------------------
rk_h <- mc_rank(surf8, origin = destin[1, ], destin = destin[4, ],
k = 5, time = "m")
plot(rk_h, type = "chart")
## ----io, eval = FALSE---------------------------------------------------------
# # the 26 cost functions, with families, units, and parameter usage
# mc_cost_functions()
#
# # persist a result across sessions (use mc_save, NOT saveRDS: SpatRasters
# # hold external pointers)
# mc_save(acc, "acc.rds")
# acc <- mc_load("acc.rds")
#
# # export to GIS formats (GeoTIFF + GeoPackage)
# mc_export(lcp, dir = "outputs")
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.