Datachunk

For minimizing the network load and optimizing performance, BlueForest aggregates records, series and samples into chunk of time. The duration of a chunk is variable, so it MAY contain a variable number of records, series and samples.

   

 

Datachunk class diagram

 

Datachunk class diagram

   


Datachunk object

 

The datachunk object describe the datachunk and its properties.

Property Name Type Card. Description
v Version string 1 Datachunk Version. Actually : 2.1
f From DateTime 1 Timestamp when this datachunk start. UTC Time.
t To DateTime 1 Timestamp when this datachunk end. UTC Time.
bbox Bounding box float * GeoJson bounding box for this serie.
At a minimum, a bounding box will have four coordinates which define the box. Those “bbox” values define shapes with edges that follow lines of constant longitude, latitude, and elevation. More information
m Measurements string * Measurements list included in this datachunk
r Records Record * List of Records
e Extensions dynamic ? User-customizable key-value properties.
Keys and values are fully customizable and up to the user.

   


Record object

 

The record object describe the record and its properties.

Property Name Type Card. Description
d DeviceId string 1 Device Id
u Unit string 1 or * CompoundName string or array. eg : a/b or a.c or ["a", "b"]
tw Time Window TimeWindow 1 Time window when this record start and end. UTC Time.
bbox Bounding box float * GeoJson bounding box for this serie.
At a minimum, a bounding box will have four coordinates which define the box. Those “bbox” values define shapes with edges that follow lines of constant longitude, latitude, and elevation. More information
s Series Serie * List of Series
e Extensions dynamic ? User-customizable key-value properties.
Keys and values are fully customizable and up to the user.

   


Serie object

 

The serie object describe the serie and its properties.

Property Name Type Card. Description
m Measurement string 1 Measurement name
t Type string ? Sample value type
schema Schema dynamic ? Optional schema, either a string for known type to urn for description or inline description.
tw Time Window TimeWindow 1 Time window when this serie start and end. UTC Time
i Indexes Indexes 1 Bounding indexes
bbox Bounding box float * GeoJson bounding box for this serie.
At a minimum, a bounding box will have four coordinates which define the box. Those “bbox” values define shapes with edges that follow lines of constant longitude, latitude, and elevation. More information
s Samples Sample
or
ArraySample
*
or
1
List of Samples
or
An ArraySample
e Extensions dynamic ? User-customizable key-value properties.
Keys and values are fully customizable and up to the user.

   


Time Window object

 

The timeWindow object describe the min and max timestamp included in samples. UTC Time.

Property Name Type Card. Description
f From DateTime 1 Timestamp when this window start. UTC Time.
t To DateTime 1 Timestamp when this window end. UTC Time.

   


Indexes object

 

The indexes object describe the min and max indexes included in samples.

Property Name Type Card. Description
f From Int64 1 Samples’ min Index representing the order those samples were generated on the device
t To Int64 1 Samples’ max Index representing the order those samples were generated on the device

   


Sample object

 

The sample object describe the sample and its properties. Sample represent a piece of data at a given time.

Property Name Type Card. Description
i Index Int64 1 Samples’ Index represent the order those samples were generated on the device
t Timestamp DateTime 1 Timestamp when the measure was taken. UTC Time
q Quality string ? Value’s quality
g Geometry Point ? A location point to add spatial information. See Point object
v Value dynamic 1 Value contains the actual data.
As it is specific to each type of serie, a value MUST be :
   - an integer
   - a float
   - a boolean
   - a complex object (ex: a Location object)
e Extensions dynamic ? User-customizable key-value properties.
Keys and values are fully customizable and up to the user.

 

Difference between Location Value and Geometry

 

Location Value : if sample object Value is representing a location, then you SHOULD use complex object Location as value and not using the location extension. See Location object.    
Geometry : if sample object Value is not representing a spatial value, then you COULD add a Geometry information to add spatial information to value. See Point object.

   


ArraySample object

 

The arraySample object is a set of tables with identical length allowing to optimize the volume of data when a serie have a large number of samples. As a reminder, a sample represent a piece of data at a given time.

Property Name Type Card. Description
t Type string 1 “array”
i Indexes Int64 * Samples’ Indexes list representing the order those samples were generated on the device
t Timestamps DateTime * Timestamps list when the measures were taken. UTC Time
q Qualities string * Value’s qualities list
g Geometries Point * Location points list to add spatial information. See Point object
v Values dynamic
or
Locations
*
or
1
Values list contains the actual data.
As it is specific to each type of serie, each value MUST be :
   - an integer
   - a float
   - a boolean
   - a complex object (ex: a Location object)

Values COULD be also a Locations object representing a list of location as a GeoJson Linestring.
e Extensions dynamic * List of user-customizable key-value properties.
Keys and values are fully customizable and up to the user.

 
 


Location object

 

The Location object describe a sample value as a location. This object is based on point object from GeoJSON standard.

Property Name Type Card. Description
coordinates Coordinates Float * For type “Point”, the “coordinates” member is a single position. A single position is an array of numbers.

There MUST be two or more elements. The first two elements are longitude and latitude, precisely in that order and using decimal numbers.

Altitude or elevation MAY be included as an optional third element. Altitude is meters above mean sea level.
type Type String 1 The value of a Location object’s “type” member MUST be “Point”
f Fix Boolean ? Fix quality
pa Precision Acc. Float ? Precision accuracy
m Magnetic Var. Float ? Magnetic Variation
e Extensions dynamic ? User-customizable key-value properties.
Keys and values are fully customizable and up to the user.

 
 


Locations object (Linestring)

 

The Locations object describe a sample value as a list of locations. This object is based on lineString object from GeoJSON standard.

Property Name Type Card. Description
coordinates Coordinates Float[] * For type “Linestring”, For type “LineString”, the “coordinates” member is an array of two or more positions. A position is an array of numbers.

There MUST be two or more elements in position arrays. The first two elements are longitude and latitude, precisely in that order and using decimal numbers.

Altitude or elevation MAY be included as an optional third element. Altitude is meters above mean sea level.
type Type String 1 The value of a Locations object’s “type” member MUST be “LineString”
f Fixes Boolean * Fixes list
pa Precisions Acc. Float * Precisions accuracy list
m Magnetic Vars. Float * Magnetic Variations list
e Extensions dynamic * List of user-customizable key-value properties.
Keys and values are fully customizable and up to the user.

 
 


Point object

 

The Point object add spatial information on sample. This object is based on point object from GeoJSON standard.

Property Name Type Card. Description
coordinates Coordinates Float * For type “Point”, the “coordinates” member is a single position. A single position is an array of numbers.

There MUST be two or more elements. The first two elements are longitude and latitude, precisely in that order and using decimal numbers.

Altitude or elevation MAY be included as an optional third element. Altitude is meters above mean sea level.
type Type String 1 The value of a Point object’s “type” member MUST be “Point”

   


Improve this page