Sensor Observation Service (SOS) Introduction
What is it?
The Sensor Observation Service (SOS) is an approved Open Geospatial Consortium standard. The standard defines a web service interface for the discovery and retrieval of real time or archived data produced by all kinds of sensors like mobile or stationary as well as in-situ or remote sensors.
The sensor data can be either observations or descriptions of the producing sensors containing metadata like calibration information, positions, etc. Observations are returned encoded as O&M Observations, while information about sensors are returned encoded in SensorML or TML. Used in conjunction with these OGC standards and other OGC specifications, the SOS provides a broad range of interoperable capability for discovering, binding to and interrogating individual sensors, sensor platforms, or networked constellations of sensors in real-time, archived or simulated environments.
What operations does the SOS offer?
The operations of the SOS are separated in four profiles. The Core Profile consists of the three basic operations which is provided by every SOS implementation. The optional Transactional Profile could be used for registering sensors and inserting observations into the SOS. The Enhanced Profile comprises additional optional operations. If a SOS implementation implements all operations, it implements the Entire Profile.
Core Profile
SOS has the following three mandatory core operations which provide its basic functionality:
Transactional Profile
There are two optional operations to support transactions:
Enhanced Profile
The Enhanced Profile defines the following additional operations which are optional for the SOS implementations to provide:
How can the SOS be used?
The usage of the SOS could be described from two user perspectives: the sensor data publisher perspective and the data consumer perspective.
Consumer Perspective
Figure 1 depicts a sequence diagram that shows a sensor data consumer discovering two SOS instances from a CS-W catalog by using the GetRecords operation. The consumer then performs service-level discovery on each service instance by requesting the capabilities document and inspecting the observation offerings. The consumer invokes the DescribeSensor operation to retrieve detailed sensor metadata in SensorML or TML for sensors advertised in the observation offerings of the two services. Finally, the consumer calls the GetObservation operation to actually retrieve the observations from both service instances.
Figure 1: SOS Consumer Sequence Diagram
Sensor Data Publisher Perspective
Figure 2 is a sequence diagram that shows how two sensor data producers interact with an SOS instance that supports the transactional profile. The first producer discovers the SOS using a CS-W catalog. The second producer has been configured to know the location of the SOS. When the producers determine that they are communicating with new sensors they register those sensors with the SOS. The producers publish sensor observations from all sensors in their control to the SOS. The diagram also shows a sensor data consumer. Consumers can request observations from the SOS at any time using the GetObservation operation. The consumer does not need to be aware of the existence of the producers and vice versa.
Figure 2: SOS Sensor Data Publihser Sequence Diagram
| Attachment | Size |
|---|---|
| SOS_consumer_seq.JPG | 40.75 KB |
| SOS_provider_seq.JPG | 44.22 KB |

