geo.ST_Distance() function
The geo.ST_Distance()
function is experimental and subject to change at any time.
By using this function, you accept the risks of experimental functions.
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.
Function type: Transformation
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.
Data type: Record
geometry
The GIS geometry to test. Can be either point or linestring geometry. See GIS geometry definitions.
Data type: Record
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()
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, the following resources are available:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.