emodnet.wcs

Access EMODnet Web Coverage Service data through R

https://github.com/emodnet/emodnet.wcs

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.9%) to scientific vocabulary

Keywords

biology dataproducts emodnet geospatial marine-data r-package raster-data wcs
Last synced: 6 months ago · JSON representation

Repository

Access EMODnet Web Coverage Service data through R

Basic Info
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 1
  • Open Issues: 15
  • Releases: 0
Topics
biology dataproducts emodnet geospatial marine-data r-package raster-data wcs
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codemeta

README.Rmd

---
output: github_document
---



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

# emodnet.wcs



[![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/emodnet.wcs)](https://CRAN.R-project.org/package=emodnet.wcs) [![R-CMD-check](https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml) [![Codecov test coverage](https://codecov.io/gh/EMODnet/emodnet.wcs/branch/main/graph/badge.svg)](https://app.codecov.io/gh/EMODnet/emodnet.wcs?branch=master)
[![Codecov test coverage](https://codecov.io/gh/EMODnet/emodnet.wcs/graph/badge.svg)](https://app.codecov.io/gh/EMODnet/emodnet.wcs)
[![R-CMD-check](https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml)


The goal of emodnet.wcs 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 emodnet.wcs from GitHub with:

```r
# install.packages("pak")
pak::pak("EMODnet/emodnet.wcs")
```

Load the library

```{r load-lib}
library(emodnet.wcs)
```

If you want to avoid reading messages from emodnet.wcs such as "WCS client created successfully", 
set the `"emodnet.wcs.quiet"` option to `TRUE`.

```r
options("emodnet.wcs.quiet" = TRUE)
```

## 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 your R session 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__aca_spp_19582016_L1"
)
```

> **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/emodnet.wcs/articles/metadata.html) article in the `emodnet.wcs` online documentation.

## Downloading Coverages

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

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

```{r}
cov <- emdn_get_coverage(
  wcs,
  coverage_id = "Emodnetbio__aca_spp_19582016_L1",
  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/emodnet.wcs/articles/coverages.html) article in the `emodnet.wcs` online documentation.

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

## Citation

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

```{r}
citation(package = "emodnet.wcs")
```

## Code of Conduct

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


Owner

  • Name: EMODnet
  • Login: EMODnet
  • Kind: organization
  • Email: info@emodnet.eu
  • Location: Belgium

Your gateway to marine data in Europe

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "emodnet.wcs",
  "description": "Access and interrogate EMODnet Web Coverage Service data through R.",
  "name": "emodnet.wcs: Access EMODnet Web Coverage Service data through R",
  "relatedLink": "https://emodnet.github.io/emodnet.wcs/",
  "codeRepository": "https://github.com/EMODnet/emodnet.wcs",
  "issueTracker": "https://github.com/EMODnet/emodnet.wcs/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.0.0.9012",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.1 (2025-06-13)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Anna",
      "familyName": "Krystalli",
      "email": "annakrystalli@googlemail.com",
      "@id": "https://orcid.org/0000-0002-2378-4915"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Pepijn",
      "familyName": "de Vries",
      "email": "pepijn.devries@outlook.com",
      "@id": "https://orcid.org/0000-0002-7961-6646"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "European Marine Observation Data Network (EMODnet) Biology project",
      "familyName": "European Commission's Directorate - General for Maritime Affairs and Fisheries (DG MARE)",
      "email": "bio@emodnet.eu"
    }
  ],
  "funder": [
    {
      "@type": "Organization",
      "name": "VLIZ (VLAAMS INSTITUUT VOOR DE ZEE)",
      "email": "info@vliz.be"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Salvador",
      "familyName": "Fernández-Bejarano",
      "email": "salvador.fernandez@vliz.be",
      "@id": "https://orcid.org/0000-0003-0535-7677"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "fs",
      "name": "fs",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=fs"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "huxtable",
      "name": "huxtable",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=huxtable"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "vcr",
      "name": "vcr",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://github.com/ropensci/vcr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "webmockr",
      "name": "webmockr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=webmockr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=withr"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 4.1.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "checkmate",
      "name": "checkmate",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=checkmate"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "curl",
      "name": "curl",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=curl"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "glue",
      "name": "glue",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=glue"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "httr2",
      "name": "httr2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr2"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "memoise",
      "name": "memoise",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=memoise"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "ows4R",
      "name": "ows4R",
      "version": ">= 0.3-2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://github.com/eblondel/ows4R"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=purrr"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sf"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "terra",
      "name": "terra",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=terra"
    },
    "13": {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tibble"
    },
    "SystemRequirements": null
  },
  "fileSize": "6947.27KB",
  "citation": [
    {
      "@type": "SoftwareSourceCode",
      "datePublished": "2025",
      "author": [
        {
          "@type": "Person",
          "givenName": "Anna",
          "familyName": "Krystalli"
        }
      ],
      "name": "{emodnet.wcs}: Access EMODnet Web Coverage Service data through R",
      "url": "https://github.com/EMODnet/emodnet.wcs",
      "description": "R package version 0.0.0.9012. Integrated data products created under the European Marine Observation Data Network (EMODnet) Biology project (EASME/EMFF/2017/1.3.1.2/02/SI2.789013), funded by the European Union under Regulation (EU) No 508/2014 of the European Parliament and of the Council of 15 May 2014 on the European Maritime and Fisheries Fund"
    }
  ],
  "releaseNotes": "https://github.com/EMODnet/emodnet.wcs/blob/master/NEWS.md",
  "readme": "https://github.com/EMODnet/emodnet.wcs/blob/main/README.md",
  "contIntegration": [
    "https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml",
    "https://app.codecov.io/gh/EMODnet/emodnet.wcs?branch=master",
    "https://app.codecov.io/gh/EMODnet/emodnet.wcs",
    "https://github.com/EMODnet/emodnet.wcs/actions/workflows/R-CMD-check.yaml"
  ],
  "developmentStatus": "https://lifecycle.r-lib.org/articles/stages.html#experimental",
  "keywords": [
    "geospatial",
    "marine-data",
    "raster-data",
    "wcs",
    "r-package",
    "emodnet",
    "biology",
    "dataproducts"
  ]
}

GitHub Events

Total
  • Issues event: 22
  • Delete event: 2
  • Issue comment event: 36
  • Push event: 34
  • Pull request review event: 11
  • Pull request review comment event: 11
  • Pull request event: 10
  • Fork event: 1
  • Create event: 7
Last Year
  • Issues event: 22
  • Delete event: 2
  • Issue comment event: 36
  • Push event: 34
  • Pull request review event: 11
  • Pull request review comment event: 11
  • Pull request event: 10
  • Fork event: 1
  • Create event: 7

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 256
  • Total Committers: 2
  • Avg Commits per committer: 128.0
  • Development Distribution Score (DDS): 0.258
Past Year
  • Commits: 65
  • Committers: 1
  • Avg Commits per committer: 65.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Anna Krystalli a****i@g****m 190
Maëlle Salmon m****n@y****e 66

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 54
  • Total pull requests: 22
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 0.94
  • Average comments per pull request: 0.0
  • Merged pull requests: 21
  • Bot issues: 5
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 8
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 1.27
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • annakrystalli (32)
  • maelle (15)
  • github-actions[bot] (5)
  • pnogas67 (1)
  • pepijn-devries (1)
Pull Request Authors
  • annakrystalli (13)
  • maelle (9)
Top Labels
Issue Labels
bug (8) documentation (6) enhancement (5) tests (2) ows4R (1) emodnet-servers (1)
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
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgcheck.yaml actions
  • ropensci-review-tools/pkgcheck-action main composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action 4.1.4 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v1 composite
  • r-lib/actions/pr-push v1 composite
  • r-lib/actions/setup-r v1 composite
  • r-lib/actions/setup-r-dependencies v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite