dev.sensorthings.observation

lexicon.store View official

Documentation

A single act of observation. The result type is determined by the $type discriminator on the result object.

main record

A single act of observation. The result type is determined by the $type discriminator on the result object.

Record Key any Any valid record key

Properties

datastream string at-uri Required

AT-URI of the parent Datastream

derivedFrom array of string at-uri Optional

AT-URIs of source observations or datastreams from which this observation was derived (e.g. tidal residual derived from observed and predicted level datastreams)

maxLength: 16 items
featureOfInterest string at-uri Optional

AT-URI of the feature being observed, if different from the Thing's location

parameters unknown Optional

Additional name-value pairs (e.g. depth, height above ground)

phenomenonTime string datetime Required

Time the phenomenon was observed (ISO 8601). Start of interval if phenomenonTimeEnd is present.

phenomenonTimeEnd string datetime Optional

End of observation interval (ISO 8601). If absent, the observation is an instant. Used for aggregates (daily means), processing windows (wave burst statistics), and accumulations (hourly rainfall).

resultQuality string Optional

Quality flag as a token reference

maxLength: 64 bytes
Known values: dev.sensorthings.quality#good, dev.sensorthings.quality#suspect, dev.sensorthings.quality#missing
resultTime string datetime Optional

Time the result became available (if different from phenomenonTime)

View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "datastream",
      "result",
      "phenomenonTime"
    ],
    "properties": {
      "result": {
        "refs": [
          "#numericResult",
          "#categoryResult",
          "#booleanResult",
          "#arrayResult",
          "#geoPointResult"
        ],
        "type": "union",
        "description": "The observation result. Type determined by $type discriminator."
      },
      "datastream": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI of the parent Datastream"
      },
      "parameters": {
        "type": "unknown",
        "description": "Additional name-value pairs (e.g. depth, height above ground)"
      },
      "resultTime": {
        "type": "string",
        "format": "datetime",
        "description": "Time the result became available (if different from phenomenonTime)"
      },
      "derivedFrom": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "at-uri"
        },
        "maxLength": 16,
        "description": "AT-URIs of source observations or datastreams from which this observation was derived (e.g. tidal residual derived from observed and predicted level datastreams)"
      },
      "resultQuality": {
        "type": "string",
        "maxLength": 64,
        "description": "Quality flag as a token reference",
        "knownValues": [
          "dev.sensorthings.quality#good",
          "dev.sensorthings.quality#suspect",
          "dev.sensorthings.quality#missing"
        ]
      },
      "phenomenonTime": {
        "type": "string",
        "format": "datetime",
        "description": "Time the phenomenon was observed (ISO 8601). Start of interval if phenomenonTimeEnd is present."
      },
      "featureOfInterest": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI of the feature being observed, if different from the Thing's location"
      },
      "phenomenonTimeEnd": {
        "type": "string",
        "format": "datetime",
        "description": "End of observation interval (ISO 8601). If absent, the observation is an instant. Used for aggregates (daily means), processing windows (wave burst statistics), and accumulations (hourly rainfall)."
      }
    }
  },
  "description": "A single act of observation. The result type is determined by the $type discriminator on the result object."
}
arrayResult object

Array of scaled integer values sharing the parent Datastream's resultScaleFactor. Used for wave spectra (energy at frequency bins), current profiles (speed at depth bins), and similar array-valued observations.

Properties

labels array of string Optional

Optional labels identifying each element (e.g. frequency bin edges in Hz, depth bin centres in m). Must be same length as values if present.

maxLength: 1024 items
values array of integer Required

Ordered array of scaled integer values

maxLength: 1024 items
View raw schema
{
  "type": "object",
  "required": [
    "values"
  ],
  "properties": {
    "labels": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 32
      },
      "maxLength": 1024,
      "description": "Optional labels identifying each element (e.g. frequency bin edges in Hz, depth bin centres in m). Must be same length as values if present."
    },
    "values": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "maxLength": 1024,
      "description": "Ordered array of scaled integer values"
    }
  },
  "description": "Array of scaled integer values sharing the parent Datastream's resultScaleFactor. Used for wave spectra (energy at frequency bins), current profiles (speed at depth bins), and similar array-valued observations."
}
booleanResult object

True/false observation. Used for threshold exceedances, detection flags, binary sensor states.

Properties

value boolean Required

No description available.

View raw schema
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "boolean"
    }
  },
  "description": "True/false observation. Used for threshold exceedances, detection flags, binary sensor states."
}
categoryResult object

Categorical observation from a controlled vocabulary. Used for weather codes, flood alert levels, land cover classes, sea state.

Properties

value string Required

Code or label from the vocabulary

maxLength: 256 bytes
vocabulary string uri Optional

URI of the code list or vocabulary (e.g. https://codes.wmo.int/306/4677 for WMO present weather codes)

View raw schema
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string",
      "maxLength": 256,
      "description": "Code or label from the vocabulary"
    },
    "vocabulary": {
      "type": "string",
      "format": "uri",
      "description": "URI of the code list or vocabulary (e.g. https://codes.wmo.int/306/4677 for WMO present weather codes)"
    }
  },
  "description": "Categorical observation from a controlled vocabulary. Used for weather codes, flood alert levels, land cover classes, sea state."
}
geoPointResult object

Geographic position result for position-as-observation (e.g. GPS fix from a drifting buoy). Uses the same encoding as Thing.location.

Properties

altMm integer Optional

Altitude in mm above WGS84 ellipsoid

latE7 integer Required

No description available.

minimum: -900000000maximum: 900000000
lonE7 integer Required

No description available.

minimum: -1800000000maximum: 1800000000
View raw schema
{
  "type": "object",
  "required": [
    "latE7",
    "lonE7"
  ],
  "properties": {
    "altMm": {
      "type": "integer",
      "description": "Altitude in mm above WGS84 ellipsoid"
    },
    "latE7": {
      "type": "integer",
      "maximum": 900000000,
      "minimum": -900000000
    },
    "lonE7": {
      "type": "integer",
      "maximum": 1800000000,
      "minimum": -1800000000
    }
  },
  "description": "Geographic position result for position-as-observation (e.g. GPS fix from a drifting buoy). Uses the same encoding as Thing.location."
}
numericResult object

Scaled integer result. Real value = value × 10^(−resultScaleFactor). The common case for continuous measurements.

Properties

value integer Required

No description available.

View raw schema
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "integer"
    }
  },
  "description": "Scaled integer result. Real value = value × 10^(−resultScaleFactor). The common case for continuous measurements."
}

Lexicon Garden

@