Closed maxwell-miller-geo closed 10 months ago
Hi, this error (thread 'main' panicked at 'called Option::unwrap() on a None value', whitebox-raster\src\lib.rs:1361:69
) appears to be because the input value you are using out_dem
lacks a file extension e.g. .tif. You are using out_dem = "./adjusted_dem"
The following works fine for me with the sample DEM included in the package:
library(whitebox)
wbt_verbose(TRUE)
dem_processing <- function(dem_file_path,
outputLocation,
out_dem = "./adjusted_dem.tif",
out_pntr = "./flow_direction.tif",
out_accum = "./flow_accum.tif") {
setwd(outputLocation)
#clipped_dem <- "./clipped_dem.tif" # name to save clip
# create the flow accumulation
whitebox::wbt_flow_accumulation_full_workflow(
dem = dem_file_path,
out_dem = out_dem,
out_pntr = out_pntr,
out_accum = out_accum,
out_type = "cells",
esri_pntr = TRUE
)
}
x <- sample_dem_data()
## Test
dem_processing(
dem_file_path = x,
outputLocation = "C:/workspace2",
out_dem = "./adjusted_dem.tif", ## NB: file extension used
out_pntr = "./flow_direction.tif",
out_accum = "./flow_accum.tif"
)
#> flow_accumulation_full_workflow - Elapsed Time (excluding I/O): 0.225
While the above works, from a stylistic standpoint I would strongly suggest never using setwd()
in a custom function like this. You can use file.path()
to construct absolute URLs from outputLocation
and the various file base names. Or you can use wbt_wd()
to set the WhiteboxTools working directory, or you can set your working directory in scripts outside the function.
Whoops, can't believe I missed that. Thank you for your help!
I am having an issue using the full-flow accumulation workflow with inputs. I can run the function in a standalone version, but not within the custom R function.
The error I am getting after running the test file is:
Thank you in advance!