haversine
Назначение

haversineматематическая SRL-функция, которая возвращает кратчайшее расстояние между двумя точками на сферической поверхности по их координатам.

Синтаксис

haversine(широта1, долгота1, широта2, долгота2, радиус)

Аргументы

В функции haversine используются следующие аргументы:

При оформлении аргументов, представленных десятичными дробями, используйте точку (.) в качестве десятичного разделителя.

Обязательные аргументы:

  • широта1 – число (\(-90 \le\) широта1 \(\le 90\)), которое представляет широту точки 1;

  • долгота1 – число (\(-180 \le\) долгота1 \(\le 180\)), которое представляет долготу точки 1;

  • широта2 – число (\(-90 \le\) широта2 \(\le 90\)), которое представляет широту точки 2;

  • долгота2 – число (\(-180 \le\) долгота2 \(\le 180\)), которое представляет долготу точки 2.

Необязательные аргументы:

  • радиус – радиус сферической поверхности, представленный в следующем виде: radius:=число, где число \(\gt 0\). При отсутствии данного аргумента в выражении в качестве значения по умолчанию используется средний радиус Земли (\(6371\) км).

Возвращаемое значение

Функция haversine возвращает неотрицательное число (возвращаемое значение \(\ge 0\)), которое представляет расстояние между указанными точками.

Примеры

Вычисление расстояния между Москвой (55.7506, 37.6175) и Пекином (39.9067, 116.3975) в различных единицах измерения:

Выражение Описание Результат Единица измерения

haversine(55.7506, 37.6175, 39.9067, 116.3975)

Значение радиуса по умолчанию – 6371.

5793,17

км

haversine(55.7506, 37.6175, 39.9067, 116.3975, radius:=3958.76)

Значение радиуса – средний радиус Земли в милях.

3599,71

мили

haversine(55.7506, 37.6175, 39.9067, 116.3975, radius:=60676.19)

Значение радиуса – средний радиус Земли в стандартных футбольных полях длиной 105 метров.

55173,08

футбольные поля

Вычисление расстояния между северным и южным полюсом Луны:

Выражение Описание Результат Единица измерения

haversine(90, 0, -90, 0, radius:=1737.4)

Значение радиуса – средний радиус Луны в километрах.

5458,2

км

haversine(90, 0, -90, 0, radius:=1079.32)

Значение радиуса – средний радиус Луны в милях.

3390,78

мили