geo.gridFilter() function
geo.gridFilter()
is experimental and subject to change at any time.
geo.gridFilter()
filters data by a specified geographic region.
The function compares input data to a set of S2 cell ID tokens located in the specified region.
Input data must include an s2_cell_id
column that is part of the group key.
Note: S2 Grid cells may not perfectly align with the defined region,
so results may include data with coordinates outside the region, but inside
S2 grid cells partially covered by the region.
Use geo.toRows()
and geo.strictFilter()
after geo.gridFilter()
to precisely filter points.
Function type signature
(
<-tables: stream[{B with s2_cell_id: string}],
region: A,
?level: int,
?maxSize: int,
?minSize: int,
?s2cellIDLevel: int,
?units: {distance: string},
) => stream[{B with s2_cell_id: string}] where A: Record
Parameters
region
(Required) Region containing the desired data points.
Specify record properties for the shape.
minSize
Minimum number of cells that cover the specified region.
Default is 24
.
maxSize
Maximum number of cells that cover the specified region.
Default is -1
(unlimited).
level
S2 cell level
of grid cells. Default is -1
.
Note: level
is mutually exclusive with minSize
and maxSize
and
must be less than or equal to s2cellIDLevel
.
s2cellIDLevel
S2 cell level
used in the s2_cell_id
tag. Default is -1
(detects S2 cell level from the S2 cell ID token).
units
Record that defines the unit of measurement for distance.
Default is the geo.units
option.
tables
Input data. Default is piped-forward data (<-
).
Examples
Filter data to a specified region
import "experimental/geo"
data
|> geo.gridFilter(region: {lat: 40.69335938, lon: -73.30078125, radius: 20.0})
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.