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)

Arguments

waterbodies

sf data.frame of type POLYGON or MULTIPOLYGON including COMID attributes.

points

sfc of type POINT

flines

sf data.frame of type LINESTRING or MULTILINESTRING including COMID, WBAREACOMI, and Hydroseq attributes

search_radius

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.

Value

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.

Examples


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