This query function will calculate the distance between two geographical coordinates (lat1, lon1) and (lat2, lon2) along an ideal earth surface.

It uses the Haversine approximation, which is accurate to about 0.5%. It doesn't take the altitude into account.

ParameterTypeRequiredDefaultDescription
asstringfalse_geodistanceThe name of the field that is produced by the function.
lat1stringtrue The field to use for latitude of first point.
lat2stringtrue The field to use for latitude of second point.
lon1stringtrue The field to use for longitude of first point.
lon2stringtrue The field to use for longitude of second point.

Examples

To calculate the distance between two geographical coordinates in meters, you could use this query function like so:

humio
londonLat := 51.507222 | londonLon := -0.1275 | tokyoLat := 35.689722 | tokyoLon := 139.692222 |
distance := geography:distance(lat1=londonLat, lon1=londonLon, lat2=tokyoLat, lon2=tokyoLon)