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。
注意: level 与 minSize 和 maxSize 互斥,并且必须小于或等于 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})
此页内容对您有帮助吗?
感谢您的反馈!
