This tutorial introduces the use of the emodnet.wfs R package to retrieve and analyse marine vector data from EMODnet’s Web Feature Services (WFS). Using the North Sea as a case study, users will explore how to identify marine protected areas (MPAs) that spatially overlap with subsea infrastructure, such as pipelines and telecommunication cables.
The tutorial provides a practical entry point to accessing and working with EMODnet WFS data entirely within R. It focuses on combining multiple layers representing protected areas and human activities, and applying spatial intersection techniques to highlight potential areas of conflict or concern.
The North Sea is one of Europe’s most heavily industrialised marine regions, featuring dense networks of energy and communication infrastructure alongside a growing network of marine protected areas. Understanding where these features intersect is crucial for marine spatial planning, environmental impact assessments, and compliance with EU directives such as the Marine Strategy Framework Directive and the Habitats Directive.
This tutorial demonstrates how open-access EMODnet data can be used to identify and quantify overlaps between protected areas and marine infrastructure, offering a foundation for data-driven policy and environmental decision-making.
- Learn how to access and retrieve multiple WFS layers using the
emodnet.wfsR package - Load and combine spatial datasets representing MPAs and subsea infrastructure
- Harmonise coordinate reference systems and prepare geometries for analysis
- Apply
sf::st_intersects()to detect spatial overlaps - Summarise and visualise the extent of intersection between protected areas and human activities
Protected Areas (Seabed Habitats): - cddaareas - natura2000areas - marineprotectedareas
Subsea Infrastructure (Human Activities): - platforms - pipelines - pcablesbshcontis - pcablesshom - pcablesrijks - pcablesnve
All layers are queried via WFS and imported as sf objects. The tutorial demonstrates how to standardise CRS, validate geometries, and use spatial intersection (sf::st_intersects()) to detect overlaps between protected areas and infrastructure features. Users will generate summary outputs and maps highlighting intersecting features.
By the end of the tutorial, users will have produced a dataset and map identifying all protected areas in the North Sea that intersect with pipelines, platforms, or submarine cables. This analysis can serve as a basis for further exploration of spatial conflict, impact assessment, or policy evaluation.
Tutorial 2: Exploring the Overlap Between Zooplankton Distributions and Predicted Plaice Nursery Grounds
In this tutorial, we demonstrate how to access and analyse gridded geospatial data using the emodnet.wcs R package. We explore the spatial overlap between predicted Essential Fish Habitat (EFH) for plaice (Pleuronectes platessa) nursery areas and the relative abundance of key copepod species, which are important prey for plaice larvae and juveniles during early life stages.
Understanding the availability and distribution of zooplankton during the nursery period provides insight into ecological suitability, feeding potential, and larval survival in these critical habitats. While the layers used here represent relative abundance proxies rather than absolute biomass, they still offer valuable information for exploring spatial co-occurrence and potential trophic support patterns.
By combining species-specific WCS layers from EMODnet Biology with habitat suitability layers from EMODnet Seabed Habitats, users will learn how to:
- Retrieve and subset multi-band raster datasets from EMODnet WCS services using
emdn_get_coverage() - Pre-process and compare copepod species distributions (e.g. Acartia spp., Temora longicornis, Calanus finmarchicus)
- Mask copepod rasters using plaice EFH nursery predictions (
GRAY_INDEXband) to explore potential overlap - Visualise and summarise relative co-occurrence patterns using the
terrapackage
- Understand how to identify and retrieve relevant raster layers using
describe_coverages() - Use
emdn_get_coverage()to download WCS data for a specific area and (optionally) time - Apply raster alignment, masking, and standardisation for comparative analysis
- Interpret spatial patterns in relative abundance and their ecological relevance
| Dataset | Source | Layer ID |
|---|---|---|
Predicted EFH for plaice nursery grounds (GRAY_INDEX band) |
EMODnet Seabed Habitats | emodnet_open_maplibrary__DK004013_EFH_Plaice_Nursery grounds |
| Relative abundance of Acartia spp. (small copepods) | EMODnet Biology | Emodnetbio__aca_spp_19582016_L1 |
| Relative abundance of Temora longicornis (medium copepods) | EMODnet Biology | Emodnetbio__tem_lon_19582016_L1_err |
| Relative abundance of Calanus finmarchicus (large copepods) | EMODnet Biology | Emodnetbio__cal_fin_19582016_L1_err |
This analysis focuses on the Eastern English Channel, a known nursery area for plaice.
Bounding box: xmin = 0.0, ymin = 49.5, xmax = 2.5, ymax = 51.0
For copepod data, we subset the time period to April–May, corresponding to the peak of the nursery phase when food availability is most critical for larval and juvenile plaice.
-
Define spatial extent
Set the bounding box for the Eastern English Channel. -
Download copepod layers
Useemdn_get_coverage()to retrieve relative abundance rasters for Acartia spp., Temora longicornis, and Calanus finmarchicus for April–May. -
Retrieve EFH nursery habitat
Useemdn_get_coverage()to access the plaice nursery habitat raster.
Extract theGRAY_INDEXband, which reflects relative suitability on a continuous scale. -
Pre-process rasters
- Align all layers to a common extent and resolution
- Mask each copepod raster using the nursery ground raster
- Optionally rescale values (e.g. 0–1) for visual comparison
-
Visualise spatial overlap
- Plot masked rasters to highlight regions of high copepod abundance within nursery grounds
- Optionally generate maps of differences or ratios across species
-
Interpret ecological patterns
- Discuss spatial co-occurrence as a proxy for potential prey availability
- Reflect on implications for nursery habitat quality across different zooplankton communities
In this tutorial, we combine vector and raster data using the emodnet.wfs and emodnet.wcs packages to investigate whether changes in marine biodiversity over time are associated with water depth.
We use a gridded dataset of diversity change metrics derived from benthic species observations, comparing different time periods across the North Sea. These include measures of species loss, species gain, and turnover (β-diversity components). To explore potential environmental drivers, we extract bathymetric values from a mean depth raster and assess their relationship with observed biodiversity change.
Understanding how species communities respond to environmental gradients such as depth helps us contextualise change and prioritise conservation areas where communities may be most vulnerable or resilient.
- Use
emdn_get_features()to access spatiotemporal diversity metrics from EMODnet Biology (WFS) - Use
emdn_get_coverage()to retrieve raster bathymetry from EMODnet Bathymetry (WCS) - Perform spatial joins and point-based extraction from raster datasets
- Visualise and summarise patterns of species gain/loss across depth gradients
- Layer ID:
all_diversity_measures\ - Source: EMODnet Biology\
- Key variables:
sp_lost_beta_repl: Number of species lost between two time periods\sp_gained_beta_repl: Number of species gained\beta_total: Overall β-diversity\period: Time periods compared (e.g.pre1990_v_post2015)
- Layer ID:
emodnet__mean_2020\ - Source: EMODnet Bathymetry\
- Description: Mean depth (m), regularly gridded
Region: North Sea
Bounding box (WGS84):\
- xmin = 1.5\
- ymin = 53\
- xmax = 6.5\
- ymax = 58
This bounding box is used for both WFS and WCS queries.
- Use
emdn_get_features()to filter the"all_diversity_measures"layer by one or more variables and time periods. - Use
emdn_get_coverage()to retrieve bathymetry raster over the same bounding box. - Use
terra::extract()to retrieve depth values for each biodiversity grid point. - Visualise results using:
- Boxplots of species loss/gain across depth bands
- Scatterplots or GAMs showing trends of β-diversity with depth
- Optionally: aggregate values spatially or by habitat if combined with additional layers.
This tutorial demonstrates how to integrate EMODnet WFS and WCS services with external EU-based data from the Copernicus Marine Service and the WoRMS trait database to explore the functional composition of benthic communities in the Aegean Sea. Specifically, it investigates how body size, a key ecological trait, varies across different seabed habitats and environmental gradients such as depth and bottom temperature.
By combining habitat mapping, species occurrences, trait data, and environmental rasters, this tutorial highlights practical workflows for multi-source marine ecological analysis using open-access EU marine data infrastructures.
- Demonstrate combined use of
emodnet.wfs,emodnet.wcs, andCopernicusMarinepackages - Retrieve and visualise body size traits for benthic species using the WoRMS API
- Explore trait–environment relationships across habitat types
- Highlight practical geospatial workflows including raster extraction and spatial joins
EMODnet WFS\
eb185_benthos_full_matched: Benthic species records in the Aegean\eu_seabed_habitats_2019(or equivalent): Seabed habitat polygons
EMODnet WCS\
emodnet__mean_2020: Bathymetry raster (mean depth of seafloor)
Copernicus Marine Service\
GLOBAL_MULTIYEAR_PHY_001_030: Bottom temperature and/or salinity reanalysis data, accessed via theCopernicusMarineR package\- Spatial and temporal subsetting performed using
cms_download_subset(), as outlined in pepijn-devries.github.io/CopernicusMarine
External Resources\
- WoRMS traits via
worrms::wm_attr_data(): Used to assign body size categories to observed species
- Body size is a fundamental trait linked to metabolism, feeding strategy, and ecological role. Its distribution can reveal patterns in community function and response to environmental gradients.
- Seabed habitats structure benthic biodiversity and are central to ecosystem function and conservation assessment.
- Bathymetry provides crucial context on environmental filtering and species zonation.
- Bottom temperature, derived from Copernicus Marine reanalysis, offers insight into thermal niches and habitat suitability, especially for sedentary or temperature-sensitive benthic fauna.
-
Define spatial extent
Specify a bounding box around the Aegean Sea to spatially filter all layers. -
Retrieve and filter WFS layers
Useemodnet.wfsto download benthic species records and habitat polygons, filtering to the Aegean region. -
Download WCS rasters
Useemodnet.wcs::emdn_get_coverage()to get bathymetry.
UseCopernicusMarine::cms_download_subset()to download bottom temperature rasters for the same area. -
Link WoRMS traits
For each species, useworrms::wm_attr_data()to retrieve body size traits. -
Spatial operations
- Join species points with habitat polygons\
- Extract raster values (depth, temperature) to species points\
- Group by habitat type and summarise trait distribution
-
Visualise patterns
- Map trait-environment relationships\
- Compare trait distributions across habitat classes and depth zones
-
Interpret ecological signals
Discuss how trait variation aligns with environmental gradients and habitat types
- What format should the tutorials webpage take? Is a Quarto website ok associated with a GitHub repo? Where should it live (when published and also during development)
- Who will review pull requests? Would Maëlle be available and willing to do this?
- Who should I contact about issues with the data I uncover?
- There is a problem with a number of WCS layers, including the bathymetry layers I'm hoping to use, emanating from OWS4r. Maëlle has already opened issues and linked to an issue already opened by others and discussed in detail here. It will need to be resolved to proceed with atleast one of the proposals.