Documentation

geo.filterRows() function

geo.filterRows() is experimental and subject to change at any time.

geo.filterRows() filters data by a specified geographic region with the option of strict filtering.

This function is a combination of geo.gridFilter() and geo.strictFilter(). Input data must include an s2_cell_id column that is part of the group key.

Function type signature
(
    <-tables: stream[{B with s2_cell_id: string, lon: D, lat: C}],
    region: A,
    ?level: int,
    ?maxSize: int,
    ?minSize: int,
    ?s2cellIDLevel: int,
    ?strict: bool,
) => stream[{B with s2_cell_id: string, lon: D, lat: C}] where A: Record
  • Copy
  • Fill window

For more information, see Function type signatures.

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 tag).

strict

Enable strict geographic data filtering. Default is true.

Strict filtering returns only points with coordinates in the defined region. Non-strict filtering returns all points from S2 grid cells that are partially covered by the defined region.

tables

Input data. Default is piped-forward data (<-).

Examples

Strictly filter geotemporal data by region

import "experimental/geo"

data
    |> geo.filterRows(region: {lat: 40.69335938, lon: -73.30078125, radius: 100.0})
  • Copy
  • Fill window

Approximately filter geotemporal data by region

import "experimental/geo"

data
    |> geo.filterRows(region: {lat: 40.69335938, lon: -73.30078125, radius: 100.0}, strict: false)
  • Copy
  • Fill window

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

Now Generally Available

InfluxDB 3 Core and Enterprise

Start fast. Scale faster.

Get the Updates

InfluxDB 3 Core is an open source, high-speed, recent-data engine that collects and processes data in real-time and persists it to local disk or object storage. InfluxDB 3 Enterprise builds on Core’s foundation, adding high availability, read replicas, enhanced security, and data compaction for faster queries and optimized storage. A free tier of InfluxDB 3 Enterprise is available for non-commercial at-home or hobbyist use.

For more information, check out: