RegisterSensor

Introduction

The RegisterSensor operation allows the client to register a new sensor system with the SOS as part of the transactional profile. Sensor observations can only be inserted for sensors that have first been registered with the SOS. RegisterSensor is mandatory for the transactional profile. (SOS-Spec, OGC 06-009r6)

Examples

Not mobile

<?xml version="1.0" encoding="UTF-8"?>
<RegisterSensor service="SOS" version="1.0.0" xmlns="http://www.opengis.net/sos/1.0"
 xmlns:swe="http://www.opengis.net/swe/1.0.1" xmlns:ows="http://www.opengeospatial.net/ows"
 xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" 
xmlns:ogc="http://www.opengis.net/ogc" xmlns:om="http://www.opengis.net/om/1.0" xmlns:sml="http://www.opengis.net/sensorML/1.0.1" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sos/1.0
http://schemas.opengis.net/sos/1.0.0/sosRegisterSensor.xsd 
http://www.opengis.net/om/1.0 http://schemas.opengis.net/om/1.0.0/extensions/observationSpecialization_override.xsd" >
<SensorDescription>
<sml:SensorML version="1.0.1">
<sml:member>
     <sml:System xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   >
          <sml:identification>
               <sml:IdentifierList>
                    <sml:identifier>
                         <sml:Term definition="urn:ogc:def:identifier:OGC:uniqueID">
                              <sml:value>urn:ogc:object:feature:Sensor:IFGI:ifgi-sensor-3</sml:value>
                         </sml:Term>
                    </sml:identifier>
               </sml:IdentifierList>
          </sml:identification>
          <sml:capabilities>
                 <swe:SimpleDataRecord>
                       <!-- status indicates, whether sensor is collecting data at the moment (true) or not (false) -->
                       <swe:field name="status">
                            <swe:Boolean>
                               <swe:value>true</swe:value>
                            </swe:Boolean>
                        </swe:field>
                        <!-- status indicates, whether sensor is mobile (true) or fixed (false) -->
                         <swe:field name="mobile">
                            <swe:Boolean>
                               <swe:value>true</swe:value>
                             </swe:Boolean>
                          </swe:field>
                   </swe:SimpleDataRecord>
          </sml:capabilities>
          <sml:position name="sensorPosition">
               <swe:Position referenceFrame="urn:ogc:def:crs:EPSG:4326">
                    <swe:location>
                         <swe:Vector gml:id="STATION_LOCATION">
                              <swe:coordinate name="easting">
                                   <swe:Quantity axisID="x">
                                        <swe:uom code="degree"/>
                                        <swe:value>8.86667</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                              <swe:coordinate name="northing">
                                   <swe:Quantity axisID="y">
                                        <swe:uom code="degree"/>
                                        <swe:value>51.883906</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                              <swe:coordinate name="altitude">
                                   <swe:Quantity axisID="z">
                                        <swe:uom code="m"/>
                                        <swe:value>52.0</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                         </swe:Vector>
                    </swe:location>
               </swe:Position>
          </sml:position>
          <sml:inputs>
               <sml:InputList>
                    <sml:input name="atmosphericTemperature">
                         <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature"/>
                    </sml:input>
               </sml:InputList>
          </sml:inputs>
          <sml:outputs>
               <sml:OutputList>
                    <sml:output name="temperature">
                         <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature">
                                <gml:metaDataProperty>
                              <offering>
                                 <id>TEMPERATURE</id>
                                 <name>Weather in Muenster</name>
                              </offering>
                        </gml:metaDataProperty>
                              <swe:uom code="Cel"/>
                         </swe:Quantity>
                    </sml:output>
               </sml:OutputList>
          </sml:outputs>
          <sml:components>
               <sml:ComponentList>
                    <sml:component name="thermometer">
                         <sml:Component>
                              <sml:identification>
                                   <sml:IdentifierList>
                                        <sml:identifier>
                                             <sml:Term definition="urn:ogc:def:identifier:OGC:uniqueID">
                                                  <sml:value>urn:ogc:object:feature:Sensor:IFGI:temperature_sensor</sml:value>
                                             </sml:Term>
                                        </sml:identifier>
                                   </sml:IdentifierList>
                              </sml:identification>
                              <sml:inputs>
                                   <sml:InputList>
                                        <sml:input name="atmosphericTemperature">
                                             <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature"/>
                                        </sml:input>
                                   </sml:InputList>
                              </sml:inputs>
                              <sml:outputs>
                                   <sml:OutputList>
                                        <sml:output name="temperature">
                                             <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature">
                                                  <swe:uom code="deg"/>
                                             </swe:Quantity>
                                        </sml:output>
                                   </sml:OutputList>
                              </sml:outputs>
                         </sml:Component>
                    </sml:component>
               </sml:ComponentList>
          </sml:components>
     </sml:System>
     </sml:member>
     </sml:SensorML>
</SensorDescription>
<ObservationTemplate>
     <om:Measurement>
          <om:samplingTime/>
          <om:procedure/>
          <om:observedProperty/>
          <om:featureOfInterest></om:featureOfInterest>
          <om:result uom=""></om:result>
     </om:Measurement>
</ObservationTemplate>
</RegisterSensor>

  • mobile
<?xml version="1.0" encoding="UTF-8"?>
<RegisterSensor service="SOS" version="1.0.0" mobileEnabled="true" xmlns="http://www.opengis.net/sos/1.0"
 xmlns:swe="http://www.opengis.net/swe/1.0.1" xmlns:ows="http://www.opengeospatial.net/ows"
 xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" 
xmlns:ogc="http://www.opengis.net/ogc" xmlns:om="http://www.opengis.net/om/1.0" xmlns:sml="http://www.opengis.net/sensorML/1.0.1" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sos/1.0
http://schemas.opengis.net/sos/1.0.0/sosRegisterSensor.xsd 
http://www.opengis.net/om/1.0 http://schemas.opengis.net/om/1.0.0/extensions/observationSpecialization_override.xsd" >
<SensorDescription>
<sml:SensorML version="1.0.1">
<sml:member>
     <sml:System xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   >
          <sml:identification>
               <sml:IdentifierList>
                    <sml:identifier>
                         <sml:Term definition="urn:ogc:def:identifier:OGC:uniqueID">
                              <sml:value>urn:ogc:object:feature:Sensor:IFGI:ifgi-sensor-3</sml:value>
                         </sml:Term>
                    </sml:identifier>
               </sml:IdentifierList>
          </sml:identification>
          <sml:capabilities>
                 <swe:SimpleDataRecord>
                       <!-- status indicates, whether sensor is collecting data at the moment (true) or not (false) -->
                       <swe:field name="status">
                            <swe:Boolean>
                               <swe:value>true</swe:value>
                            </swe:Boolean>
                        </swe:field>
                        <!-- status indicates, whether sensor is mobile (true) or fixed (false) -->
                         <swe:field name="mobile">
                            <swe:Boolean>
                               <swe:value>true</swe:value>
                             </swe:Boolean>
                          </swe:field>
                   </swe:SimpleDataRecord>
          </sml:capabilities>
          <sml:position name="sensorPosition">
               <swe:Position referenceFrame="urn:ogc:def:crs:EPSG:4326">
                    <swe:location>
                         <swe:Vector gml:id="STATION_LOCATION">
                              <swe:coordinate name="easting">
                                   <swe:Quantity axisID="x">
                                        <swe:uom code="degree"/>
                                        <swe:value>8.86667</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                              <swe:coordinate name="northing">
                                   <swe:Quantity axisID="y">
                                        <swe:uom code="degree"/>
                                        <swe:value>51.883906</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                              <swe:coordinate name="altitude">
                                   <swe:Quantity axisID="z">
                                        <swe:uom code="m"/>
                                        <swe:value>52.0</swe:value>
                                   </swe:Quantity>
                              </swe:coordinate>
                         </swe:Vector>
                    </swe:location>
               </swe:Position>
          </sml:position>
          <sml:inputs>
               <sml:InputList>
                    <sml:input name="atmosphericTemperature">
                         <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature"/>
                    </sml:input>
               </sml:InputList>
          </sml:inputs>
          <sml:outputs>
               <sml:OutputList>
                    <sml:output name="temperature">
                         <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature">
                                <gml:metaDataProperty>
                              <offering>
                                 <id>TEMPERATURE</id>
                                 <name>Weather in Muenster</name>
                              </offering>
                        </gml:metaDataProperty>
                              <swe:uom code="Cel"/>
                         </swe:Quantity>
                    </sml:output>
               </sml:OutputList>
          </sml:outputs>
          <sml:components>
               <sml:ComponentList>
                    <sml:component name="thermometer">
                         <sml:Component>
                              <sml:identification>
                                   <sml:IdentifierList>
                                        <sml:identifier>
                                             <sml:Term definition="urn:ogc:def:identifier:OGC:uniqueID">
                                                  <sml:value>urn:ogc:object:feature:Sensor:IFGI:temperature_sensor</sml:value>
                                             </sml:Term>
                                        </sml:identifier>
                                   </sml:IdentifierList>
                              </sml:identification>
                              <sml:inputs>
                                   <sml:InputList>
                                        <sml:input name="atmosphericTemperature">
                                             <swe:ObservableProperty definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature"/>
                                        </sml:input>
                                   </sml:InputList>
                              </sml:inputs>
                              <sml:outputs>
                                   <sml:OutputList>
                                        <sml:output name="temperature">
                                             <swe:Quantity definition="urn:ogc:def:phenomenon:OGC:1.0.30:temperature">
                                                  <swe:uom code="deg"/>
                                             </swe:Quantity>
                                        </sml:output>
                                   </sml:OutputList>
                              </sml:outputs>
                         </sml:Component>
                    </sml:component>
               </sml:ComponentList>
          </sml:components>
     </sml:System>
     </sml:member>
     </sml:SensorML>
</SensorDescription>
<ObservationTemplate>
     <om:Measurement>
          <om:samplingTime/>
          <om:procedure/>
          <om:observedProperty/>
          <om:featureOfInterest></om:featureOfInterest>
          <om:result uom=""></om:result>
     </om:Measurement>
</ObservationTemplate>
<domainFeature>
 <GenericDomainFeature gml:id="investigationArea1">
  <gml:description>Paderborn</gml:description>
  <gml:name>City of paderborn</gml:name>
  <gml:location>
   <gml:Polygon srsName="4326" xsi:type="gml:PolygonType">
     <gml:exterior>
     <gml:LinearRing xsi:type="gml:LinearRingType">
      <gml:coordinates>8.76667 51.7167, 8.76667 52.7167, 9.76667 52.7167, 9.76667 51.7167, 8.76667 51.7167</gml:coordinates>
     </gml:LinearRing>
    </gml:exterior>
   </gml:Polygon>
  </gml:location>
 </GenericDomainFeature>
</domainFeature>
</RegisterSensor>

For more information look at the SOS specification or at SosTransactionalProfile.

ObservationTemplate can also be a GeometryObservation and CategoryObservation.

-- CarstenHollmann - 22 Apr 2009
Topic revision: r3 - 22 Feb 2012 08:51:03, DanielNuest
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