Procedure Elements


Introduction

The SOS supports several reserved elements within the procedure description. With theses elements it is possible to provide faster and better access to observations and procedures. Some of the elements are used during procedure insertion, procedure retrieval, or both.

Back to main SOS page

Elements

This table contains detailed informtation about the elements, the usage and an example encoded in SensorML 1.0.1. The definition in SensorML 2.0 descriptions may differ and examples will follow

Request Element name Usage Example SML 1.0.1 Example SML 2.0
Request Element name Usage Example SML 1.0.1 Example SML 2.0
none description Editorial text for human discovery.
This element is not touched. Used by discovery tools like OpenSensorSearch
[...]
<gml:description>
    52&#176;North GmbH is a back office company to support the initiative in terms of IT development,
    consulting, and administrative services. More details can be found at http://52north.org/
</gml:description>
[...]
TODO
both keywords * Discovery: this element is automatically filled with all available identifiers like uniqueID, long-, shortName, offerings, observableProperties and merged with the keywords that were given during InsertSensor.
[...]
<sml:keywords>
    <sml:KeywordList>
        <sml:keyword>52&#176;North GmbH</sml:keyword>
        <sml:keyword>open source sensor data</sml:keyword>
        <sml:keyword>environmental observations</sml:keyword>
        <sml:keyword>http://www.52north.org/test/featureOfInterest/2</sml:keyword>
        <sml:keyword>http://www.52north.org/test/offering/2</sml:keyword>
        <sml:keyword>http://www.52north.org/test/observableProperty/2</sml:keyword>
        <sml:keyword>http://www.52north.org/test/procedure/2</sml:keyword>
        <sml:keyword>52&#176;North Initiative for Geospatial Open Source Software GmbH (http://52north.org)</sml:keyword>
    </sml:KeywordList>
</sml:keywords>
[...]
TODO
both uniqueID Procedure identifier which is used in requests and responses to reference a procedure uniquely.
If this parameter is not provided during InsertSensor it is set by the service.
[...]
<sml:identification>
    <sml:IdentifierList>
        <sml:identifier name="uniqueID">
            <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:uniqueID">
                <sml:value>http://www.52north.org/test/procedure/9</sml:value>
            </sml:Term>
        </sml:identifier>
        [...]
TODO
both longName * Discovery: a human readable long name of a sensing device.
Additional identifiers can be provided here, or it's added by the service.
[...]
<sml:identification>
    <sml:IdentifierList>
        <sml:identifier name="longName">
            <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:longName">
                <sml:value>52&#176;North Initiative for Geospatial Open Source Software GmbH (http://52north.org)</sml:value>
            </sml:Term>
        </sml:identifier>
        [...]
TODO
both shortName * Discovery: a short human readable name of a sensing device. Can be used in search result listing, for example.
If this parameter is not provided on insert it is set by the service.
[...]
<sml:identification>
    <sml:IdentifierList>
        <sml:identifier name="shortName">
            <sml:Term definition="urn:ogc:def:identifier:OGC:1.0:shortName">
                <sml:value>52&#176;North GmbH</sml:value>
            </sml:Term>
        </sml:identifier>
TODO
DescribeSensor sensorType * Discovery: a classification of the sensing device can be added here, no classification scheme enforced.
This element can be configured server-wide and then automatically added if not present on insert.
[...]
<sml:classification>
  <sml:ClassifierList>
    <sml:classifier name="sensorType">
      <sml:Term definition="urn:ogc:def:classifier:OGC:1.0:sensorType">
        <sml:value>weather station</sml:value>
      </sml:Term>
    </sml:classifier>
  </sml:ClassifierList>
</sml:classification>
[...]
TODO
DescribeSensor intendedApplication * Discovery: a classification of the sensing device can be added here, no application type scheme enforced.
This element can be configured server-wide and then automatically added if not present on insert.
[...]
<sml:classification>
  <sml:ClassifierList>
    <sml:classifier name="intendedApplication">
      <sml:Term definition="urn:ogc:def:classifier:OGC:1.0:application">
        <sml:value>Weather</sml:value>
      </sml:Term>
    </sml:classifier>
  </sml:ClassifierList>
</sml:classification>
[...]
TODO
DescribeSensor validTime Discovery: the time interval the description is valid.
This value is replaced/added by the SOS according to valid times known by the service. Open intervals are indicated by an indeterminatePosition-Attribute as outlined in the example.
[...]
<sml:validTime>
  <gml:TimePeriod>
    <gml:beginPosition>2013-10-10T09:54:06.150Z</gml:beginPosition>
    <gml:endPosition indeterminatePosition="unknown"/>
  </gml:TimePeriod>
</sml:validTime>
[...]
TODO
DescribeSensor observedBBOX Discovery: the area that is observed by a sensor.
This values is replaced/added by the SOS according to the actual observations and features contained in the service.
[...]
<sml:capabilities name="observedBBOX">
  <swe:DataRecord>
    <swe:field name="observedBBOX">
      <swe:Envelope referenceFrame="urn:ogc:def:crs:EPSG::4326">
        <swe:lowerCorner>
          <swe:Vector>
            <swe:coordinate name="easting">
              <swe:Quantity axisID="x">
                <swe:uom code="degree"/>
                <swe:value>7.607028</swe:value>
              </swe:Quantity>
            </swe:coordinate>
            <swe:coordinate name="northing">
              <swe:Quantity axisID="y">
                <swe:uom code="degree"/>
                <swe:value>7.607028</swe:value>
              </swe:Quantity>
            </swe:coordinate>
          </swe:Vector>
        </swe:lowerCorner>
        <swe:upperCorner>
          <swe:Vector>
            <swe:coordinate name="easting">
              <swe:Quantity axisID="x">
                <swe:uom code="degree"/>
                <swe:value>51.959861</swe:value>
              </swe:Quantity>
            </swe:coordinate>
            <swe:coordinate name="northing">
              <swe:Quantity axisID="y">
                <swe:uom code="degree"/>
                <swe:value>51.959861</swe:value>
              </swe:Quantity>
            </swe:coordinate>
          </swe:Vector>
        </swe:upperCorner>
      </swe:Envelope>
    </swe:field>
  </swe:DataRecord>
</sml:capabilities>
[...]
TODO
both offerings + Discovery: the "layers" in which the sensor provides data.
Less important for requests: the element provides a list of all offerings this procedure should be inserted into (during !InsertSensor) or is contained in (added to responses to DescribeSensor).
[...]
<sml:capabilities name="offerings">
    <swe:SimpleDataRecord>
        <swe:field name="Offering for sensor 9">
            <swe:Text definition="urn:ogc:def:identifier:OGC:1.0:offeringID">
                <swe:value>http://www.52north.org/test/offering/9</swe:value>
            </swe:Text>
        </swe:field>
    </swe:SimpleDataRecord>
</sml:capabilities>
[...]
TODO
both parentProcedures Discovery and sensor network modelling: a parent procedure.
This parameter is parsed, stored, and removed during InsertSensor/!UpdateSensorDescription, then again added during DescribeSensor.
[...]
 <sml:capabilities name="parentProcedures">
  <swe:SimpleDataRecord>
    <swe:field name="parentProcedure">
      <swe:Text>
        <swe:value>http://www.52north.org/test/procedure/1</swe:value>
      </swe:Text>
    </swe:field>
  </swe:SimpleDataRecord>
</sml:capabilities>
[...]
TODO
DescribeSensor featuresOfInterest - Discovery: the features of interest a sensor observes.
Less for requests: this element contains all features the procedure performed an observation at. Hence, any client can use this to provide valid options for observation retrieval. The element is removed during InsertSensor and UpdateSensor. During DescribeSensor it is added.
[...]
<sml:capabilities name="featuresOfInterest">
    <swe:SimpleDataRecord>
        <swe:field name="featureOfInterestID">
            <swe:Text definition="http://www.opengis.net/def/featureOfInterest/identifier">
                <swe:value>http://www.52north.org/test/featureOfInterest/2</swe:value>
            </swe:Text>
        </swe:field>
    </swe:SimpleDataRecord>
</sml:capabilities>
[...]
TODO
DescribeSensor contact *' Discovery: a contact field where users can find details to contact a maintainer of a sensor.
This field, if provided on insert, is not changed by the service. If not given it is added based on the service-level contact metadata.
[...]
<sml:contact>
  <sml:ResponsibleParty>
    <sml:individualName>John Doe</sml:individualName>
    <sml:organizationName>Institut for Doeing</sml:organizationName>
    <sml:positionName>Management Office</sml:positionName>
    <sml:contactInfo>
      <sml:phone>
        <sml:voice>+1 555 12-34 56 78</sml:voice>
      </sml:phone>
      <sml:address>
        <sml:deliveryPoint>Johnson Street 42</sml:deliveryPoint>
        <sml:city>Monasteria</sml:city>
        <sml:postalCode>12345</sml:postalCode>
        <sml:country>Allemania</sml:country>
      </sml:address>
      <sml:onlineResource xlink:href="http://www.example.com/contact/Doe/John"/>
    </sml:contactInfo>
  </sml:ResponsibleParty>
</sml:contact>
[...]
TODO
none position Discovery: the location of a sensing device (if static).
If provided during insert this field is not changed.
[...]
<sml:position name="sensorPosition">
  <swe:Position fixed="false" referenceFrame="urn:ogc:def:crs:EPSG::4979">
    <swe:location>
      <swe:Vector>
        <swe:coordinate name="easting">
          <swe:Quantity axisID="x">
            <swe:uom code="degree"/>
            <swe:value>7.607028</swe:value>
          </swe:Quantity>
        </swe:coordinate>
        <swe:coordinate name="northing">
          <swe:Quantity axisID="y">
            <swe:uom code="degree"/>
            <swe:value>51.959861</swe:value>
          </swe:Quantity>
        </swe:coordinate>
        <swe:coordinate name="altitude">
          <swe:Quantity axisID="z">
            <swe:uom code="m"/>
            <swe:value>71.0</swe:value>
          </swe:Quantity>
        </swe:coordinate>
      </swe:Vector>
    </swe:location>
  </swe:Position>
</sml:position>
[...]
TODO
none inputs Discovery: the observed properties that influence the sensing process.
This field, if provided on insert, is not changed by the service.
[...]
<sml:inputs>
  <sml:InputList>
    <sml:input name="weather">
      <swe:ObservableProperty definition="http://www.example.com/meteorological-ontology.rdf#weather"/>
    </sml:input>
  </sml:InputList>
</sml:inputs>
[...]
TODO
none outputs Discovery: the measured outcome observed properties.
This field, if provided on insert, is not changed by the service.
If not description is available as file or database record, this information is generated from the observations contained in the database.
[...]
<sml:outputs>
  <sml:OutputList>
    <sml:output name="AirTemperature">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/AirTemperature">
        <swe:uom code="degC"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="AirHumidity">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/Humidity">
        <swe:uom code="%"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="AirPressure">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/AirPressure">
        <swe:uom code="hPa"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="Precipitation">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/Precipitation">
        <swe:uom code="mm_h"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="ShortwaveRadiation">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/ShortwaveRadiation">
        <swe:uom code="W_m^2"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="Visibility">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/Visibility">
        <swe:uom code="m"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="WeatherCode">
      <swe:Category definition="http://geoviqua.dev.52north.org/properties/WeatherCode">
        <swe:codeSpace xlink:href="http://www.wmo.int/pages/prog/www/WMOCodes/Manual/Volume-I-selection/Sel10.pdf#4680"/>
      </swe:Category>
    </sml:output>
    <sml:output name="WindDirection">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/WindDirection">
        <swe:uom code="deg"/>
      </swe:Quantity>
    </sml:output>
    <sml:output name="WindSpeed">
      <swe:Quantity definition="http://geoviqua.dev.52north.org/properties/WindSpeed">
        <swe:uom code="m_s"/>
      </swe:Quantity>
    </sml:output>
  </sml:OutputList>
</sml:outputs>
[...]
TODO

Elements with
  • * are added if the option With discovery information for procedure description enrichment is selected and the according element is not already present in the sensor description.
  • + are added if the option With offering information for procedure description enrichment is selected and the according element is not already present in the sensor description.
  • - are added if the option With feature information for procedure description enrichment is selected and the according element is not already present in the sensor description.
  • ' the contact element can be en- and disabled within the With discovery information option.
For more details about these options, take a look at the according documentation section.

Back to main SOS page
Topic revision: r1 - 15 Jul 2015, 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