Loading

MVINDEXSPLIT

gts encoder conversion multivariate

The MVINDEXSPLIT function transforms an input Geo Time Series™ or Encoder by interpreting its Multi Value values and producing multiple output encoders.

The transformation works as follows, whenever MVINDEXSPLIT encounters a value in Multi Value format at tick with lat, lon, elev as optional geo components, it decodes that value and adds each of its elements to a separate Encoder identified by the element index (first element being at index 0).

Each element is added with tick as its timestamp and lat, lon, elev as its geo components, unless it has its own geo information.

If the transformation encounters a value which is not in Multi Value format, its assumes it is an element found at index 0 and adds it to the associated encoder.

Once the input has been scanned completely, the resulting encoders are renamed, either by looking up the renaming parameter in a map or by appending :INDEX to the original name.

The labels and attributes from the input are preserved.

Optionaly a list of indices or indices ranges can be specified to only produce encoders for the indices which are specified or fall within a specified range.

MVINDEXSPLIT is available since version 2.1.0.

See also

Signatures

Examples

<' # We create a simple GTS with Multi Value values containing a sensor reading and a quality indicator 1000// mv{} [ 123.0 5 ] 2000// mv{} [ 120.0 4 ] 3000// mv{} [ 110.5 2 ] '> PARSE // output is a list of gts, just like a regular FETCH // // Now split that input into 2 encoders, one with the readings and one with the quality indicator // { 0 'reading' // Index 0 (first value) is the sensor reading 1 'quality' // Index 1 (second value) is the quality indicator } MVINDEXSPLIT // here you have a list of list of encoders, not gts. // TDESCRIBE STOP // (TDESCRIBE function is useful to debug, activate it on your instance !) <% {} ->GTS %> false LMAP // convert the list of list of encoders to a list of list of gts. // See ->GTS documentation