Skip to content

Commit

Permalink
docs: improve relations with other web services
Browse files Browse the repository at this point in the history
  • Loading branch information
salvafern committed Nov 22, 2024
1 parent 0b1c946 commit b70c027
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 43 deletions.
31 changes: 20 additions & 11 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -174,36 +174,44 @@ 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/emodnet.wfs/issues).

## Other web services
## Unlock the Full Potential of the EMODnet Web Services: Access Raster and Gridded datasets.

There are three ways to access EMODnet data at the moment, that complement each other.
EMODnet hosts a wealth of marine and maritime data distributed through three complementary web services: WFS, WCS, and ERDDAP. Web services allow users to retrieve data programmatically from remote servers, eliminating the need for manual downloads. This is particularly useful for handling large datasets or conducting dynamic analyses. These services are tailored to different data types and research needs, but together, they ensure seamless access to all EMODnet vector, raster, and gridded datasets. Vector data, such as shipwrecks or boundaries, are accessible through `emodnet.wfs` via Web Feature Services (WFS). Complementary, raster and gridded datasets are available through Web Coverage Services (WCS) and ERDDAP respectively.

### EMODnet ERDDAP server
### Access EMODnet raster data through Web Coverage Services with `EMODnetWCS` in R

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/):
EMODnet raster datasets, such as habitat maps or bathymetry, are available through [Web Coverage Services (WCS)](https://wikipedia.org/wiki/Web_Coverage_Service). These data are continuous, gridded, and often used for spatial visualization or environmental modeling. The EMODnetWCS R package provides tools to retrieve and process these raser datasets, in a similar fashion as `emodnet.wfs`. Extensive documentation is available at the [EMODnetWCS website](https://emodnet.github.io/EMODnetWCS/).


### Access EMODnet gridded and tabular datasets through the ERDDAP Server and `rerddap` in R

Both WFS and WCS EMODnet services are based on a federated system: each EMODnet thematic lot manages their servers and data, ensuring that their data are exposed both via WFS and WCS. The twin R packages `emodnet.wfs` and `EMODnetWCS` simplify the access to all the entry points by collecting them in single places, which are the packages themselves.

In contrast, the [EMODnet ERDDAP Server](https://erddap.emodnet.eu) is centrally managed by the EMODnet Central Portal, offering a single access point to all gridded and tabular datasets. ERDDAP simplifies access to datasets such as digital terrain models, vessel density or environmental data. It is particularly suited for large-scale, multidimensional data analysis. In R, the `rerddap` package allows users to query and subset ERDDAP data programmatically, enabling efficient analysis and integration into workflows. For example, researchers can retrieve datasets on vessel density.

```{r rerddap}
# install.packages("rerrdap")
library(rerddap)
# This is the url where the EMODnet ERDDAP server is located
erddap_url <- "https://erddap.emodnet.eu/erddap/"
rerddap::ed_datasets(url = erddap_url)
# Inspect all available datasets
ed_datasets(url = erddap_url)
rerddap::ed_search(query = "vessel density", url = erddap_url)
# Find datasets with the key words "vessel density"
ed_search(query = "vessel density", url = erddap_url)
human_activities_data_info <- rerddap::info(datasetid = "humanactivities_9f8a_3389_f08a", url = erddap_url)
# Inspect more info about the vessel density dataset, using its identifier
human_activities_data_info <- info(datasetid = "humanactivities_9f8a_3389_f08a", url = erddap_url)
human_activities_data_info
# Retrieve the vessel density at a particular time period
year_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 emodnet.wfs uses [Web Feature Services](https://www.ogc.org/publications/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/publications/standard/wcs/). The R package [EMODnetWCS](https://github.com/EMODnet/EMODnetWCS) makes these data available in R.
More functionalities are available through `rerddap`. Feel free to explore the [rerddap website](https://docs.ropensci.org/rerddap/) to find out what else can you do with the EMODnet datasets in ERDDAP.

## Citation

Expand All @@ -216,3 +224,4 @@ citation(package = "emodnet.wfs")
## Acknowledgements

This package was started by the Sheffield University during the EMODnet Biology WP4 data products workshop in June 2020.

109 changes: 77 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,11 @@ Services](https://emodnet.ec.europa.eu/en/data-0). [Web Feature services
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.
Features are *observations* and feature properties are *variables*.
emodnet.wfs aims at offering an user-friendly interface to this rich
data.
Features are representation of geographic entities, such as a
coastlines, marine protected areas, offshore platforms, or fishing
areas. In WFS, features have geometry (spatial information) and
attributes (descriptive data). emodnet.wfs aims at offering an
user-friendly interface to this rich data.

## Installation and setup

Expand Down Expand Up @@ -76,7 +78,7 @@ All available data sources, called services, are contained in the
library(emodnet.wfs)
services <- emodnet_wfs()
class(services)
#> [1] "tbl_df" "tbl" "data.frame"
#> [1] "data.frame"
names(services)
#> [1] "service_name" "service_url"
services$service_name
Expand All @@ -102,7 +104,12 @@ services$service_name
To explore available services you can use `View()` or your usual way to
explore `data.frames`.

## Connect to a data source: Create a service client
## Initialise a WFS Service Client

A WFS service client is responsible for sending requests to a WFS server
and processing the responses to retrieve, display, or analyze geospatial
features. As such, initialising a client is the first step to
interacting with an EMODnet Web Feature Services.

Specify the service using the `service` argument.

Expand All @@ -121,10 +128,16 @@ wfs_bio
#> ....|-- capabilities <WFSCapabilities>
```

## List contents of a data source: Get layer information from a service client
## List contents of a WFS: Get layer information from a service client

In the context of a Web Feature Service (WFS), a layer refers to a
logical grouping of geographic features that share the same schema
(i.e., the same feature type, geometry, and attributes). Layers are the
units of data that clients can query, retrieve, and manipulate through a
WFS.

You can get metadata about the datasets, called layers, available from a
service.
You can access information (metadata) about each layer available from an
EMODnet WFS with `emodnet_get_wfs_info()`

``` r
emodnet_get_wfs_info(service = "biology")
Expand Down Expand Up @@ -246,8 +259,9 @@ emodnet_get_layers(wfs = wfs_bio, layers = layers)
#> 10 mediseh_posidonia_nodata.84 0 2.817453 MULTICURVE (LINESTRING (15....
```

You can change the output `crs` (“projection”) through the argument
`crs`.
You can change the output Coordinate Reference System (CRS), which
defines how geographic data is mapped to the Earth’s surface, through
the argument `crs`.

``` r
emodnet_get_layers(wfs = wfs_bio, layers = layers, crs = 3857)
Expand Down Expand Up @@ -398,16 +412,48 @@ If you get an unexpected error,
- Open an issue in this
[repository](https://github.com/EMODnet/emodnet.wfs/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/):
## Unlock the Full Potential of the EMODnet Web Services: Access Raster and Gridded datasets.

EMODnet hosts a wealth of marine and maritime data distributed through
three complementary web services: WFS, WCS, and ERDDAP. Web services
allow users to retrieve data programmatically from remote servers,
eliminating the need for manual downloads. This is particularly useful
for handling large datasets or conducting dynamic analyses. These
services are tailored to different data types and research needs, but
together, they ensure seamless access to all EMODnet vector, raster, and
gridded datasets. Vector data, such as shipwrecks or boundaries, are
accessible through `emodnet.wfs` via Web Feature Services (WFS).
Complementary, raster and gridded datasets are available through Web
Coverage Services (WCS) and ERDDAP respectively.

### Access EMODnet raster data through Web Coverage Services with `EMODnetWCS` in R

EMODnet raster datasets, such as habitat maps or bathymetry, are
available through [Web Coverage Services
(WCS)](https://wikipedia.org/wiki/Web_Coverage_Service). These data are
continuous, gridded, and often used for spatial visualization or
environmental modeling. The EMODnetWCS R package provides tools to
retrieve and process these raser datasets, in a similar fashion as
`emodnet.wfs`. Extensive documentation is available at the [EMODnetWCS
website](https://emodnet.github.io/EMODnetWCS/).

### Access EMODnet gridded and tabular datasets through the ERDDAP Server and `rerddap` in R

Both WFS and WCS EMODnet services are based on a federated system: each
EMODnet thematic lot manages their servers and data, ensuring that their
data are exposed both via WFS and WCS. The twin R packages `emodnet.wfs`
and `EMODnetWCS` simplify the access to all the entry points by
collecting them in single places, which are the packages themselves.

In contrast, the [EMODnet ERDDAP Server](https://erddap.emodnet.eu) is
centrally managed by the EMODnet Central Portal, offering a single
access point to all gridded and tabular datasets. ERDDAP simplifies
access to datasets such as digital terrain models, vessel density or
environmental data. It is particularly suited for large-scale,
multidimensional data analysis. In R, the `rerddap` package allows users
to query and subset ERDDAP data programmatically, enabling efficient
analysis and integration into workflows. For example, researchers can
retrieve datasets on vessel density.

``` r
# install.packages("rerrdap")
Expand All @@ -416,9 +462,11 @@ library(rerddap)
#> method from
#> print.cache_info httr

# This is the url where the EMODnet ERDDAP server is located
erddap_url <- "https://erddap.emodnet.eu/erddap/"

rerddap::ed_datasets(url = erddap_url)
# Inspect all available datasets
ed_datasets(url = erddap_url)
#> # A tibble: 8 × 16
#> griddap Subset tabledap Make.A.Graph wms files Title Summary FGDC ISO.19115
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
Expand All @@ -433,7 +481,8 @@ rerddap::ed_datasets(url = erddap_url)
#> # ℹ 6 more variables: Info <chr>, Background.Info <chr>, RSS <chr>,
#> # Email <chr>, Institution <chr>, Dataset.ID <chr>

rerddap::ed_search(query = "vessel density", url = erddap_url)
# Find datasets with the key words "vessel density"
ed_search(query = "vessel density", url = erddap_url)
#> # A tibble: 16 × 2
#> title dataset_id
#> <chr> <chr>
Expand All @@ -454,7 +503,8 @@ rerddap::ed_search(query = "vessel density", url = erddap_url)
#> 15 Vessel traffic density, 2019, Tug and Towing EMODPACE_VD_07_Tug
#> 16 Vessel traffic density, 2019, Unknown EMODPACE_VD_12_Unk…

human_activities_data_info <- rerddap::info(datasetid = "humanactivities_9f8a_3389_f08a", url = erddap_url)
# Inspect more info about the vessel density dataset, using its identifier
human_activities_data_info <- info(datasetid = "humanactivities_9f8a_3389_f08a", url = erddap_url)
human_activities_data_info
#> <ERDDAP info> humanactivities_9f8a_3389_f08a
#> Base URL: https://erddap.emodnet.eu/erddap
Expand All @@ -467,6 +517,7 @@ human_activities_data_info
#> vd:
#> Units: seconds

# Retrieve the vessel density at a particular time period
year_2020_gridded_data <- griddap(datasetx = human_activities_data_info, time = c("2020-03-18", "2020-03-19"))
#> info() output passed to x; setting base url to: https://erddap.emodnet.eu/erddap
head(year_2020_gridded_data$data)
Expand All @@ -479,15 +530,9 @@ head(year_2020_gridded_data$data)
#> 6 -617500 7034500 2020-04-01T00:00:00Z NA
```

### EMODnetWCS: Access EMODnet Web Coverage Service data

This package emodnet.wfs uses [Web Feature
Services](https://www.ogc.org/publications/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/publications/standard/wcs/). The R package
[EMODnetWCS](https://github.com/EMODnet/EMODnetWCS) makes these data
available in R.
More functionalities are available through `rerddap`. Feel free to
explore the [rerddap website](https://docs.ropensci.org/rerddap/) to
find out what else can you do with the EMODnet datasets in ERDDAP.

## Citation

Expand Down

0 comments on commit b70c027

Please sign in to comment.