rnrfa v2.0.3
Monthly downloads
UK National River Flow Archive Data from R
Utility functions to retrieve data from the UK National River Flow Archive (<http://nrfa.ceh.ac.uk/>, terms and conditions: <http://nrfa.ceh.ac.uk/costs-terms-and-conditions>). The package contains R wrappers to the UK NRFA data temporary-API. There are functions to retrieve stations falling in a bounding box, to generate a map and extracting time series and general information.
Readme
rnrfa
An R package to Retrieve, Filter and Visualize Data from the UK National River Flow Archive
The UK National River Flow Archive serves daily streamflow data, spatial rainfall averages and information regarding elevation, geology, land cover and FEH related catchment descriptors.
There is currently an API under development that in future should provide access to the following services: metadata catalogue, catalogue filters based on a geographical bounding-box, catalogue filters based on metadata entries, gauged daily data for about 400 stations available in WaterML2 format, the OGC standard used to describe hydrological time series.
The information returned by the first three services is in JSON format, while the last one is an XML variant.
The RNRFA package aims to achieve a simpler and more efficient access to data by providing wrapper functions to send HTTP requests and interpret XML/JSON responses.
Installation
The stable version of the rnrfa package is available from CRAN:
install.packages("rnrfa")
Or the development version from GitHub using the package remotes
:
install.packages("remotes")
remotes::install_github("cvitolo/rnrfa")
Now, load the rnrfa package:
library(rnrfa)
Examples
Retrieve information for all the stations in the catalogue
The R function that deals with the NRFA catalogue to retrieve the full list of monitoring stations is called catalogue(). The function, used with no inputs, requests the full list of gauging stations with associated metadata. The output is a dataframe containing one record for each station and as many columns as the number of metadata entries available.
allStations <- catalogue()
The same function catalogue() can be used to filter stations based on a bounding box or any of the metadata entries.
# Define a bounding box:
bbox <- list(lon_min=-3.82, lon_max=-3.63, lat_min=52.43, lat_max=52.52)
# Filter stations based on bounding box
someStations <- catalogue(bbox)
Conversions of OS grid references
The only geospatial information contained in the list of station in the catalogue is the OS grid reference (column "gridRef"). The RNRFA package allows convenient conversion to more standard coordinate systems. The function "osg_parse()", for example, converts the string to easting and northing in the BNG coordinate system (EPSG code: 27700), as in the example below:
# Where is the first catchment located?
someStations$`grid-reference`$ngr[1]
# Convert OS Grid reference to BNG
osg_parse(grid_refs = "SN853872")
The same function can also convert from BNG to latitude and longitude in the WSGS84 coordinate system (EPSG code: 4326) as in the example below.
# Convert BNG to WSGS84
osg_parse(grid_refs = "SN853872", coord_system = "WGS84")
osg_parse() also works with multiple references:
osg_parse(someStations$`grid-reference`$ngr)
Time series data
The first column of the table "someStations" contains the id number. This can be used to retrieve time series data and convert waterml2 files to time series object (of class zoo).
The National River Flow Archive serves two types of time series data: gauged daily flow and catchment mean rainfall.
Catchment mean rainfall:
info <- cmr(id = "3001")
plot(info)
Gauged daily flow:
info <- gdf(id = "3001")
plot(info)
For more examples and details, please see the vignette.
Terms and Conditions
Please refer to the following Terms and Conditions for use of NRFA Data and disclaimer: http://nrfa.ceh.ac.uk/costs-terms-and-conditions
This package uses a non-public API which is likely to change. Package and functions herein are provided as is, without any guarantee.
Meta
- Please report any issues or bugs.
- License: GPL-3
- Get citation information for
rnrfa
in R doingcitation(package = 'rnrfa')
Functions in rnrfa
Name | Description | |
osg_parse | Converts OS Grid Reference to BNG/WGS coordinates. | |
station_ids | List of stations identification numbers from UK NRFA | |
plot_trend | Plot trend | |
cmr | This function retrieves Catchment Mean Rainfall (cmr). | |
plot_rain_flow | Plot rainfall and flow for a given station | |
convert_flow | Convert flow from cumecs to mm/d | |
seasonal_averages | Calculate seasonal averages | |
get_ts | This function retrieves time series data. | |
rnrfa-package | UK National River Flow Archive data from R | |
catalogue | List of stations from UK NRFA | |
gdf | This function retrieves Gauged Daily Flow (gdf). | |
No Results! |
Vignettes of rnrfa
Name | ||
references.bib | ||
rnrfa-vignette.Rmd | ||
No Results! |
Last month downloads
Details
URL | http://cvitolo.github.io/rnrfa/ |
BugReports | https://github.com/cvitolo/rnrfa/issues |
LazyData | true |
Encoding | UTF-8 |
License | GPL-3 |
Repository | CRAN |
RoxygenNote | 7.1.0 |
VignetteBuilder | knitr |
NeedsCompilation | no |
Packaged | 2020-05-25 09:14:47 UTC; claudia |
Date/Publication | 2020-05-25 09:40:02 UTC |
suggests | covr , knitr , lintr , rmarkdown , testthat |
imports | curl , dplyr , ggmap , ggplot2 , graphics , httr , jsonlite , lubridate , parallel , rgdal , sp , stats , tibble , zoo |
depends | R (>= 3.0.2) |
Contributors | Matthew Fry, Wouter Buytaert, Ilaria Prosdocimi, Tobias Gauster, Michael Spencer |
Include our badge in your README
[](http://www.rdocumentation.org/packages/rnrfa)