@mangosystem/ogc-schemas
Version:
Jsonix XML-JSON mappings for OGC Schemas.
105 lines • 5.21 kB
text/xml
<sml:PhysicalComponent gml:id="SensorWithModes"
xmlns:sml="http://www.opengis.net/sensorml/2.0"
xmlns:swe="http://www.opengis.net/swe/2.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://www.opengis.net/sensorml/2.0 http://schemas.opengis.net/sensorml/2.0/sensorML.xsd">
<!-- ==================================== -->
<!-- System Description -->
<!-- ==================================== -->
<gml:description>
Sensor with Modes: example where sensor modes can be changed externally and reported in the output
</gml:description>
<!-- ==================================== -->
<!-- Inputs -->
<!-- ==================================== -->
<sml:inputs>
<sml:InputList>
<sml:input name="radiation">
<sml:ObservableProperty definition="http://sensorml.com/ont/swe/property/Radiation"/>
</sml:input>
</sml:InputList>
</sml:inputs>
<!-- ==================================== -->
<!-- outputs -->
<!-- ==================================== -->
<sml:outputs>
<sml:OutputList>
<sml:output name="gammaLevel">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/RadiationDose">
<swe:label>Gamma Radiation Level</swe:label>
<swe:uom code="uR/min"/>
</swe:Quantity>
</sml:output>
<!-- provides a separate output for retrieving current parameter values (i.e. settings) -->
<sml:output name="settings" xlink:href="#CURRENT_SETTINGS"/>
</sml:OutputList>
</sml:outputs>
<!-- ==================================== -->
<!-- Parameters -->
<!-- ==================================== -->
<sml:parameters>
<sml:ParameterList>
<sml:parameter name="settings">
<swe:DataRecord id="CURRENT_SETTINGS">
<swe:field name="samplingRate">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/SamplingRate" updatable="false">
<swe:label>Sampling Rate</swe:label>
<swe:uom code="Hz"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0.01 10.0</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
<swe:field name="gain">
<swe:Quantity definition="http://sensorml.com/ont/swe/property/Gain" updatable="false">
<swe:label>Gain</swe:label>
<swe:uom code="Hz"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>1.0 2.5</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
<!-- Note: no parameter values provided because the sensor switches automatically when mode is changed -->
</swe:DataRecord>
</sml:parameter>
</sml:ParameterList>
</sml:parameters>
<!-- ==================================== -->
<!-- Modes -->
<!-- ==================================== -->
<sml:modes>
<sml:ModeChoice id="THREAT_LEVEL_MODE">
<sml:mode>
<sml:Mode gml:id="lowThreat">
<gml:description> Setting when nothing has been detected </gml:description>
<gml:name>Low Threat Mode</gml:name>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/settings/samplingRate">0.1</sml:setValue>
<sml:setValue ref="parameters/settings/gain">1.0</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:Mode>
</sml:mode>
<sml:mode>
<sml:Mode gml:id="highThreat">
<gml:description> Setting when something has been detected </gml:description>
<gml:name>High Threat Mode</gml:name>
<sml:configuration>
<sml:Settings>
<sml:setValue ref="parameters/settings/samplingRate">10.0</sml:setValue>
<sml:setValue ref="parameters/settings/gain">2.5</sml:setValue>
</sml:Settings>
</sml:configuration>
</sml:Mode>
</sml:mode>
</sml:ModeChoice>
</sml:modes>
</sml:PhysicalComponent>