3.5 KiB
| title | description | menu | weight | flux/v0/tags | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| geo.groupByArea() function | `geo.groupByArea()` groups rows by geographic area. |
|
201 |
|
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
(
<-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
import "experimental/geo"
data
|> geo.groupByArea(newColumn: "foo", level: 4)
{{< expand-wrapper >}} {{% expand "View example input and output" %}}
Input data
| _time | *id | lat | lon | *s2_cell_id |
|---|---|---|---|---|
| 2021-01-03T02:00:00Z | a213b | 39.08433 | -75.9978 | 89bc |
| _time | *id | lat | lon | *s2_cell_id |
|---|---|---|---|---|
| 2021-01-01T00:00:00Z | a213b | 41.01433 | -70.7515 | 89e4 |
| _time | *id | lat | lon | *s2_cell_id |
|---|---|---|---|---|
| 2021-01-02T01:00:00Z | a213b | 40.9228 | -73.3527 | 89ec |
Output data
| *foo | _time | id | lat | lon | s2_cell_id |
|---|---|---|---|---|---|
| 89b | 2021-01-03T02:00:00Z | a213b | 39.08433 | -75.9978 | 89bc |
| *foo | _time | id | lat | lon | s2_cell_id |
|---|---|---|---|---|---|
| 89f | 2021-01-01T00:00:00Z | a213b | 41.01433 | -70.7515 | 89e4 |
| 89f | 2021-01-02T01:00:00Z | a213b | 40.9228 | -73.3527 | 89ec |
{{% /expand %}} {{< /expand-wrapper >}}