A single act of observation. The result type is determined by the $type discriminator on the result object.
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 itemsfeatureOfInterest
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).
result
union
Required
The observation result. Type determined by $type discriminator.
resultQuality
string
Optional
Quality flag as a token reference
maxLength: 64 bytesdev.sensorthings.quality#good, dev.sensorthings.quality#suspect, dev.sensorthings.quality#missingresultTime
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."
}