A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

EMODnetWCS

Access Marine Data via the EMODnet Web Coverage Service data through R.
https://github.com/EMODnet/EMODnetWCS

Category: Sustainable Development
Sub Category: Data Catalogs and Interfaces

Keywords

biology dataproducts emodnet geospatial marine-data r-package raster-data wcs

Keywords from Contributors

geocoding

Last synced: about 20 hours ago
JSON representation

Repository metadata

Access EMODnet Web Coverage Service data through R

README.Rmd

          ---
output: github_document
---



```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# EMODnetWCS


[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![CRAN status](https://www.r-pkg.org/badges/version/EMODnetWCS)](https://CRAN.R-project.org/package=EMODnetWCS)
[![R-CMD-check](https://github.com/EMODnet/EMODnetWCS/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/EMODnet/EMODnetWCS/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/EMODnet/EMODnetWCS/branch/main/graph/badge.svg)](https://app.codecov.io/gh/EMODnet/EMODnetWCS?branch=master)



The goal of EMODnetWCS is to allow interrogation of and access to EMODnet geographic raster data in R though the [EMODnet Web Coverage Services](https://github.com/EMODnet/Web-Service-Documentation#web-coverage-service-wcs). See below for available Services. This package was developed by Sheffield University as part of EMODnet Biology WP4.

[Web Coverage services (WCS)](https://www.ogc.org/standards/wcs) is a standard created by the OGC that refers to the receiving of geospatial information as ‘coverages’: digital geospatial information representing space-varying phenomena. One can think of it as Web Feature Service (WFS) for raster data. It gets the ‘source code’ of the map, but in this case it's not raw vectors but raw imagery.

An important distinction must be made between WCS and Web Map Service (WMS). They are similar, and can return similar formats, but a WCS is able to return more information, including valuable metadata and more formats. It additionally allows more precise queries, potentially against multi-dimensional backend formats.

## Installation

You can install the development version of EMODnetWCS from GitHub with:

``` r
# install.packages("remotes")
remotes::install_github("EMODnet/EMODnetWCS")
```
Load the library 
```{r load-lib}
library(EMODnetWCS)
```

## Available services

All available services are contained in the tibble returned by `emdn_wcs()`.


```{r services, echo=FALSE}

knitr::kable(emdn_wcs())
```

To explore available services in Rstudio use:

```r
View(emdn_wcs())
```


## Create Service Client

Create new WCS Client.  Specify the service using the `service` argument. 

```{r wcs-init}
wcs <- emdn_init_wcs_client(service = "biology")
```


## Get metadata about a WCS service and available coverages

Get service level and a subset of coverage level metadata, compiled for easy review by supplying a `WCSClient` object to `emdn_get_wcs_info`.

```{r wcs-info}
emdn_get_wcs_info(wcs)
```

Info can also be extracted using a service name instead of a `WCSClient` object.

```{r wcs-info-name}
emdn_get_wcs_info(service = "biology")
```

Get more detailed coverage metadata about specific coverage. 

```{r wcs-info-coverage}
emdn_get_coverage_info(wcs, 
                       coverage_ids = "Emodnetbio__cal_fin_19582016_L1_err")
```


> **Note** 
>
> To minimize the number of requests sent to webservices, these functions use [`memoise`](https://memoise.r-lib.org/) to cache results inside the active R session.
> To clear the cache, re-start R or run `memoise::forget(emdn_get_wcs_info)`/`memoise::forget(emdn_get_coverage_info)`

The package also offers a number of functions for extracting individual metadata in more usable forms. e.g.

```{r}
emdn_get_coverage_ids(wcs)
```

For more details, please refer to the [Getting metadata about Services & Coverages](https://emodnet.github.io/EMODnetWCS/articles/metadata.html) article in the `EMODnetWCS` online documentation.


## Downloading Coverages

The package also provides a function to download full or subsets of coverages from EMODnetWCS services.

The following example downloads a spatial subset of a coverage using a bounding box.

```{r}
cov <- emdn_get_coverage(wcs, 
                  coverage_id = "Emodnetbio__cal_fin_19582016_L1_err",
                  bbox = c(xmin = 0, 
                           ymin = 40, 
                           xmax = 5, 
                           ymax = 45),
                  nil_values_as_na = TRUE
                  )

cov
```

```{r}
terra::plot(cov)
```

For more details on downloading coverages, please refer to the [Download Coverages](https://emodnet.github.io/EMODnetWCS/articles/coverages.html) article in the `EMODnetWCS` online documentation.


```{r, include=FALSE}
fs::dir_ls(type = "file", glob = "*.tif") %>%
   fs::file_delete()
```


## Citation

To cite EMODnetWCS, please use the output from `citation(package = "EMODnetWCS")`.

```{r}
citation(package = "EMODnetWCS")
```



## Code of Conduct

Please note that the EMODnetWCS project is released with a [Contributor Code of Conduct](https://emodnet.github.io/EMODnetWCS/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 1 year ago

Total Commits: 191
Total Committers: 2
Avg Commits per committer: 95.5
Development Distribution Score (DDS): 0.005

Commits in past year: 66
Committers in past year: 2
Avg Commits per committer in past year: 33.0
Development Distribution Score (DDS) in past year: 0.015

Name Email Commits
Anna Krystalli a****i@g****m 190
Maëlle Salmon m****n@y****e 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 1 year ago

Total issues: 41
Total pull requests: 14
Average time to close issues: 17 days
Average time to close pull requests: about 16 hours
Total issue authors: 5
Total pull request authors: 2
Average comments per issue: 0.83
Average comments per pull request: 0.0
Merged pull request: 14
Bot issues: 6
Bot pull requests: 0

Past year issues: 2
Past year pull requests: 0
Past year average time to close issues: 10 days
Past year average time to close pull requests: N/A
Past year issue authors: 2
Past year pull request authors: 0
Past year average comments per issue: 0.5
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/EMODnet/EMODnetWCS

Top Issue Authors

  • annakrystalli (32)
  • github-actions[bot] (6)
  • pnogas67 (1)
  • eblondel (1)
  • dlusseau (1)

Top Pull Request Authors

  • annakrystalli (13)
  • maelle (1)

Top Issue Labels

  • bug (7)
  • documentation (5)
  • enhancement (4)
  • ows4R (1)
  • emodnet-servers (1)
  • tests (1)

Top Pull Request Labels


Dependencies

DESCRIPTION cran
  • R >= 4.1 depends
  • ows4R >= 0.3 depends
  • checkmate * imports
  • curl * imports
  • glue * imports
  • httr * imports
  • memoise * imports
  • purrr * imports
  • rlang * imports
  • sf * imports
  • tibble * imports
  • usethis * imports
  • covr * suggests
  • httptest * suggests
  • testthat >= 3.0.0 suggests
  • webmockr * suggests
  • withr * suggests

Score: 3.912023005428146