given an sf point geometry column, return waterbody id, and COMID of dominant artificial path
get_waterbody_index(waterbodies, points, flines = NULL, search_radius = NULL)
sf data.frame of type POLYGON or MULTIPOLYGON including COMID attributes.
sfc of type POINT
sf data.frame of type LINESTRING or MULTILINESTRING including COMID, WBAREACOMI, and Hydroseq attributes
units class with a numeric value indicating how far to search for a waterbody boundary in units of provided projection. Set units with set_units.
data.frame with two columns, COMID, in_wb_COMID, near_wb_COMID, near_wb_dist, and outlet_fline_COMID. Distance is in units of provided projection.
source(system.file("extdata/sample_data.R", package = "nhdplusTools"))
waterbodies <- sf::st_transform(
sf::read_sf(sample_data, "NHDWaterbody"), 5070)
points <- sf::st_transform(
sf::st_sfc(sf::st_point(c(-89.356086, 43.079943)),
crs = 4326), 5070)
get_waterbody_index(waterbodies, points,
search_radius = units::set_units(500, "m"))
#> near_wb_COMID near_wb_dist in_wb_COMID
#> 1 167120949 272.8278 167120949