Back to Influxdb

geo.groupByArea() function

content/flux/v0/stdlib/experimental/geo/groupbyarea.md

latest3.2 KB
Original Source
<!------------------------------------------------------------------------------ IMPORTANT: This page was generated from comments in the Flux source code. Any edits made directly to this page will be overwritten the next time the documentation is generated. To make updates to this documentation, update the function comments above the function definition in the Flux source code: https://github.com/influxdata/flux/blob/master/stdlib/experimental/geo/geo.flux#L924-L948 Contributing to Flux: https://github.com/influxdata/flux#contributing Fluxdoc syntax: https://github.com/influxdata/flux/blob/master/docs/fluxdoc.md ------------------------------------------------------------------------------->

geo.groupByArea() groups rows by geographic area.

Area sizes are determined by the specified level. Each geographic area is assigned a unique identifier (the S2 cell ID token) which is stored in the newColumn. Results are grouped by newColumn.

Function type signature
js
(
    <-tables: stream[{A with s2_cell_id: string, lon: float, lat: float}],
    level: int,
    newColumn: string,
    ?s2cellIDLevel: int,
) => stream[B] where B: Record

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

Parameters

newColumn

({{< req >}}) Name of the new column for the unique identifier for each geographic area.

level

({{< req >}}) S2 Cell level used to determine the size of each geographic area.

s2cellIDLevel

S2 Cell level used in the s2_cell_id tag. Default is -1 (detects S2 cell level from the s2_cell_id tag).

tables

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

Examples

Group geotemporal data by geographic area

js
import "experimental/geo"

data
    |> geo.groupByArea(newColumn: "foo", level: 4)

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

Input data

_time*idlatlon*s2_cell_id
2021-01-03T02:00:00Za213b39.08433-75.997889bc
_time*idlatlon*s2_cell_id
2021-01-01T00:00:00Za213b41.01433-70.751589e4
_time*idlatlon*s2_cell_id
2021-01-02T01:00:00Za213b40.9228-73.352789ec

Output data

*foo_timeidlatlons2_cell_id
89b2021-01-03T02:00:00Za213b39.08433-75.997889bc
*foo_timeidlatlons2_cell_id
89f2021-01-01T00:00:00Za213b41.01433-70.751589e4
89f2021-01-02T01:00:00Za213b40.9228-73.352789ec

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