set_usgs_api_key()replacesset_nims_key(), which is now deprecated.- New
get_site_streamflow()retrieves instantaneous or daily discharge (or any USGS parameter) for a gage site, making it easy to pair visual camera conditions with measured flow data. find_gage_cameras()now correctly returnsdrainage_areaandaltitudecolumns (the previous namesdrain_area_vaandalt_vawere stale legacy column names that caused these fields to silently drop).
- New
get_site_data_availability()returns the full list of parameter codes and periods of record available at a gage — a useful first step before callingget_site_streamflow(). - New
get_flow_statistics()retrieves historical day-of-year percentile curves (type = "daily_normals") or annual/monthly period-of-record summaries (type = "period_summary"), providing context for interpreting what a camera is showing relative to historical norms. - New
get_site_field_measurements()retrieves manual discharge measurements made by USGS hydrographers, which can be compared directly against camera imagery taken at the same time. - New
get_network_cameras()uses the USGS Network Linked Data Index (NLDI) to find cameras on the same stream network, upstream and/or downstream of a given site. get_site_streamflow()now accepts multipleparameter_codevalues in a single call; all requested parameters are returned in one tibble.get_site_streamflow()gains awater_yearargument: whenTRUE, awater_yearinteger column (Oct 1 – Sep 30) is appended to the result.find_gage_cameras()gains aninclude_availabilityargument (defaultTRUE) that appends adata_typeslist-column with available time series fromget_site_data_availability().
build_image_url()now errors immediately whencamera_rowhas more than one row, rather than silently using the first row.find_cameras()now warns when alatorlngvalue cannot be coerced to numeric, instead of producing a silentNA.get_flow_statistics()now warns whenpercentileorsample_countvalues cannot be coerced to integer, instead of silently producingNA.get_site_field_measurements(),get_site_streamflow(), andget_flow_statistics()now validate thatparameter_codevalues are five-digit character strings (e.g."00060"), matching the existing validation inget_site_streamflow().get_site_data_availability()andget_site_field_measurements()now share the sameparameter_codevalidation as the other dataRetrieval functions.get_timelapse_url()now returnsNULLinvisibly (instead of an unusable URL) when timelapse is not enabled for a camera, while still issuing a warning.make_gif()/make_video()now warn when local image files have unparseable timestamps and will be excluded from time filtering.
- Query USGS NIMS API camera metadata with
find_cameras()andfind_gage_cameras(). - List available images for a camera with
list_images(). - Build and retrieve timelapse image URLs with
build_image_url()andget_timelapse_url(). - Download images to disk with
download_images(). - Assemble animated GIFs from downloaded frames with
make_gif(). - Assemble MP4 videos from downloaded frames with
make_video()(requires theavpackage). - API key management via
set_usgs_api_key()and theAPI_USGS_PATenvironment variable.