52°North - exploring horizons - logo

52°North SOS Quickstart

The 52°North SOS is a web service, that allows to provide interoperable access to (spatial) observation data and associated metadata.

This Quick Start describes how to:

  • Query the 52°North SOS Capabilities to determine what queries it supports.
  • Query details about an Observation from the SOS.
  • Use a lightweight visualisation tool delivered together with the SOS to explore the available data.
  • Explore the REST API endpoint for client developers.

Getting Started

  1. Select Geospatial ‣ Web Services ‣ 52North ‣ Start 52North SOS to start the 52°North SOS.
  2. This will open the 52°North SOS client welcome page in firefox at http://localhost:8080/52nSOS/ (see Fig. 1).
52°North SOS client welcome page

Fig. 1: 52°North SOS client - welcome page.

  1. Once you know the capabilities of a SOS, (see Fiq. 2) you can craft appropriate queries. Again, this is made easier by selecting sample queries from the test client pull down list. Using the information from the capabilities, you can adjust the available example queries.
52°North SOS client - test client with GetCapabilities request

Fig. 2: 52°North SOS client - test client with GetCapabilities request.

  1. To get for each time series the available observation data within the time interval from 2017-02-28T23:45:00.000+00:00 to 2017-03-01T23:45:00.000+00:00, insert the following request after selecting service “SOS” –> version “2.0.0” –> binding “SOAP” –> operation “GetObservation” in the test client in the field request:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
    xmlns:env="http://www.w3.org/2003/05/soap-envelope"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3.org/2003/05/soap-envelope http://www.w3.org/2003/05/soap-envelope/soap-envelope.xsd">
    <env:Body>
        <sos:GetObservation service="SOS" version="2.0.0"
            xmlns:sos="http://www.opengis.net/sos/2.0"
            xmlns:fes="http://www.opengis.net/fes/2.0"
            xmlns:gml="http://www.opengis.net/gml/3.2"
            xmlns:swe="http://www.opengis.net/swe/2.0"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            xmlns:swes="http://www.opengis.net/swes/2.0"
            xsi:schemaLocation="http://www.opengis.net/sos/2.0 http://schemas.opengis.net/sos/2.0/sos.xsd">
            <sos:temporalFilter>
                <fes:During>
                    <fes:ValueReference>phenomenonTime</fes:ValueReference>
                    <gml:TimePeriod gml:id="tp_1">
                        <gml:beginPosition>2015-05-01T00:30:00.000+00:00</gml:beginPosition>
                        <gml:endPosition>2015-05-31T23:00:00.000+00:00</gml:endPosition>
                    </gml:TimePeriod>
                </fes:During>
            </sos:temporalFilter>
        </sos:GetObservation>
    </env:Body>
</env:Envelope>

Listing 1: Request of observations.

Things to Try

  • Try some of the other example queries from the pull down list.

  • Try tweaking some of these queries to get different information.

  • Try the SOS administrator using

    username “user” and password “user”.

  • Try the View Client (see Fiq. 3).

52°North SOS client - JavaScript client with time series data

Fig. 3: 52°North SOS client - JavaScript client with time series data.

[
    {
        id: "services",
        label: "Service Provider",
        description: "A service provider offers timeseries data."
    },
    {
        id: "stations",
        label: "Station",
        description: "A station is the place where measurement takes place."
    },
    {
        id: "timeseries",
        label: "Timeseries",
        description: "Represents a sequence of data values measured over time."
    },
    {
        id: "categories",
        label: "Category",
        description: "A category group available timeseries."
    },
    {
        id: "offerings",
        label: "Offering",
        description: "An organizing unit to filter resources."
    },
    {
        id: "features",
        label: "Feature",
        description: "An organizing unit to filter resources."
    },
    {
        id: "procedures",
        label: "Procedure",
        description: "An organizing unit to filter resources."
    },
    {
        id: "phenomena",
        label: "Phenomenon",
        description: "An organizing unit to filter resources."
    }
]

Listing 2: Output of REST API endpoint.

What Next?

To learn more about 52°North SOS and/or the 52°North Sensor Web Community, potential starting points are:

The development of this version of the 52°North SOS was supported by different projects, organizations, and persons. More details can be found in the 52°North SOS client.

When the SOS is not available, please check if the tomcat servlet engine is running using the following commands:

user@osgeolive:~$ sudo service tomcat7 status
* Tomcat servlet engine is running with pid 1234          <-- Tomcat is running
[...]
* Tomcat servlet engine is not running.                   <-- Tomcat not runing, so please start:
user@osgeolive:~$ sudo service tomcat7 start
* Starting Tomcat servlet engine tomcat7           [ OK ] <-- Tomcat is running, now

Listing 3: Tomcat Status and Start (password for sudo: user).