Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EMODnet/EMODnetWFS
Access EMODnet Web Feature Service data through R
https://github.com/EMODnet/EMODnetWFS
biology dataproducts emodnet marine-data rstats wfs
Last synced: 3 months ago
JSON representation
Access EMODnet Web Feature Service data through R
- Host: GitHub
- URL: https://github.com/EMODnet/EMODnetWFS
- Owner: EMODnet
- License: other
- Created: 2020-06-08T18:57:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-22T11:12:12.000Z (7 months ago)
- Last Synced: 2024-06-11T14:48:18.109Z (5 months ago)
- Topics: biology, dataproducts, emodnet, marine-data, rstats, wfs
- Language: R
- Homepage: https://emodnet.github.io/EMODnetWFS/
- Size: 35.3 MB
- Stars: 6
- Watchers: 5
- Forks: 4
- Open Issues: 9
-
Metadata Files:
- Readme: README.Rmd
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codemeta: codemeta.json
Awesome Lists containing this project
- open-sustainable-technology - EMODnetWFS - Allow interrogation of and access to EMODnet(European Marine Observation and Data Network) geographic vector data in R though the EMODnet Web Feature Services. (Hydrosphere / Ocean and Hydrology Data Access)
README
---
output: github_document
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
options(timeout = 2000)
```# EMODnetWFS: Access EMODnet Web Feature Service data through R
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R build status](https://github.com/EMODnet/EMODnetWFS/workflows/R-CMD-check/badge.svg)](https://github.com/EMODnet/EMODnetWFS/actions)
[![Codecov test coverage](https://codecov.io/gh/EMODnet/EMODnetWFS/branch/main/graph/badge.svg)](https://app.codecov.io/gh/EMODnet/EMODnetWFS/tree/main)The goal of EMODnetWFS is to allow interrogation of and access to [EMODnet geographic vector data](https://emodnet.ec.europa.eu/en/emodnet-web-service-documentation#inline-nav-3) in R though the [EMODnet Web Feature Services](https://emodnet.ec.europa.eu/en/data).
[Web Feature services (WFS)](https://www.ogc.org/standard/wfs/) represent a change in the way geographic information is created, modified and exchanged on the Internet and offer direct fine-grained access to geographic information at the feature and feature property level.
EMODnetWFS aims at offering an user-friendly interface to this rich data.## Installation and setup
You can install the development version of EMODnetWFS from GitHub with:
``` r
# install.packages("pak")
pak::pak("EMODnet/EMODnetWFS")
```If you want to avoid reading messages from EMODnetWFS such as "WFS client created successfully",
set the `"EMODnetWFS.quiet"` option to `TRUE`.```r
options("EMODnetWFS.quiet" = TRUE)
```## Available services
All available services are contained in the tibble returned by `emodnet_wfs()`.
```{r, echo=FALSE}
library(EMODnetWFS)
knitr::kable(emodnet_wfs())
```To explore available services you can use:
```r
View(emodnet_wfs())
```## Create Service Client
Specify the service using the `service` argument.
```{r}
wfs_bio <- emodnet_init_wfs_client(service = "biology")wfs_bio
```## Get WFS Layer info
You can get metadata about the layers available from a service.
```{r}
emodnet_get_wfs_info(service = "biology")
```or you can pass a wfs client object.
```{r}
emodnet_get_wfs_info(wfs_bio)
```You can also get info for specific layers from wfs object:
```{r}
layers <- c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")emodnet_get_layer_info(wfs = wfs_bio, layers = layers)
```Finally, you can get details on all available services and layers from the server
```{r eval=FALSE}
emodnet_get_all_wfs_info()
```## Get WFS layers
You can extract layers directly from a `wfs` object using layer names.
All layers are downloaded as `sf` objects and output as a list with a named element for each layer requested.```{r}
emodnet_get_layers(wfs = wfs_bio, layers = layers)
```You can change the output `crs` through the argument `crs`.
```{r}
emodnet_get_layers(wfs = wfs_bio, layers = layers, crs = 3857)
```You can also extract layers using a WFS service name.
```{r}
emodnet_get_layers(
service = "biology",
layers = c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
)
```Layers can also be returned to a single `sf` object through argument `reduce_layers`.
If `TRUE` the function will try to reduce all layers into a single `sf`.If attempting to reduce fails, it will error:
```{r, error=TRUE}
emodnet_get_layers(
wfs = wfs_bio,
layers = layers,
reduce_layers = TRUE
)
```Using `reduce_layers = TRUE` is also useful for returning an `sf` object rather than a list in single layer request.
```{r}
emodnet_get_layers(
service = "biology",
layers = c("mediseh_posidonia_nodata"),
reduce_layers = TRUE
)
```## Help needed?
If you get an unexpected error,
- Look up the [EMODnet monitor](https://monitor.emodnet.eu/resources?lang=en&resource_type=OGC:WFS);
- Open an issue in this [repository](https://github.com/EMODnet/EMODnetWFS/issues).## Other web services
There are three ways to access EMODnet data at the moment, that complement each other.
### EMODnet ERDDAP server
Some EMODnet data are also published in an [ERDDAP server](https://erddap.emodnet.eu). You can access these data in R using the [rerddap R package](https://docs.ropensci.org/rerddap/):
```{r rerddap}
# install.packages("rerrdap")
library(rerddap)erddap_url <- "https://erddap.emodnet.eu/erddap/"
rerddap::ed_datasets(url = erddap_url)
rerddap::ed_search(query = "vessel density", url = erddap_url)
human_activities_data_info <- rerddap::info(datasetid = "humanactivities_9f8a_3389_f08a", url = erddap_url)
human_activities_data_infoyear_2020_gridded_data <- griddap(datasetx = human_activities_data_info, time = c("2020-03-18", "2020-03-19"))
head(year_2020_gridded_data$data)
```### EMODnetWCS: Access EMODnet Web Coverage Service data
This package EMODnetWFS uses [Web Feature Services](https://www.ogc.org/standard/wfs/), hence it is limited to getting vector data. EMODnet also hosts raster data that can be accessed via [Web Coverage Services (WCS)](https://www.ogc.org/standard/wcs/). The R package [EMODnetWCS](https://github.com/EMODnet/EMODnetWCS) makes these data available in R.
## Citation
To cite EMODnetWFS, please use the output from `citation(package = "EMODnetWFS")`.
```{r}
citation(package = "EMODnetWFS")
```## Acknowledgements
This package was started by the Sheffield University during the EMODnet Biology WP4 data products workshop in June 2020.
You can read the [product story on the EMODnet-Biology portal](https://emodnet.ec.europa.eu/geonetwork/)