| sort_network | R Documentation |
given a network with an id and and toid, returns a sorted and potentially split set of output. Sort is from top to bottom so traversing the response from top to bottom will go from upstream to downstream.
Can also be used as a very fast implementation of upstream with tributaries navigation. The full network from each outlet is returned in sorted order.
If a network includes diversions, all flowlines downstream of
the diversion are visited prior to continuing upstream. See
note on the outlets parameter for implications of this
implementation detail.
sort_network(x, split = FALSE, outlets = NULL)
## S3 method for class 'data.frame'
sort_network(x, split = FALSE, outlets = NULL)
## S3 method for class 'hy'
sort_network(x, split = FALSE, outlets = NULL)
## S3 method for class 'hy_node'
sort_network(x, split = FALSE, outlets = NULL)
## S3 method for class 'hy_flownetwork'
sort_network(x, split = FALSE, outlets = NULL)
## S3 method for class 'hy_topo'
sort_network(x, split = FALSE, outlets = NULL)
x |
data.frame network compatible with hydroloom_names. |
split |
logical if TRUE, the result will be split into independent networks identified by the id of their outlet. The outlet id of each independent network is added as a "terminal_id" attribute. |
outlets |
same as id in x. if specified, only the network emanating from these outlets will be considered and returned. NOTE: If outlets does not include all outlets from a given network containing diversions, a partial network may be returned. |
Required attributes: id, toid
data.frame containing a topologically sorted version of the requested network and optionally a terminal id.
x <- sf::read_sf(system.file("extdata/new_hope.gpkg", package = "hydroloom"))
g <- add_toids(x)
head(g <- sort_network(g))
g$topo_sort <- nrow(g):1
plot(g['topo_sort'])
g <- add_toids(x, return_dendritic = FALSE)
g <- sort_network(g)
g$topo_sort <- nrow(g):1
plot(g['topo_sort'])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.