Skip to contents

Imports data from the Water Quality Portal. This function gets the data from here: https://www.waterqualitydata.us. There are four required input arguments: siteNumbers, parameterCd, startDate, and endDate. parameterCd can either be a USGS 5-digit code, or a characteristic name. The sites can be either USGS, or other Water Quality Portal offered sites. It is required to use the 'full' site name, such as 'USGS-01234567'.

Usage

readWQPqw(
  siteNumbers,
  parameterCd,
  startDate = "",
  endDate = "",
  tz = "UTC",
  legacy = FALSE,
  querySummary = FALSE,
  ignore_attributes = FALSE,
  convertType = TRUE
)

Arguments

siteNumbers

character site number. This needs to include the full agency code prefix.

parameterCd

vector of USGS 5-digit parameter code or characteristicNames. Leaving this blank will return all of the measured values during the specified time period.

startDate

character starting date for data retrieval in the form YYYY-MM-DD. Default is "" which indicates retrieval for the earliest possible record. Date arguments are always specified in local time.

endDate

character ending date for data retrieval in the form YYYY-MM-DD. Default is "" which indicates retrieval for the latest possible record. Date arguments are always specified in local time.

tz

character to set timezone attribute of dateTime. Default is "UTC", and converts the date times to UTC, properly accounting for daylight savings times based on the data provided tz_cd column. Possible values to provide are "America/New_York","America/Chicago", "America/Denver","America/Los_Angeles", "America/Anchorage", as well as the following which do not use daylight savings time: "America/Honolulu", "America/Jamaica","America/Managua","America/Phoenix", and "America/Metlakatla". See also OlsonNames() for more information on time zones.

legacy

Logical. If TRUE, use legacy WQP services. Default is FALSE.

querySummary

logical to look at number of records and unique sites that will be returned from this query.

ignore_attributes

logical to choose to ignore fetching site and parameter attributes. Default is FALSE.

convertType

logical, defaults to TRUE. If TRUE, the function will convert the data to dates, datetimes, numerics based on a standard algorithm. If false, everything is returned as a character.

Value

A data frame derived from the default data profile.

There are also several useful attributes attached to the data frame:

NameTypeDescription
urlcharacterThe url used to generate the data
siteInfodata.frameA data frame containing information on the requested sites
variableInfodata.frameA data frame containing information on the requested parameters
queryTimePOSIXctThe time the data was returned

Examples

# \donttest{
rawPcode <- readWQPqw("USGS-01594440", "01075", "", "")

attr(rawPcode, "url")
#> [1] "https://www.waterqualitydata.us/wqx3/Result/search?siteid=USGS-01594440&pCode=01075&mimeType=csv&dataProfile=basicPhysChem"
attr(rawPcode, "siteInfo")
#> # A tibble: 1 × 56
#>   Org_Identifier Org_FormalName   ProviderName Location_Identifier Location_Name
#>   <chr>          <chr>            <chr>        <chr>               <chr>        
#> 1 USGS           U.S. Geological… USGS         USGS-01594440       PATUXENT RIV…
#> # ℹ 51 more variables: Location_Type <chr>, Location_Description <chr>,
#> #   Location_State <chr>, Location_CountryName <chr>,
#> #   Location_CountyName <chr>, Location_CountryCode <chr>,
#> #   Location_StatePostalCode <chr>, Location_CountyCode <chr>,
#> #   Location_HUCEightDigitCode <chr>, Location_HUCTwelveDigitCode <chr>,
#> #   Location_TribalLandIndicator <chr>, Location_TribalLand <chr>,
#> #   Location_Latitude <dbl>, Location_Longitude <dbl>, …
attr(rawPcode, "queryTime")
#> [1] "2024-08-30 17:37:18 GMT"
attr(rawPcode, "headerInfo")[["dataProviders"]]
#>   name completeOrCancelled failed sourceRowCount outputRowCount
#> 1 usgs                TRUE  FALSE             66             65
#> 2  epa                TRUE  FALSE              1              0
#>   millisecondsToFirstResponse secondsToCompletion
#> 1                           4                   0
#> 2                         124                   0

rawCharacteristicName <- readWQPqw("WIDNR_WQX-10032762", "Specific conductance", "", "")
rawPHsites <- readWQPqw(c("USGS-05406450", "USGS-05427949", "WIDNR_WQX-133040"), "pH", "", "")
nwisEx <- readWQPqw("USGS-04024000", c("34247", "30234", "32104", "34220"), "", "2022-12-20")

SC <- readWQPqw(siteNumbers = "USGS-05288705", parameterCd = "00300", convertType = FALSE)
# }