Sensor Observation Service (SOS) 3.x
Overview
The objective of the Sensor Observation Service (SOS) is to make sensors and sensor data archives accessible via an interoperable web based interface.
SOS implementation specification
The result of the OWS-5 has been an update of the SOS specification, which yielded in the SOS implementation specification 1.0 (OGC 06-009r6) . The SOS 2.0 specification (OGC 12-006) was developed with a lot of community feedback and experiences from real world deployments.
Both specification versions can be downloaded on the OGC website:
http://www.opengeospatial.org/standards/sos.
52°North SOS
The 52°North SOS was used as reference for the compliance tests during the OWS5 testbed. After the SOS has been published as official OGC implementation specification in spring of 2008, this new implementation was implemented with the 52°North SOS version 3.1.0. Since then 52°North SOS was constantly improved and extended with new functionality. During the final phase of the OGC SOS 2.0 specification process, the Core Extension was implemented to the 52°North that results in the current development version 3.6.x. This page documents the progress of development concerning the SOS.
52°North SOS
Active SOS developers/contributors
- Alexandre Robin (Sensia Software)
- Christoph Beekmans
- Thomas Remmersmann
- Julian Kuhlmann
- Oliver Meyer
- Stephan Künster
- Alexander Strotmann
- Alexander C. Walkowski
- Arne Bröring
- Martin Kiesow
- Christoph Stasch
Implementation
The 52°North SOS version 3.6.x implements the
SOS implementation specification 1.0.0 and parts of the
SOS 2.0.0 specification . The implementation is written in Java and uses the following technical frameworks:
For OWS-6 and OWS-7 52°North developed a Video on Demand SOS storing a video stream to make it available via an SOS interface. See the
VideoOnDemandSOS site for more information.
Supported Filters
The following filter operations are supported for the
SOS 1.0.0 GetObservation operation:
- spatial filters:
- Contains
- Intersets
- Overlaps
- BBOX
- temporal filters:
- T_Equals
- T_After
- T_Before
- T_During
- result filters:
- PropertyIsEqualTo
- PropertyIsNotEqualTo
- PropertyIsLessThan
- PropertyIsGreaterThan
- PropertyIsLessThanOrEqualTo
- PropertyIsGreaterThanOrEqualTo
- PropertyIsLike
- PropertyIsNull
- PropertyIsBetween
The following filter operations are supported for the
SOS 2.0.0 GetObservation operation:
- spatial filters:
- temporal filters:
Operations
A detailed description of the supported SOS 1.0.0 operations could be found at the
SosOperations page.
The currently supported SOS 1.0.0 operations of the 52°North's SOS implementation are:
- complete core profile (GetCapabilities,DescribeSensor and GetObservation)
- GetFeatureOfInterest: Returns the target Feature of the observation.
- GetResult: Enables the client to retrieve new data of same sensors, phenomena and features repeatedly from SOS, without the need of sending the whole requests repeatedly
- GetObservationById: Returns an observation for a passed observation id
The currently supported SOS 2.0.0 operations of the 52°North's SOS implementation are:
- complete core profile (GetCapabilities,DescribeSensor and GetObservation)
- GetFeatureOfInterest: Returns the target Feature of the observation
SOS tutorial
You find the SOS installation guide in the project of the SOS in the doc folder. Additionally, we are currently working on a
SosTutorial side.
For developing the SOS you can integrate the SOS into Eclipse. Here is a
how to set up the SOS project as a Maven Java project in Eclipse.
You also may be interested in how to
set up an SOS project as Dynamic Web project in eclipse.
SOS troubleshooting
In the
TroubleShooting you find solutions for several problems
SOS example application
You canfind some example application of the SOS using the following links:
In the 'Request Examples' drop-down menu you find examples for
GetCapabilities,
DescribeSensor,
GetObservation and the other requests.
SOS extensions
Here you can find informations about SOS functionality which is integrated or under development. Feel free to contribute your ideas and requirements to the ideas for extensions:
SensorObservationServiceExtensionIdeas
Integrated extensions
SOS plugin development
Road map
- 2014 1st Release to version 3.6.0 with Bugfixes, support for Core Profile and GetFeatureOfInterest of the SOS 2.0.0 candidate standard and the integration of the improved Exchangeable Encoding plugin
implementation log
- 2007-11-09 implementation changed to final schemata v1.0
- 2007-11-26 implementation of transactional profile finished
- 2008-03-04 implementation of SOS version 3.00.01 finished
- 2010-03-31 Release-Update to version 3.1.1: Bugfixes, SOAP Binding
- 2011-06-30 <nop>Release-Update to version 3.2.0: Bugfixes, Maven 3 support
working tasks
- integration of JUnit tests (Carsten + Christoph)
- implementation of the enhanced profile (all)
- change encoding of O&M from XmlBeans to Stax to enable bigger response documents (currently limited to about 5 MB) (high complexity) (all)
- seperate feature management from SOS (use existing WFS implementation) (Carsten)
- change DAO implementations to Hibernate (Christoph B.)
SOS Mobile Extension
In previous versions the 52°North SOS contained an extension for mobile sensors, e.g. a position history for sensors and adjustments of operations to handle redundant features of interest. This extension was developed during a diploma thesis but in practice the implementation showed some weaking and influences the core implementation of the 52°North SOS. Due to the limited use and the the complex database queries which are hard to maintain the mobile extension was
removed from the core 52°North SOS implementation. The further developement has stopped because of the specification of the SOS 2.0 standard, and how to model mobile sensors in a SOS 2.0 is discussed on a
separate wiki page.
You find a description of the features at
SosMobileExtension.
Extended SOS with generalization, KML and Diagram output.
Based on the 52N SOS 3.2.0 release, an extended SOS was developed that supports observation generalization by the SOS. Furthermore the support for KML and Diagram output was implemented. The installation guide and more details can be found
here. This extension was not being maintained for other releases as the mentioned.
52°North SOS client development
- 52°North is developing a multiclient framework for integration of multiple OGC web services into one client application. The development currently focuses on the integration of sensor data from the SensorObservationService. See OX-Framework for more details!
- For ArcGIS an SOS adapter is available. It has been part of the CCIP demo within the FOSS4G 2009 in Sydney.
- The SensorWebClient provides access SOSs by visualizing timeseries data.
- sos4R provides access to SOSs from the R environment for statistical computing and graphics.
- 52°North SOS Importer - Tool to import observations & measurement from files formatted using CSV to a running SOS instance
SOS developments
You can find documentation about former developments on the
SosFormerDevelopments topic.
SOS branch developments
You can find documentation about branch developments on the
SosBranchDevelopments topic.