Emodnet.wcs
Access EMODnet Web Coverage Service data through R
Install / Use
/learn @EMODnet/Emodnet.wcsREADME
emodnet.wcs
<!-- badges: start --> <!-- badges: end -->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. EMODnet raster datasets, such as habitat maps or bathymetry, are available through Web Coverage Services (WCS). These data are continuous, gridded, and often used for spatial visualization or environmental modeling. See below for available Services (data sources). This package was developed by Sheffield University as part of EMODnet Biology WP4.
Web Coverage services (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:
# install.packages("pak")
pak::pak("EMODnet/emodnet.wcs")
Load the library
library(emodnet.wcs)
#> Loading ISO 19139 XML schemas...
#> Loading ISO 19115-3 XML schemas...
#> Loading ISO 19139 codelists...
If you want to avoid reading messages from emodnet.wcs such as “WCS
client created successfully”, set the "emodnet.wcs.quiet" option to
TRUE.
options("emodnet.wcs.quiet" = TRUE)
Available data sources (services)
All available services are contained in the tibble returned by
emdn_wcs().
| service_name | service_url | |:---|:---| | bathymetry | https://ows.emodnet-bathymetry.eu/wcs | | biology | https://geo.vliz.be/geoserver/Emodnetbio/wcs | | human_activities | https://ows.emodnet-humanactivities.eu/wcs | | seabed_habitats | https://ows.emodnet-seabedhabitats.eu/geoserver/emodnet_open_maplibrary/wcs |
To explore available services you can use View() or your usual way to
explore data.frames.
Connect to a data source: create service client
Create new WCS Client. Specify the service using the service argument.
wcs <- emdn_init_wcs_client(service = "biology")
#> ✔ WCS client created succesfully
#> ℹ Service: <https://geo.vliz.be/geoserver/Emodnetbio/wcs>
#> ℹ Service: "2.0.1"
Get metadata about a service and available data (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.
emdn_get_wcs_info(wcs)
#> $data_source
#> [1] "emodnet_wcs"
#>
#> $service_name
#> [1] "biology"
#>
#> $service_url
#> [1] "https://geo.vliz.be/geoserver/Emodnetbio/wcs"
#>
#> $service_title
#> [1] "EMODnet Biology"
#>
#> $service_abstract
#> [1] "The EMODnet Biology products include a set of gridded map layers showing the average abundance of marine species for different time windows (seasonal, annual) using geospatial modelling. The spatial modelling tool used to calculate the gridded abundance maps is based on DIVA. DIVA (Data-Interpolating Variational Analysis) is a tool to create gridded data sets from discrete point measurements of the ocean. For the representation of time dynamics, it was decided to produce gridded maps for sliding time windows, e.g. combining one or more years in one gridded map, so that relatively smooth animated GIF presentations can be produced that show the essential change over time. EMODnet Biology’s data products include the Operational Ocean Products and Services (OOPS), harvested by ICES."
#>
#> $service_access_constraits
#> [1] "NONE"
#>
#> $service_fees
#> [1] "NONE"
#>
#> $service_type
#> [1] "urn:ogc:service:wcs"
#>
#> $coverage_details
#> # A tibble: 10 × 9
#> coverage_id dim_n dim_names extent crs wgs84_bbox temporal_extent
#> <chr> <int> <chr> <chr> <chr> <chr> <chr>
#> 1 Emodnetbio__ratio_la… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 2 Emodnetbio__aca_spp_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 3 Emodnetbio__cal_fin_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 4 Emodnetbio__cal_hel_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 5 Emodnetbio__met_luc_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 6 Emodnetbio__oit_spp_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 7 Emodnetbio__tem_lon_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 8 Emodnetbio__chli_195… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 9 Emodnetbio__tot_lar_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 10 Emodnetbio__tot_sma_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> # ℹ 2 more variables: vertical_extent <chr>, subtype <chr>
Info can also be extracted using a service name instead of a WCSClient
object.
emdn_get_wcs_info(service = "biology")
#> ✔ WCS client created succesfully
#> ℹ Service: <https://geo.vliz.be/geoserver/Emodnetbio/wcs>
#> ℹ Service: "2.0.1"
#> $data_source
#> [1] "emodnet_wcs"
#>
#> $service_name
#> [1] "biology"
#>
#> $service_url
#> [1] "https://geo.vliz.be/geoserver/Emodnetbio/wcs"
#>
#> $service_title
#> [1] "EMODnet Biology"
#>
#> $service_abstract
#> [1] "The EMODnet Biology products include a set of gridded map layers showing the average abundance of marine species for different time windows (seasonal, annual) using geospatial modelling. The spatial modelling tool used to calculate the gridded abundance maps is based on DIVA. DIVA (Data-Interpolating Variational Analysis) is a tool to create gridded data sets from discrete point measurements of the ocean. For the representation of time dynamics, it was decided to produce gridded maps for sliding time windows, e.g. combining one or more years in one gridded map, so that relatively smooth animated GIF presentations can be produced that show the essential change over time. EMODnet Biology’s data products include the Operational Ocean Products and Services (OOPS), harvested by ICES."
#>
#> $service_access_constraits
#> [1] "NONE"
#>
#> $service_fees
#> [1] "NONE"
#>
#> $service_type
#> [1] "urn:ogc:service:wcs"
#>
#> $coverage_details
#> # A tibble: 10 × 9
#> coverage_id dim_n dim_names extent crs wgs84_bbox temporal_extent
#> <chr> <int> <chr> <chr> <chr> <chr> <chr>
#> 1 Emodnetbio__ratio_la… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 2 Emodnetbio__aca_spp_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 3 Emodnetbio__cal_fin_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 4 Emodnetbio__cal_hel_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 5 Emodnetbio__met_luc_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 6 Emodnetbio__oit_spp_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 7 Emodnetbio__tem_lon_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 8 Emodnetbio__chli_195… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 9 Emodnetbio__tot_lar_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> 10 Emodnetbio__tot_sma_… 3 lat(deg)… -75.0… EPSG… -75.05, 3… 1958-02-16T01:…
#> # ℹ 2 more variables: vertical_extent <chr>, subtype <chr>
Get more detailed coverage metadata about specific coverage.
emdn_get_coverage_info(
wcs,
coverage_ids = "Emodnetbio__aca_spp_19582016_L1"
)
#> # A tibble: 1 × 21
#> data_source service_name service_url coverage_id band_description band_uom
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 emodnet_wcs https://geo.vli… biology Emodnetbio… relative_abunda… W.m-2.S…
#> # ℹ 15 more variables: constraint <chr>, nil_value <dbl>, dim_n <int>,
#> # dim_names <chr>, grid_size <chr>, resolution <chr>, extent <chr>,
#> # crs <chr>, wgs84_extent <chr>, temporal_extent <chr>,
#> # vertical_extent <chr>, subtype <chr>, fn_seq_rule <chr>,
#> # fn_start_point <chr>, fn_axis_order <chr>
Note
To minimize the number of requests sent to webservices, these functions use
memoiseto cache results inside the active R session. To clear the cache, re-start R or runmemoise::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.
emdn_get_coverage_ids(wcs)
#> [1] "Emodnetbio__ratio_large_to_small_19582016_L1_err"
#> [2] "Emodnetbio__aca_spp_19582016_L1"
#> [3] "Emodnetbio__cal_fin_19582016_L1_err"
#> [4] "Emodnetbio__cal_hel_19582016_L1_err"
#> [5] "Emodnetbio__met_luc_19582016_L1_err"
#> [6] "Emodnetbio__oit_spp_19582016_L1_err"
#> [7] "Emodnetbio__tem_lon_19582016_L1_err"
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
