x <- sf::read_sf(system.file("extdata/new_hope.gpkg", package = "hydroloom"))
# We add a tocomid with prepare_nhdplus
x <- add_toids(hy(x))
# Look at the end node of the 10th line.
(n1 <- get_node(x[10, ], position = "end"))
# Break the geometry by reversing it.
sf::st_geometry(x)[10] <- sf::st_reverse(sf::st_geometry(x)[10])
# Note that the end node is different now.
(n2 <- get_node(x[10, ], position = "end"))
# Pass the broken geometry to fix_flowdir with the network for toCOMID
sf::st_geometry(x)[10] <- fix_flowdir(x$id[10], x)
# Note that the geometry is now in the right order.
(n3 <- get_node(x[10, ], position = "end"))
plot(sf::st_geometry(x)[10])
plot(n1, add = TRUE)
plot(n2, add = TRUE, col = "blue")
plot(n3, add = TRUE, cex = 2, col = "red")
Run the code above in your browser using DataLab