Personal tools
You are here: Home Workshops and Meetings Exploring Web Services with a Web Browser Sensor Observation Service (SOS)

Sensor Observation Service (SOS)

by Eric Bridger last modified Mar 25, 2009 09:55 AM

SOS has three requests:

  1. GetCapabilities
  2. DescribeSensor
  3. GetObservation

Unlike WFS, the SOS standard supports: (1) a time parameter, (2) sensor id parameters and (3) observed-properties parameters. This begins to explain why OOSTethys partners (see www.OOSTethys.org) chose SOS over WFS way back in 2006. That is, SOS uses standards that are much better at describing how and when a measurement is made. At the same time, the SOS standard supports some of the common functionality in WFS and WMS, such as the BBOX parameter.


Here is the GoMOOS GetCapabilities Request.  No parameters needed.

Scroll down looking for <ows:Operation name="GetObservation"> then <ows:Parameter name="offering"> where the list of available "offerings" is listed e.g.
ALL_PLATFORMS
A01
B01
....

These are the values that can be used in the offering=A01 parameter.

Scroll down a bit more to see the list of observedProperties:

<ows:Parameter name="observedProperty">

air_temperature
sea_water_salinity
sea_water_temperature
...

These are values that be used in the observedProperty=air_temperature parameter.

From the GetCapabilities response you can construct all the GetObservation and DesribeSensor URL's.  In addition it contains information about the available times for which each sensor has data.  Search for: <gml:TimePeriod gml:id="A01_valid_times">.

GetObservation has two parameters: offering and observedProperty


 GetObservation latest air temperature for buoy A01.

GetObservation for salinity at A01 at time.

SOS supports a time parameter which can indicate one time or a time range.  If the time parameter is missing the SOS will return the most recent observations. (The spec is a little fuzzy on this)
time=time1  or  time=time1/time2
GetObservation for air temperature at A01 for a time range.
GetObservation supports a bounding box parameter:
BBOX=minLongitude,minLatitude,maxLongitude,maxLatitude
A bounding box may not make no sense when the offering is a single fixed platform, but it can be useful for a moving platform (e.g., a drifter) or when filtering a query of ALL_PLATFORMS (which is a non-standard parameter used by OOSTethys partners).

BBOX query via the ALL_PLATFORMS offering returns buoy B01


Finally the observedProperty parameter can be a comma separated list of properites, e.g. current speed and direction for a sensor:
observedProperty=prop1,prop2

GetObservation latest wind speed and direction at A01.

DescribeSensor takes on parameter:  procedure=A01


http://www.gomoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi?REQUEST=DescribeSensor&procedure=A01

OOSTethys Cookbooks

As of 21 May, OOSTethys Cookbooks use SOS 0.0.3 (www.OOSTethys.org/downloads). The SOS 1.0 Schemas were published in April 2008, and cookbooks should be updated by June 1, 2008. Also, the NOAA IOOS Program Office released their DIF SOS Schemas in early May 2008. These will be supported in the OOSTethys cookbooks. The OOSTethys group has been working on developing SOS 1.0 Cookbooks for PERL, Java and Python with support for data in ASCII files, relational databases and NetCDF. Updated cookbooks are coming soon!

SOS Flexibility

As part of ESIP project, GoMOOS wrapped hosted GoMC Gulfwatch Contaminant Data in an SOS and it turned out to be relatively easy.
GetCapabilities
http://www.gomoos.org/cgi-bin/sos/gulfwatch_sos.cgi
GetObservation for MABI COPPER 1993 thru 2001
http://www.gomoos.org/cgi-bin/sos/gulfwatch_sos.cgi?REQUEST=GetObservation&offering=MABI&observedProperty=COPPER&time=1993/2001

Document Actions

Northeast Coastal and Ocean Data Partnership - Member Organizations

Bedford Institute of Oceanography Center for Marine Biodiversity The Huntsman Marine Science Center Census of Marine LIfe Gulf of Maine
Gulf of Maine Ocean Observing System
Coastal Ocean Observing Center U.S. Fish & Wildlife Service Gulf of Maine Council on the Marine Environment St. Andrews Biological Station
New Hampshire Department of Environmental Services
National Weather Service
NOAA Coastal Services Center National Undersea Research Center Maine Department of Marine Resources Massachusetts Office of Coastal Zone Management Environmental Protection Agency United States Geological Survey Seabird Ecological Assessment Network
Stellwagen Bank National Marine Sanctuary