OGC SensorThings API as an INSPIRE download service
To date, the OGC Sensor Observation Service (SOS) has been utilised for direct access to measurement data in INSPIRE. In the quest for simpler access methods, use of the OGC SensorThings API (STA) is proposed as an alternative, pertaining both to the data and service specifications. It is shown to be in full compliance with the data requirements ensuing from both the INSPIRE EF Theme as well as the underlying Observational Model from the GCM as described in a dedicated publication .
In order to show the practical applicability of a STA-based INSPIRE download service, several STA systems are deployed by MS. At present, STA endpoints have been created for multiple following environmental and related domains, thus showing the degree of flexibility available when utilizing STA. While initially designed to bridge the gap between the spatial and IoT domains, the potential for reuse far beyond sensors becomes apparent.
INSPIRE Components:
This Good Practice pertains to data encoding as well as to network (download) services, while greatly enabling data sharing.
Pertaining to data encoding, the underlying STA data model, while isomorph to the OGC O&M data model upon which the INSPIRE observational models is built, does have some subtle differences, requiring reconfiguration of the O&M based INSPIRE data specifications. However, due to the isomorphism between these data models, the fact that the STA data model was derived from the O&M model, a lossless transposition of data can be assured.
Pertaining to network (download) service requirements, STA utilises a REST-based API approach modelled on the OData standard. In addition to fulfilling the core requirements laid down by INSPIRE pertaining to download services, the OData approach allows for the formulation of complex queries tailored to the complexity of the underlying data model, thus allowing users more direct access to the data they require than previously possible.
SensorThings API Part 1: Sensing
OGC SensorThings API Part 1: Sensing Version 1.1
OGC 10-004r3 and ISO 19156:2011(E), OGC Abstract Specification Topic 20: Geographic information — Observations and Measurements
OASIS OData Version 4.0 Part 1: Protocol Plus Errata 02
OASIS OData Version 4.0 Part 2: URL Conventions Plus Errata 02
OASIS OData JSON Format Version 4.0 Plus Errata 02
OASIS OData ABNF Construction Rules Errata 02
The adoption of the OGC SensorThings API standard as an INSPIRE download service would provide a modern approach for the exposure of dynamic geospatial data that adheres to the recommendations of the W3C Data on the Web Best Practices.
Both implementers of INSPIRE and users of the data would benefit from the powerful, yet simple approach for data sharing.
In contrast to the previously utilised OGC Web services (OWS), deployment of STA is far easier and less resource intensive than SOS, while use of the JSON encoded data is far more in line with modern development paradigms.
- Technical Guideline for setting up INSPIRE download services based on the OGC SensorThings API standard
- Implementation evidences
-
Water:
- Ground Water (FR): https://sensorthings.brgm-rec.fr/SensorThingsGroundWater/v1.0
- Surface Water Quantity (FR): https://iddata.eaufrance.fr/api/stapiHydrometry/v1.1
- Surface Water Quality (FR): https://sensorthings-wq.brgm-rec.fr/FROST-Server/v1.0
-
Water (DE): https://lubw.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1
-
Air Quality:
-
Near-real-time air quality across Europe, data from both national sources (harvested from AT SOS and WFS) and Europe (EEA):
https://airquality-frost.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1
-
Near-real-time air quality across Europe, data from both national sources (harvested from AT SOS and WFS) and Europe (EEA):
- Smart Cities
- Urban Data Platform Hamburg: https://iot.hamburg.de/v1.0
- Demography:
- Based on European NUTS regions, data from Eurostat: https://demography.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1
- Covid Case Data:
- harvested from various sources including Johns Hopkins and RKI: http://covidsta.hft-stuttgart.de/server/v1.1
Seamless integration with OGC API - Features instances still work-in-progress, with issues arising due to the underlying service models, OData vs. Open API. This pertains to potential overlaps between the resources provided by the different API types, as in many use cases the same data resource must be exposed by both APIs. The OGC Interoperability Experiments ELFIE and SELFIE have provided a way forward, now being prototyped in the API4INSPIRE project.
Executable tests and validation of OGC SensorThings API instances are also not covered in this good practice as they will be dealt with within the context of the work on the INSPIRE Reference validator.