3.3.16.8 Record: IndexMetadataRecord
Topic Version | 1 | Published | 10/31/2016 | |
For Standard | ETP v1.1 |
Metadata for an index.
Avro Schema |
---|
{ "type": "record", "namespace": "Energistics.Datatypes.ChannelData", "name": "IndexMetadataRecord", "fields": [ { "name": "indexType", "type": "Energistics.Datatypes.ChannelData.ChannelIndexTypes" }, { "name": "uom", "type": "string" }, { "name": "depthDatum", "type": ["null", "string"] }, { "name": "direction", "type": "Energistics.Datatypes.ChannelData.IndexDirections" }, { "name": "mnemonic", "type": ["null", "string"] }, { "name": "description", "type": ["null", "string"] }, { "name": "uri", "type": ["null", "string"] }, { "name": "customData", "type": { "type": "map", "values": "Energistics.Datatypes.DataValue" } }, { "name": "scale", "type": "int" }, { "name": "timeDatum", "type": ["null", "string"] } ] } |
Attribute |
Description |
Data Type |
Min |
Max |
---|---|---|---|---|
indexType |
Main type of the index (time, depth, etc.) as defined by ChannelIndexTypes enumeration. |
ChannelIndexTypes |
1 |
1 |
uom |
The units of measure for the index.
|
string |
1 |
1 |
depthDatum |
Describes the vertical datum for depth indexes. For WITSML channels, this MUST be supplied as a URI to the relevant well datum in the store associated with the channel. This can normally be a relative URI, in the form of a uid string for the referenced datum. For example, if we have a well with a datum with the uid 'KB', either of the following URIs would be correct: 'eml:///witsml14/well(1d8af245-8da9-4ece-86cd-e115e9c88a3e)/wellDatum(KB)' 'KB' The second form assumes that it is clear to the consumer what is the reference well for the channel involved. ETP itself, as a pure exchange protocol, has no knowledge of wells, etc. However, it normally is the case for a WITSML implementation that URIs of channels make clear the well context. |
string |
0 |
1 |
direction |
The direction of the index values, increasing or decreasing. Must remain constant for the life of a channel. |
IndexDirections |
1 |
1 |
mnemonic |
A mnemonic description of the index. This is an optional field; in the absence of a value, the string representation of the indexType enumeration SHOULD be considered the mnemonic. |
string |
0 |
1 |
description |
Optional human readable description of the index. |
string |
0 |
1 |
uri |
A URI for the index. Optional field that allows an index to reference a permanent object on the producer or server. |
string |
0 |
1 |
customData |
Key-value map of additional index information. Currently there are no standardized keys, and this is used only for vendor-specific information. Standard keys and values may be defined in the future. |
DataValue |
0 |
n |
scale |
For depth indexes only. Defines a power of 10 scale that is applied to the long integer value in the index field of all data points. For example, using a depth index whose UOM is feet, with a desired precision of hundredths of a foot, the scale is 2. The integer value 12345 represents a depth of 123.45 ft and a value of 12300 is used to represent exactly 123.00 ft. This value is used in all messages that reference a depth channel. |
int |
1 |
1 |
timeDatum |
If the indexType is time, then this field can provide a datum for all time values in the channel. If supplied, it MUST be a UTC time in ISO 8601 string format (i.e., must have a trailing 'z' as the time zone. If it is null, then the datum is assumed to be the epoch of 12 AM Jan 1, 1970. The time of a given data point is determined by taking this datum in microseconds and adding the value of the index for that data point. |
string |
0 |
1 |