Географические функции

В данном разделе при описании функций приняты следующие обозначения:

  • Типы значений, которые принимает аргумент, указаны в угловых скобках.

  • Перечень необязательных аргументов заключается в квадратные скобки. При вызове функции квадратные скобки вводить не нужно.

  • После :: в угловых скобках указаны типы значений, которые возвращает функция.

haversine

Функция haversine вычисляет расстояние между двумя точками по поверхности Земли, а также азимут — направление от первой точки ко второй.

  • Для расчетов используется средний радиус Земли — 6 371 008,8 метра.

  • Расстояние вычисляется с точностью до семи знаков после запятой.

  • Азимут измеряется по часовой стрелке от севера в градусах, от 0 до 360. Точность измерения азимута — три знака после запятой.

Спецификация функции

haversine(latitude1: <число с плавающей точкой>, longitude1: <число с плавающей точкой>, latitude2: <число с плавающей точкой>, longitude2: <число с плавающей точкой>, [measurement_unit: <строка>])
:: <объект>
Аргумент Тип Описание По умолчанию Обязателен

latitude1

число с плавающей точкой

Широта первой точки в градусах.

да

longtitude1

число с плавающей точкой

Долгота первой точки в градусах.

да

latitude2

число с плавающей точкой

Широта второй точки в градусах.

да

longtitude2

число с плавающей точкой

Долгота второй точки в градусах.

да

measurement_unit

строка

Единицы, в которых следует измерять расстояние. Допустимые значения:

  • "kilometers" — километры;

  • "miles" — статутные мили.

"kilometers"

нет

Примеры

Расстояние в километрах

Исходный код
haversine(0.0, 0.0, 10.0, 10.0)
Результат
{
  "bearing": 44.561,
  "distance": 1568.5227233
}

Расстояние в милях

Исходный код
haversine(0.0, 0.0, 10.0, 10.0, measurement_unit: "miles")
Результат
{
  "bearing": 44.561,
  "distance": 974.6348468
}

Была ли полезна эта страница?

Обратная связь