文档文档

geo.gridFilter() 函数

geo.gridFilter() 是实验性的,并且随时可能更改

geo.gridFilter() 通过指定的地理区域过滤数据。

该函数将输入数据与位于指定区域内的一组 S2 单元 ID 令牌进行比较。输入数据必须包含一个 s2_cell_id 列,该列是组键的一部分

注意:S2 网格单元可能无法与定义的区域完美对齐,因此结果可能包含坐标位于区域外部但在部分被区域覆盖的 S2 网格单元内的数据。在 geo.gridFilter() 之后使用 geo.toRows()geo.strictFilter() 来精确过滤点。

函数类型签名
(
    <-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

有关更多信息,请参阅函数类型签名

参数

region

必填)包含所需数据点的区域。

为形状指定记录属性。

minSize

覆盖指定区域的最小单元数。默认为 24

maxSize

覆盖指定区域的最大单元数。默认为 -1(无限制)。

level

S2 单元级别的网格单元。默认为 -1

注意: levelminSizemaxSize 互斥,并且必须小于或等于 s2cellIDLevel

s2cellIDLevel

s2_cell_id 标签中使用的S2 单元级别。默认为 -1(从 S2 单元 ID 令牌检测 S2 单元级别)。

units

定义距离测量单位的记录。默认为 geo.units 选项。

tables

输入数据。默认为管道转发数据 (<-)。

示例

将数据过滤到指定区域

import "experimental/geo"

data
    |> geo.gridFilter(region: {lat: 40.69335938, lon: -73.30078125, radius: 20.0})

查看示例输入和输出


此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看