gts encoder conversion multivariate
Since v2.1.0
Available on all platforms
See also

The MVTICKSPLIT 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 MVTICKSPLIT 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 timestamp.

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 :TIMESTAMP to the original name.

The labels and attributes from the input are preserved.

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



<' # We create a simple GTS with Multi Value values containing a sensor reading and a quality indicator 1000// mv{} [ 1/123.0 2/5 ] 2000// mv{} [ 1/120.0 2/4 ] 3000// mv{} [ 1/110.5 2/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 // { 1 'reading' // Timestamp 1 is the sensor reading 2 'quality' // Timestamp 2 is the quality indicator } MVTICKSPLIT // here you have a list of list of encoders, not gts. // TDESCRIBE STOP // (TDESCRIBE function is useful to debug, activate it on your instance !) FLATTEN {} ->GTS // convert the list of encoders to a list of gts. // See ->GTS documentation