FOSS4G NA 2024

Open Source Implementations of the OGC API - Connected Systems Standard
09-10, 14:00–14:30 (America/Chicago), Grand A

The emerging draft OGC API - Connected Systems Standard enables interoperability among sensors, things, robots, drones, satellites, control systems and platforms across space, air, land, sea, cyber, and electromagnetic domains. This session will introduce open source software implementation that support it.


The emerging draft OGC API - Connected Systems Standard enables interoperability among sensors, things, robots, drones, satellites, control systems and platforms across space, air, land, sea, cyber, and electromagnetic domains. This session will introduce several open source software implementation that support it. This new standard represents the modernization of the OGC Sensor Web Enablement (SWE) standards, implementing OpenAPI/REST/JSON patterns, as well as realtime streaming and asynchronous Pub/Sub mechanisms. The OGC API - Connected Systems Standard enables the discovery, access, storage/management, processing, reasoning, visualization, tasking and action of/by these various kinds of sensing systems. This covers everything from accessing simple IoT or sensor data to tasking satellites and autonomous UxS platforms, and everything in between.

This standard brings a new alignment with the OGC API - Features specification in the OGC API - Connected Systems - Part 1, allowing open source clients capable of this foundational OGC specification to access static representations of observations from sensing systems. This new bridge between the OGC mapping world and the OGC SensorWeb brings a new level of interoperability to sensor data within geospatial mapping applications. OGC API - Connected Systems - Part 2 is designed to deal with dynamic Data Streams of Observations and Control Streams of Commands. These are built on the the modernization of SensorML and SWE Common, now providing JSON encodings, in SensorML 3.0 and SWE Common 3.0.

This new standard is already supported in OpenSensorHub (www.OpenSensorHub.org), osh-js, OWSLib (https://www.osgeo.org/projects/owslib/), and 52 North (https://52north.org/), with other open source libraries under development for both servers and clients. Client implementations in Python, C++, Java, and Go should be in motion by the time of this FOSS4G-NA presentation. Pathways toward an OGC API - Connected Systems QGIS plugin will also be discussed. The goal is to have broad based language support for the OGC API - Connected Systems Standard before the end of 2024, enabling a wide range of developers in their language of choice. The goal is also to enable legacy/heritage systems written in different kinds of languages to more easily support the new standard without fundamentally changing their systems.

Open source OSH/SensorML Drivers have been developed for a wide variety of sensing systems, with 25 technical use cases with live demo services available for developers to begin testing their own clients and servers. These are outlined in detail in a 120 page Reviewers Guide (OGC API - Connected Systems Standard Reviewers Guide_DRAFT) along with a detailed lay-accessible discussion of the standard itself.

It is the intent of this presentation to make it very easy for traditional FOSS4G developers to begin incorporating real-time dynamic data from all manner of sensing systems into their geospatial applications, whether based on OpenLayers, Leaflet, Mapbox, Cesium, Esri, TAK, or their own favorite web mapping framework. Ease of integration and adoption is a major focus of the presentation, with a focus on developer resources in different languages.

NOTE: The emerging draft OGC - API Connected Systems Standard may have completed its final global vote by the time of presentation. As of the time of submission, this draft standard is under review by the OGC Architecture Board, which will vote out the standard for global public review within the month of July. We expect that the 30 day public review will result in a final vote in August. Package submitted
OGC API - Connected Systems - Part 1: https://docs.ogc.org/DRAFTS/23-001r0.html, OpenAPI doc

OGC API - Connected Systems - Part 2: https://docs.ogc.org/DRAFTS/23-002r0.html, OpenAPI doc

SensorML 3.0: https://docs.ogc.org/DRAFTS/23-000.html

SWE Common 3.0: https://docs.ogc.org/DRAFTS/24-014.html
These will be quickly followed by the submission of the additional Part 3 (Pub/Sub), 4 (Sampling Features) and 5 (Binary Encoding Formats). The draft standard is available on GitHub (https://github.com/opengeospatial/ogcapi-connected-systems) and outlines the 5 parts in the following manner:

Part 1 - Feature Resources (Current Draft Preview, OpenAPI Docs)

Systems (metadata of sensors, actuators, platforms, simulations, etc.)
Procedures (metadata of procedures implemented by system, which includes automated system specs/datasheets and human driven activities)
Deployments (metadata of system deployments)
Sampling Features (metadata about sampling geometries/methodologies used by observing systems)
Subsystems / Components
Property Definitions (semantical information for observed properties, controlled properties and system properties)

Part 2 - Dynamic Data (Current Draft Preview, OpenAPI Docs)
Dynamic Feature Properties
Data Streams
Observations
Control Streams
Commands and Command Status
System Events

Part 3 - Pub/Sub (AsyncAPI Docs)
MQTT Bindings
AMQP Bindings

Part 4 - Sampling Feature Types
OMS Sample Types (SpatialSample, StatisticalSample, MaterialSample)
Feature Parts
Parametric Sampling Features

Part 5 - Binary Encoding Formats
FlatGeobuf Encoding (for features)
FlatBuffers Encoding (for obs and commands)
Protobuf Encoding (for obs and commands)
Common Video Formats