Hierarchical Procedure
Introduction
The hierarchical procedure feature offers the possibility to register and query not just individual single sensors but sensor networks.
Back to main SOS page
Description
With the hierarchical procedure feature sensor networks can be stored in the SOS, observations can be inserted for individual sensors of the sensor network and it is possible to request all observations for a sensor network. The following operations are effected by this feature:
- InsertSensor
- DescribeSensor
- GetObservation
Back to main SOS page
Operations
In this section the effected operations are described.
InsertSensor
With the InsertSensor operations it is possible to create sensor networks and add new sensors to existing sensor networks by defining the parent and/or child sensors in the sensor description. Parent sensors should be registered before they a linked in a child sensor description.
Definition of parent sensors in a SensorML 1.0.1-System document
To define the parent sensors, add a capabilities element to the sensor description with the attribute
name="parentProcedures"
, a child element of type
swe:SimpleDataRecord
. Add
swe:field
elements with
name="parentProcedure"
for each parent sensor. The
swe:field
contains a
swe:Text
element where the parent sensor identifier is set as value of
swe:value
.
Here is an example:
1 <sml:capabilities name="parentProcedures">
2 <!-- Special capabilities used to specify parent procedures. -->
3 <!-- Parsed and removed during InsertSensor/UpdateSensorDescription, added during DescribeSensor. -->
4 <swe:SimpleDataRecord>
5 <swe:field name="parentProcedure">
6 <swe:Text>
7 <swe:value>http://www.52north.org/test/procedure/1</swe:value>
8 </swe:Text>
9 </swe:field>
10 </swe:SimpleDataRecord>
11 </sml:capabilities>
Back to main SOS page
DescribeSensor
When sending a DescribeSensor request, the SOS adds the parent and child sensors to the sensor description document. The parent sensors are added as described before and the child sensors could be added as described before as full descriptions or as referenced link. This depends on a configuration parameter that can be set in the SOS profile file (
\WEB-INF\classes\profiles\default-profile.xml
, parameter
profile:encodeChildProcedureDescriptions
, changes require a restart of the SOS service). The link is a KVP DescribeSensor request URL.
Here is an example:
1 <sml:components>
2 <sml:ComponentList>
3 <sml:component name="component1" xlink:href="http:\\HOSTNAME:PORT\SOS_NAME\sos&request=DescribeSensor&service=SOS&version=2.0.0&procedure=SENSOR_IDENTIFIER&procedureDescriptionFormat=http:\\www.opengis.net\sensorML\1.0.1" />
4 </sml:ComponentList>
5 </sml:components>
Back to main SOS page
GetObservation
The Hierarchical Procedure functionality allows users to send a GetObservation request with a parent sensor identifier. In this case the SOS returns the observations for the requested sensor (if available) and all of its child sensors.
Back to main SOS page