title |
description |
aliases |
menu |
weight |
flux/v0.x/tags |
related |
introduced |
geo.ST_Distance() function |
The `geo.ST_Distance()` function returns the distance between the specified region and specified GIS geometry.
|
/influxdb/v2.0/reference/flux/stdlib/experimental/geo/st_distance/ |
/influxdb/cloud/reference/flux/stdlib/experimental/geo/st_distance/ |
|
flux_0_x_ref |
name |
parent |
geo.ST_Distance |
geo |
|
|
401 |
|
/{{< latest "influxdb" >}}/query-data/flux/geo/ |
|
0.63.0 |
The geo.ST_Distance()
function returns the distance between the specified region
and specified geographic information system (GIS) geometry.
Define distance units with the geo.units
option.
import "experimental/geo"
geo.ST_Distance(
region: {lat: 40.7, lon: -73.3, radius: 20.0},
geometry: {lon: 39.7515, lat: 15.08433},
)
// Returns 10734.184618677662 (km)
Parameters
region
The region to test.
Specify record properties for the shape.
See Region definitions.
geometry
The GIS geometry to test.
Can be either point or linestring geometry.
See GIS geometry definitions.
Examples
Calculate the distance between geographic points and 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_distance: ST_Distance(region: region, geometry: {lat: r.lat, lon: r.lon})}))
Find the point nearest to a geographic location
import "experimental/geo"
fixedLocation = {lat: 40.7, lon: -73.3}
data
|> geo.toRows()
|> map(fn: (r) => ({r with _value: geo.ST_Distance(region: {lat: r.lat, lon: r.lon}, geometry: fixedLocation)}))
|> min()