knitr::opts_chunk$set(collapse = TRUE, warning = FALSE, message = FALSE) library(hyRefactor) source("../R/utils.R") RPU = params$RPU out_dir = file.path(params$output_dir, RPU) dir.create(out_dir, showWarnings = FALSE) ref_gpkg = file.path(params$reference_fabric, paste0("ngen_reference_", RPU,".gpkg")) if(is.null(params$collapse_flines_meters)){ grid = expand.grid(params$split_flines_meters, params$collapse_flines_main_meters) %>% setNames(c("split", "main")) %>% mutate(collapse = main, ver = 1:n(), name = glue::glue("{dir}/rf_s{s}_m{m}_c{c}.gpkg", dir = out_dir, s = split, m = main, c = collapse)) } else { grid = expand.grid(params$split_flines_meters, params$collapse_flines_main_meters, params$collapse_flines_meters) %>% setNames(c("split", "main", 'collapse')) %>% mutate(ver = 1:n(), name = glue::glue("{dir}/rf_s{s}_m{m}_c{c}.gpkg", dir = out_dir, s = split, m = main, c = collapse)) } grid = filter(grid, !file.exists(name))
if(nrow(grid > 0)){ events = read_sf(ref_gpkg, "events") nhdplus_flowpaths = read_sf(ref_gpkg, "flowpaths") avoid = read_sf(ref_gpkg, "avoid") catchments = if(!is.null(params$fdrfac)){ read_sf(ref_gpkg, "nhd_catchment") } lapply(1:nrow(grid), function(x){ message(grid$name[x], " (", x, " of ", nrow(grid), ")") refactor_wrapper(flowpaths = nhdplus_flowpaths, catchments = catchments, events = events, avoid = avoid$COMID, split_flines_meters = grid$split[x], collapse_flines_meters = grid$collapse[x], collapse_flines_main_meters = grid$main[x], cores = 3, facfdr = params$fdrfac, routing = params$routelink, outfile = grid$name[x]) }) message("Done!") if(!is.null(params$AWS_bucket)){ files = list.files(out_dir, full.names = TRUE) lapply(1:length(files), function(x) { put_object(file = files[x], object = file.path(params$RPU, basename(files[x])), bucket = params$AWS_bucket, multipart = TRUE) }) #zipper = file.path(dirname(out_dir), params$RPU) #zip(zipfile = zipper, files = dir(out_dir, full.names = TRUE)) # aws.s3::put_object( # file = paste0(zipper, ".zip"), # object = basename(paste0(zipper, ".zip")), # bucket = params$AWS_bucket, # multipart = TRUE) } }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.