Package 'emodnet.wfs'

Title: Access 'EMODnet' Web Feature Service data through R
Description: Access and interrogate 'EMODnet' (European Marine Observation and Data Network) Web Feature Service data through R.
Authors: Anna Krystalli [aut] , Salvador Fernández-Bejarano [aut, cre] , Thomas J Webb [ctb], European Marine Observation Data Network (EMODnet) Biology project European Commission's Directorate - General for Maritime Affairs and Fisheries (DG MARE) [cph], VLIZ (VLAAMS INSTITUUT VOOR DE ZEE) [fnd] (0496vr396), Maëlle Salmon [aut] , Alec L. Robitaille [rev] (<https://orcid.org/0000-0002-4706-1762>, Reviewed the package (v2.0.2.9000) for rOpenSci, see <https://github.com/ropensci/software-review/issues/653>.), Liz Hare [rev] (<https://orcid.org/0000-0002-3978-2543>, Reviewed the package (v2.0.2.9000) for rOpenSci, see <https://github.com/ropensci/software-review/issues/653>.), François Michonneau [rev] (<https://orcid.org/0000-0002-9092-966X>, Reviewed the package (v2.0.2.9000) for rOpenSci, see <https://github.com/ropensci/software-review/issues/653>.)
Maintainer: Salvador Fernández-Bejarano <salvador.fernandez@vliz.be>
License: MIT + file LICENSE
Version: 2.0.2.9000
Built: 2025-02-12 16:53:42 UTC
Source: https://github.com/EMODnet/emodnet.wfs

Help Index


Metadata about data available from the different services: data (layers) from a data source (service), metadata on layers from a service, metadata on layers from all services.

Description

Get WFS available layer information

Usage

emodnet_get_layer_info(wfs, layers)

emodnet_get_wfs_info(wfs = NULL, service = NULL, service_version = NULL)

emodnet_get_all_wfs_info()

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

layers

a character vector of layer names. To get info on layers, including layer_name use emodnet_get_wfs_info().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

Details

To minimize the number of requests sent to webservices, these functions use memoise to cache results inside the active R session. To clear the cache, re-start R or run memoise::forget(emodnet_get_wfs_info)/ memoise::forget(emodnet_get_layer_info).

Value

a tibble containing metadata on each layer available from the service.

Functions

  • emodnet_get_layer_info(): Get metadata for specific layers. Requires a wfs object as input.

  • emodnet_get_wfs_info(): Get info on all layers from an EMODnet WFS service.

  • emodnet_get_all_wfs_info(): Get metadata on all layers and all available services from server.

Examples

emodnet_get_wfs_info(service = "bathymetry")
# Query a wfs object
wfs_bio <- emodnet_init_wfs_client("biology")
emodnet_get_wfs_info(wfs_bio)
# Get info for specific layers from wfs object
layers <- c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
emodnet_get_layer_info(wfs = wfs_bio, layers = layers)

Get EMODnet WFS datasets (layers)

Description

Performs an WFS getFeature request for layers from a wfs object or specified EMODnet Service. Filtering of layer features can also be handled via ECQL language filters.

Usage

emodnet_get_layers(
  wfs = NULL,
  service = NULL,
  service_version = NULL,
  layers,
  crs = NULL,
  cql_filter = NULL,
  simplify = FALSE,
  reduce_layers = deprecated(),
  ...
)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layers

a character vector of layer names. To get info on layers, including layer_name use emodnet_get_wfs_info().

crs

integer. EPSG code for the output crs. If NULL (default), layers are returned with original crs.

cql_filter

character. Features returned can be filtered using valid Extended Common Query Language (ECQL) filtering statements (https://docs.geoserver.org/stable/en/user/filter/ecql_reference.html). Should be one of:

  • character string or character vector of length 1. Filter will be recycled across all layers requested.

  • character vector of length equal to the length of layers. Filter will be matched to layers sequentially. Elements containing NA are ignored

  • named character vector. Each filter will be applied to the layer corresponding to the filter name. Filters with names that do not correspond to any layers are ignored. Layers without corresponding filters are returned whole.

simplify

whether to reduce output layers to a single sf object. This only works if the column names are the same.

reduce_layers

[Deprecated] use simplify.

...

additional vendor parameter arguments passed to ows4R::GetFeature(). For example, including count = 1 returns the first available feature. Or outputFormat = "CSV" (or outputFormat = "JSON") might help downloading bigger datasets.

Value

If simplify = FALSE (default), a list of sf objects, one element for each layer. Any layers for which download was unsuccessful will be NULL. If simplify = TRUE, all layers are reduced (if possible: if all column names are the same) to a single sf containing data for all layers. NULL layers are ignored. simplify = TRUE can also be used to return an sf out of a single layer request instead of a list of length 1.

Big downloads

If a layer is really big (like "abiotic_observations" of the "biology_occurrence_data" service), you might consider a combination of these ideas:

Examples

# Layers as character vector
emodnet_get_layers(
  service = "biology",
  layers = c("mediseh_zostera_m_pnt", "mediseh_posidonia_nodata")
)


# Usage of cql_filter
emodnet_get_layers(
  service = "biology",
  layers = "mediseh_zostera_m_pnt",
  cql_filter = "country = 'Francia'"
)
# Usage of vendor parameter
emodnet_get_layers(
  service = "biology",
  layers = "mediseh_zostera_m_pnt",
  count = 1
)

# Usage of csv output
data <- emodnet_get_layers(
    service = "biology_occurrence_data",
    layers = "abiotic_observations",
    outputFormat = "CSV"
)
str(data[["abiotic_observations"]])

Connect to a data source (service)

Description

Initialise an EMODnet WFS client

Usage

emodnet_init_wfs_client(service, service_version = NULL, logger = NULL)

Arguments

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

logger

the logger. Either NULL (no logging info), "INFO" (log about ows4R requests) or "DEBUG" (including curl details).

Value

An ows4R::WFSClient R6 object with methods for interfacing an OGC Web Feature Service.

See Also

WFSClient in package ows4R.

Examples

wfs <- emodnet_init_wfs_client(service = "bathymetry")

Which data sources (services) are available?

Description

Available EMODnet Web Feature Services

Usage

emodnet_wfs()

Format

emodnet_wfs

emodnet_thematic_lot

EMODnet disciplinary themes - bathymetry, biology, chemistry, geology, human activities, physics and seabed habitats

service_name

Name of the specific service. Use in emodnet_init_wfs_client.

service_url

Web Feature Service (WFS) URL endpoint for accessing the service.

Value

Tibble of available EMODnet Web Feature Services

Examples

emodnet_wfs()

Variables available in a dataset (layer) from a data source (service).

Description

Get layer attribute description

Usage

layer_attribute_descriptions(
  wfs = NULL,
  service = NULL,
  service_version = NULL,
  layer
)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layer

character sting of layer name. To get info on layers, including layer_name use emodnet_get_wfs_info().

Value

data.frame containing layer attribute descriptions (metadata).

See Also

Attributes metadata: layer_attribute_inspect(), layer_attributes_get_names(), layer_attributes_summarise(), layer_attributes_tbl()

Examples

layer_attribute_descriptions(
  service = "biology",
  layer = "mediseh_zostera_m_pnt"
)

Summary of individual variable (attribute) in a dataset (layer) from a data source (service).

Description

Inspect layer attributes

Usage

layer_attribute_inspect(
  wfs = NULL,
  service = NULL,
  service_version = NULL,
  layer,
  attribute
)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layer

character sting of layer name. To get info on layers, including layer_name use emodnet_get_wfs_info().

attribute

character string, name of layer attribute (variable). Use layer_attributes_get_names() to get layer attribute names.

Value

Detailed summary of individual attribute (variable). Particularly useful for inspecting factor or character variable levels or unique values.

See Also

Attributes metadata: layer_attribute_descriptions(), layer_attributes_get_names(), layer_attributes_summarise(), layer_attributes_tbl()

Examples

wfs <- emodnet_init_wfs_client(service = "biology")
layer_attributes_get_names(wfs, layer = "mediseh_zostera_m_pnt")
layer_attribute_inspect(
  wfs, layer = "mediseh_zostera_m_pnt",
  attribute = "country"
)

Names of variables (attributes) available from a dataset (layer) in a data source (service).

Description

Names of variables (attributes) available from a dataset (layer) in a data source (service).

Usage

layer_attributes_get_names(
  wfs = NULL,
  service = NULL,
  service_version = NULL,
  layer
)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layer

character sting of layer name. To get info on layers, including layer_name use emodnet_get_wfs_info().

Value

character vector of layer attribute (variable) names.

See Also

Attributes metadata: layer_attribute_descriptions(), layer_attribute_inspect(), layer_attributes_summarise(), layer_attributes_tbl()

Examples

layer_attributes_get_names(
  service = "biology",
  layer = "mediseh_zostera_m_pnt"
)

Get summaries of layer attributes (variables)

Description

Get summaries of layer attributes (variables)

Usage

layer_attributes_summarise(
  wfs = NULL,
  service = NULL,
  service_version = NULL,
  layer
)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layer

character sting of layer name. To get info on layers, including layer_name use emodnet_get_wfs_info().

Value

output of summary() on the attributes (variables) in a given layer for a given service.

See Also

Attributes metadata: layer_attribute_descriptions(), layer_attribute_inspect(), layer_attributes_get_names(), layer_attributes_tbl()

Examples

layer_attributes_summarise(
  service = "biology",
  layer = "mediseh_zostera_m_pnt"
)

Possible values of variables (attributes) in a dataset (layer) from a data source (service).

Description

Get layer attribute values tibble

Usage

layer_attributes_tbl(wfs = NULL, service = NULL, service_version = NULL, layer)

Arguments

wfs

A WFSClient R6 object with methods for interfacing an OGC Web Feature Service. From emodnet_init_wfs_client().

service

the EMODnet OGC WFS service name. For available services, see emodnet_wfs().

service_version

[Deprecated] the WFS service version. Now always "2.0.0".

layer

character sting of layer name. To get info on layers, including layer_name use emodnet_get_wfs_info().

Details

Request excluding spatial information can be significantly faster. Can be useful for inspecting attribute values and constructing feature filters for more targeted and faster layer download.

Value

tibble of layer attribute (variable) values with geometry column removed.

See Also

Attributes metadata: layer_attribute_descriptions(), layer_attribute_inspect(), layer_attributes_get_names(), layer_attributes_summarise()

Examples

layer_attributes_tbl(service = "biology", layer = "mediseh_zostera_m_pnt")