A stream aggregate datum entity.

A stream aggregate datum is a datum representing some aggregate calculation, without any metadata describing the datum property names. The instantantaneous and accumulating property values are stored as 2D array fields iProps and aProps that hold the property values as well as associated aggregate statistics. The datum status properties are stroed in the 1D array field sProps. A DatumStreamMetadata object is required to associate names with these arrays.

The instantaneous properties are 4-element arrays containing:

  1. property average value
  2. property count
  3. minimum value
  4. maximum value

The accumulatingn statistics are 3-element arrays containing:

  1. difference between ending and starting property values
  2. starting property value
  3. ending property value

Hierarchy

  • StreamAggregateDatum

Implements

Constructors

Properties

The accumulating property values and associated statistics.

The instantaneous property values and associated statistics.

Attached metadata.

sProps?: string[]

The status property values.

streamId: string

The stream ID.

tags?: Set<string>

The tag values.

ts: Date[]

The start and end dates.

Accessors

Methods

  • Get this object as an array suitable for encoding into a standard stream datum JSON string.

    This method can encode the datum into an array using one of two ways, depending on whether the registry argument is provided. When provided, the first array element will be the stream metadata index based on calling indexOfMetadataStreamId(). Otherwise the first array element will be the stream ID itself.

    For example if a registry is used, the resulting array might look like this:

    [0,[1650945600000,1651032000000],[3.6,2,0,7.2],[19.1,2,18.1, 20.1],[1.422802,1138.446687,1139.869489]]
    

    while without a registry the array might look like this:

    ["7714f762-2361-4ec2-98ab-7e96807b32a6", [1650945600000,1651032000000],[3.6,2,0,7.2],[19.1,2,18.1, 20.1],[1.422802,1138.446687,1139.869489]]
    

    Parameters

    Returns any[]

    the datum stream array object

  • Get this instance as a simple object.

    The following basic properties will be set on the returned object:

    • streamId - the stream ID
    • date - the timestamp
    • date_end - the ending timestamp, if available
    • sourceId - the metadata source ID
    • nodeId or locationId - either the node ID or location ID from the metadata
    • tags - any tags (as an Array)

    Beyond that, all instantaneous, accumulating, and status properties will be included. If duplicate property names exist between the different classifications, the first-available value will be used. Any available statistics for each property are included as well, using property names with the following suffixes:

    • _count - count of datum
    • _min - minimum value
    • _max - maximum value
    • _start - starting value
    • _end - ending value

    Parameters

    • Optional meta: DatumStreamMetadata | DatumStreamMetadataRegistry

      a metadata instance or metadata registry to encode the property names with; falls back to the meta class property if not provided

    • Optional withoutStatistics: boolean

      true to omit statistic properties

    Returns undefined | Record<string, any>

    an object populated with all available properties

Generated using TypeDoc