InfluxDB Docs

geo.asTracks() function

The geo.asTracks() function is experimental and subject to change at any time. By using this function, you accept the risks of experimental functions.

The geo.asTracks() function groups rows into tracks (sequential, related data points).

Function type: Transformation

import "experimental/geo"

geo.asTracks(
  groupBy: ["id","tid"],
  orderBy: ["_time"]
)

Parameters

groupBy

Columns to group by. These columns should uniquely identify each track. Default is ["id","tid"].

Data type: Array of strings

orderBy

Column to order results by. Default is ["_time"]

Data type: Array of strings

Examples

Group tracks in a box-shaped region
import "experimental/geo"

region = {
  minLat: 40.51757813,
  maxLat: 40.86914063,
  minLon: -73.65234375,
  maxLon: -72.94921875
}

from(bucket: "example-bucket")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "example-measurement")
  |> geo.gridFilter(region: region)
  |> geo.toRows(correlationKey: ["_time", "id"])
  |> geo.asTracks()

Function definition

asTracks = (tables=<-, groupBy=["id","tid"], orderBy=["_time"]) =>
  tables
    |> group(columns: groupBy)
    |> sort(columns: orderBy)

New! Cloud or OSS?