added geo.s2CellIDToken function, resolves #817

pull/818/head
Scott Anderson 2020-03-10 22:53:28 -06:00
parent f5fc38d057
commit 5d77de3b08
1 changed files with 81 additions and 0 deletions

View File

@ -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
)})
)
```