52°North SOS Quickstart¶
The 52°North SOS is a web service, that enables to provision of 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 the lightweight visualisation tool “Helgoland” delivered with the SOS to explore the available data.
- Explore the REST API endpoint for client developers.
Getting Started¶
Select
to start the 52°North SOS.This will open the 52°North SOS client welcome page in firefox at http://localhost:8080/52nSOS/ (see Fig. 1).
Fig. 1: 52°North SOS client - welcome page.
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.
Fig. 2: 52°North SOS client - test client with GetCapabilities request.
To get 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 for each time series, insert the following request after selecting service “SOS” –> version “2.0.0” –> binding “SOAP” –> operation “GetObservation” in the test client’s 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>2017-02-28T23:45:00.000+00:00</gml:beginPosition>
<gml:endPosition>2017-03-01T23:45: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 Helgoland - the Viewer Client (see Fiq. 3).
- Try other sample data by performing the following steps:
- Open the SOS administrator database maintenance page.
- Empty the database using the “Clear Datasource” button (this will delete the example data. You can restart OSGeoLive to get the data back.).
- Insert dynamically generated sample data by clicking the “Insert sample data” button. Please be informed that this operation might take some minutes.
- Open Helgoland again and explore the generated sample data.
Fig. 3: 52°North SOS client - JavaScript client with time series data.
- Try the REST API (see Listing 2):
[
{
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."
},
{
id: "platforms",
label: "Platforms",
description: "A sensor platform where observations are made."
},
{
id: "geometries",
label: "Geometries",
description: "A geometry where observations are made or that was observed."
}
]
Listing 2: Output of REST API endpoint.
What Next?¶
To learn more about the 52°North SOS and/or the 52°North Sensor Web Community, potential starting points are:
- 52°North SOS overview,
- 52°North Sensor Web mailing list: swe@52north.org,
- 52°North Sensor Web community forum,
- 52°North SOS Client,
- 52°North SOS Web site, or
- The website of the 52°North Sensor Web Community.
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. Use the following commands:
user@osgeolive:~$ sudo systemctl status tomcat8.service | grep Active
Active: active (running) since Wed 2017-06-21 12:00:42 UTC; 42min ago <-- Tomcat is running
[...]
Active: inactive (dead) <-- Tomcat not runing, so please start:
user@osgeolive:~$ sudo systemctl start tomcat8.service
Active: active (running) since Wed 2017-06-21 12:52:42 UTC; 3s ago <-- Tomcat is running, now
Listing 3: Tomcat Status and Start (password for sudo: user).