From 5d77de3b085daededb0236ef6fb76502f8676095 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 10 Mar 2020 22:53:28 -0600 Subject: [PATCH] added geo.s2CellIDToken function, resolves #817 --- .../stdlib/experimental/geo/s2cellidtoken.md | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 content/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken.md diff --git a/content/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken.md b/content/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken.md new file mode 100644 index 000000000..ebb269f4c --- /dev/null +++ b/content/v2.0/reference/flux/stdlib/experimental/geo/s2cellidtoken.md @@ -0,0 +1,81 @@ +--- +title: geo.s2CellIDToken() function +description: > + The `geo.s2CellIDToken()` function returns an S2 cell ID token. +menu: + v2_0_ref: + name: geo.s2CellIDToken + parent: Geo +weight: 401 +v2.0/tags: [functions, geo] +--- + +The `geo.s2CellIDToken()` function returns an S2 cell ID token. + +_**Function type:** Transformation_ + +```js +import "experimental/geo" + +geo.s2CellIDToken( + point: {lat: 37.7858229, lon: -122.4058124}, + level: 10 +) +``` + +## Parameters + +{{% note %}} +`point` and `token` are mutually exclusive. +{{% /note %}} + +### point +Longitude and latitude in **decimal degrees** (WGS 84). + +_**Data type:** Object_ + +### token +S2 cell ID token to update. +Useful for changing the S2 cell level of an existing S2 cell ID token. + +_**Data type:** String_ + +### level +[S2 Cell level](https://s2geometry.io/resources/s2cell_statistics.html) to use +when generating the S2 cell ID token. + +_**Data type:** Integer_ + +## Examples + +##### Use latitude and longitude values to generate S2 cell ID tokens +```js +import "experimental/geo" + +from(bucket: "example-bucket") + |> range(start: -1h) + |> filter(fn: (r) => r._measurement == "example-measurement") + |> map(fn: (r) => ({ + r with + s2_cell_id: geo.s2CellIDToken( + point: {lat: r.lat, lon: r.lon}, + level: 10 + )}) + ) +``` + +##### Update S2 cell ID tokens using a new S2 cell level +```js +import "experimental/geo" + +from(bucket: "example-bucket") + |> range(start: -1h) + |> filter(fn: (r) => r._measurement == "example-measurement") + |> map(fn: (r) => ({ + r with + s2_cell_id: geo.s2CellIDToken( + token: r.s2_cell_id, + level: 10 + )}) + ) +```