knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(slopes) library(bench) library(raster)
A benchmark can reveal how many route gradients can be calculated per second:
e = dem_lisbon_raster r = lisbon_road_network et = terra::rast(e) res = bench::mark(check = FALSE, slope_raster = slope_raster(r, e), slope_terra = slope_raster(r, et) )
res
That is approximately
round(res$`itr/sec` * nrow(r))
routes per second using the raster
and terra
(the default if installed, using RasterLayer
and native SpatRaster
objects) packages to extract elevation estimates from the raster datasets, respectively.
The message: use the terra
package to read-in DEM data for slope extraction if speed is important.
To go faster, you can chose the simple
method to gain some speed at the expense of accuracy:
e = dem_lisbon_raster r = lisbon_road_network res = bench::mark(check = FALSE, bilinear1 = slope_raster(r, e), bilinear2 = slope_raster(r, et), simple1 = slope_raster(r, e, method = "simple"), simple2 = slope_raster(r, et, method = "simple") )
res
round(res$`itr/sec` * nrow(r))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.