docs-v2/content/flux/v0/stdlib/experimental/geo/astracks.md

4.3 KiB

title description menu weight flux/v0/tags
geo.asTracks() function `geo.asTracks()` groups rows into tracks (sequential, related data points).
flux_v0_ref
name parent identifier
geo.asTracks experimental/geo experimental/geo/asTracks
201
transformations
geotemporal

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

Function type signature
(<-tables: stream[A], ?groupBy: [string], ?orderBy: [string]) => stream[A] where A: Record

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

groupBy

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

orderBy

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

Sort precedence is determined by list order (left to right).

tables

Input data. Default is piped-forward data (<-).

Examples

Group geotemporal data into tracks

import "experimental/geo"

data
    |> geo.asTracks()

{{< expand-wrapper >}} {{% expand "View example input and output" %}}

Input data

_time id lat lon
2021-01-01T00:00:00Z a213b 14.01433 -14.5464
2021-01-02T01:00:00Z a213b 13.9228 -13.3338
2021-01-03T02:00:00Z a213b 15.08433 -12.0433
2021-01-01T00:00:00Z b546c 14.01433 39.7515
2021-01-02T01:00:00Z b546c 13.9228 38.3527
2021-01-03T02:00:00Z b546c 15.08433 36.9978

Output data

_time *id lat lon
2021-01-01T00:00:00Z a213b 14.01433 -14.5464
2021-01-02T01:00:00Z a213b 13.9228 -13.3338
2021-01-03T02:00:00Z a213b 15.08433 -12.0433
_time *id lat lon
2021-01-01T00:00:00Z b546c 14.01433 39.7515
2021-01-02T01:00:00Z b546c 13.9228 38.3527
2021-01-03T02:00:00Z b546c 15.08433 36.9978

{{% /expand %}} {{< /expand-wrapper >}}

Group geotemporal data into tracks and sort by specified columns

import "experimental/geo"

data
    |> geo.asTracks(orderBy: ["lat", "lon"])

{{< expand-wrapper >}} {{% expand "View example input and output" %}}

Input data

_time id lat lon
2021-01-01T00:00:00Z a213b 14.01433 -14.5464
2021-01-02T01:00:00Z a213b 13.9228 -13.3338
2021-01-03T02:00:00Z a213b 15.08433 -12.0433
2021-01-01T00:00:00Z b546c 14.01433 39.7515
2021-01-02T01:00:00Z b546c 13.9228 38.3527
2021-01-03T02:00:00Z b546c 15.08433 36.9978

Output data

_time *id lat lon
2021-01-02T01:00:00Z a213b 13.9228 -13.3338
2021-01-01T00:00:00Z a213b 14.01433 -14.5464
2021-01-03T02:00:00Z a213b 15.08433 -12.0433
_time *id lat lon
2021-01-02T01:00:00Z b546c 13.9228 38.3527
2021-01-01T00:00:00Z b546c 14.01433 39.7515
2021-01-03T02:00:00Z b546c 15.08433 36.9978

{{% /expand %}} {{< /expand-wrapper >}}