View source: R/add_levelpaths.R
add_levelpaths | R Documentation |
Assigns level paths using the stream-leveling approach of NHD and NHDPlus. If arbolate sum is provided in the weight column, this will match the behavior of NHDPlus. Any numeric value can be included in this column and the largest value will be followed when no nameid is available.
x must include id, toid, and conditionally divergence attributes. If a "topo_sort" (hydrosequence in nhdplus terms) attribute is included, it will be used instead of recreation.
If a future plan is set, it will be used for a preprocess step of the function.
add_levelpaths(
x,
name_attribute,
weight_attribute,
override_factor = NULL,
status = FALSE
)
## S3 method for class 'data.frame'
add_levelpaths(
x,
name_attribute,
weight_attribute,
override_factor = NULL,
status = FALSE
)
## S3 method for class 'hy'
add_levelpaths(
x,
name_attribute,
weight_attribute,
override_factor = NULL,
status = FALSE
)
x |
data.frame network compatible with hydroloom_names. |
name_attribute |
character attribute to be used as name identifiers. |
weight_attribute |
character attribute to be used as weight. |
override_factor |
numeric multiplier to use to override |
status |
boolean if status updates should be printed. |
The levelpath algorithm defines upstream mainstem paths through a network.
At a given junction with two or more upstream flowpaths, the main path is
either 1) the path with the same name, 2) the path with any name, 3) or the
path with the larger weight. If the weight_attribute
is override_factor
times larger on a path, it will be followed regardless of the name_attribute
indication.
If id and toid are non-dendritic so id:toid is many to one and id is non-unique, a divergence attribute must be included such that the dendritic network can be extracted after the network is sorted.
data.frame with id, levelpath_outlet_id, topo_sort, and levelpath columns. See details for more info.
g <- sf::read_sf(system.file("extdata/new_hope.gpkg", package = "hydroloom"))
test_flowline <- add_toids(g)
# use NHDPlus attributes directly
add_levelpaths(test_flowline,
name_attribute = "GNIS_ID",
weight_attribute = "ArbolateSu")
# use hy attributes where they can be mapped
add_levelpaths(hy(test_flowline),
name_attribute = "GNIS_ID",
weight_attribute = "arbolate_sum")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.