Documentation

geo.ST_Contains() function

The geo.ST_Contains() function is experimental and subject to change at any time. By using this function, you accept the risks of experimental functions.

The geo.ST_Contains() function tests if the specified region contains the specified geographic information system (GIS) geometry and returns true or false.

Function type: Test

import "experimental/geo"

geo.ST_Contains(
  region: {lat: 40.7, lon: -73.3, radius: 20.0},
  geometry: {lon: 39.7515, lat: 15.08433}
)

// Returns false

Parameters

region

The region to test. Specify record properties for the shape. See Region definitions.

Data type: Record

geometry

The GIS geometry to test. Can be either point or linestring geometry. See GIS geometry definitions.

Data type: Record

Examples

Test if geographic points are inside of a region
import "experimental/geo"

region = {
  minLat: 40.51757813,
  maxLat: 40.86914063,
  minLon: -73.65234375,
  maxLon: -72.94921875
}

data
  |> geo.toRows()
  |> map(fn: (r) => ({
    r with st_contains: geo.ST_Contains(region: region, geometry: {lat: r.lat, lon: r.lon})
  }))
Test if tracks are inside of a region
import "experimental/geo"

region = {
  minLat: 40.51757813,
  maxLat: 40.86914063,
  minLon: -73.65234375,
  maxLon: -72.94921875
}

data
  |> geo.toRows()
  |> geo.asTracks()
  |> geo.ST_LineString()
  |> map(fn: (r) => ({
    r with st_contains: geo.ST_Contains(region: region, geometry: {linestring: r.st_linestring})
  }))

New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: