Skip to content

Instantly share code, notes, and snippets.

@srstsavage
Created February 21, 2013 07:01
Show Gist options
  • Save srstsavage/5002835 to your computer and use it in GitHub Desktop.
Save srstsavage/5002835 to your computer and use it in GitHub Desktop.
Multistation, DataChoice for sensors
<om:result>
<swe2:DataStream>
<swe2:DataRecord>
<swe2:field name="stationID">
<swe2:Text definition="http://mmisw.org/ont/ioos/definition/stationID">
<swe2:value>urn:ioos:station:wmo:41001</swe2:value>
</swe2:Text>
</swe2:field>
<swe2:field name="location">
<swe2:Vector definition="http://www.opengis.net/def/property/OGC/0/PlatformLocation"
referenceFrame="http://www.opengis.net/def/crs/EPSG/0/4326">
<swe2:coordinate name="latitude">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/latitude">
<swe2:uom code="deg"/>
<swe2:value>32.5</swe2:value>
</swe2:Quantity>
</swe2:coordinate>
<swe2:coordinate name="longitude">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/longitude">
<swe2:uom code="deg"/>
<swe2:value>-78.5</swe2:value>
</swe2:Quantity>
</swe2:coordinate>
</swe2:Vector>
</swe2:field>
<swe2:field name="time">
<swe2:Time definition="http://www.opengis.net/def/property/OGC/0/SamplingTime">
<swe2:uom xlink:href="http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"/>
</swe2:Time>
</swe2:field>
<swe2:field name="sensorData">
<swe2:DataChoice>
<swe2:item name="sensor1">
<swe2:DataRecord>
<swe2:field name="sensorID">
<swe2:Text definition="http://mmisw.org/ont/ioos/definition/sensorID">
<swe2:value>urn:ioos:station:wmo:41001:sensor1</swe2:value>
</swe2:Text>
</swe2:field>
<swe2:field name="altitude">
<!-- COMMENT: Looks like the alt swe:Quantity can have a referenceFrame attribute:
<swe:Quantity definition="http://mmisw.org/ont/cf/parameter/altitude"
referenceFrame="http://www.opengis.net/def/crs/EPSG/0/4326">
This attribute could point to a vertical datum. Look into Oostethys discussions
on vertical datums, and Issue 16 -->
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/altitude" referenceFrame="http://www.opengis.net/def/crs/EPSG/0/4326">
<swe2:uom code="m"/>
<swe2:value>5</swe2:value>
</swe2:Quantity>
</swe2:field>
<!-- The "data" fields follow (measured quantities/properties) -->
<swe2:field name="air_temperature">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/air_temperature">
<swe2:uom code="Celsius"/>
</swe2:Quantity>
</swe2:field>
<swe2:field name="wind_speed">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/wind_speed">
<swe2:uom code="m/s"/>
</swe2:Quantity>
</swe2:field>
<swe2:field name="wind_to_direction">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/wind_to_direction">
<swe2:uom code="degrees"/>
</swe2:Quantity>
</swe2:field>
</swe2:DataRecord>
</swe2:item>
<!-- ===========================================================
custom swe:item field definitions
=========================================================== -->
<swe2:item name="sensor2">
<swe2:DataRecord>
<!-- sensorID and the "Z" dimension (eg, altitude) -->
<swe2:field name="sensorID">
<swe2:Text definition="http://mmisw.org/ont/ioos/definition/sensorID">
<swe2:value>urn:ioos:station:wmo:41001:sensor2</swe2:value>
</swe2:Text>
</swe2:field>
<swe2:field name="altitude">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/altitude" referenceFrame="http://www.opengis.net/def/crs/EPSG/0/4326">
<swe2:uom code="m"/>
<swe2:value>-2</swe2:value>
</swe2:Quantity>
</swe2:field>
<!-- The "data" fields follow (measured quantities/properties) -->
<swe2:field name="sea_water_temperature">
<swe2:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_water_temperature">
<swe2:uom code="Celsius"/>
</swe2:Quantity>
</swe2:field>
<swe2:field name="dissolved_oxygen">
<swe2:Quantity definition="http://mmisw.org/ont/ioos/parameter/dissolved_oxygen">
<swe2:uom code="mg/L"/>
</swe2:Quantity>
</swe2:field>
</swe2:DataRecord>
</swe2:item>
</swe2:DataChoice>
</swe2:field>
</swe2:DataRecord>
</swe2:elementType>
<!-- ===========================================================
SWE encoding and data values
swe:encoding *must* be always specified exactly as described below,
to avoid the need to have fully general parsers that interpret
swe:TextEncoding. That is, parsers may hard-code this particular
swe:TextEncoding specification.
=========================================================== -->
<swe2:encoding>
<swe2:TextEncoding decimalSeparator="." tokenSeparator="," blockSeparator="\n"/>
</swe2:encoding>
<swe2:values>
2009-05-23T00:00:00Z,sensor1,15.4,2.0,280
2009-05-23T01:00:00Z,sensor1,15.8,1.8,121
2009-05-23T02:00:00Z,sensor1,15.6,1.0,1.42
2009-05-23T00:00:00Z,sensor2,5.6,8.0
2009-05-23T01:00:00Z,sensor2,5.8,8.2
2009-05-23T02:00:00Z,sensor2,5.7,8.5
</swe2:values>
</swe2:DataStream>
</om:result>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment