Sensor Observation Service (SOS) 3.x


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:

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

Former 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


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:
    • BBOX
  • temporal filters:
    • TEquals
    • During


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

SOS former 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.
Topic revision: r1 - 04 Mar 2020, CarstenHollmann
Legal Notice | Privacy Statement

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback