Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к:
Databricks SQL
Databricks Runtime 18.0 и более поздних версий
Это важно
Эта функция доступна в общедоступной предварительной версии.
Замечание
Эта функция недоступна в классических хранилищах Databricks SQL. Дополнительные сведения о хранилищах SQL Databricks см. в разделе "Типы хранилища SQL".
Возвращает азимут, основанный на севере, от первой точки ко второй в радианах [0, 2π).
Синтаксис
st_azimuth ( geoExpr1, geoExpr2 )
Arguments
-
geoExpr1: первоеGEOGRAPHYилиGEOMETRYзначение. -
geoExpr2: второеGEOGRAPHYилиGEOMETRYзначение.
Возвраты
DOUBLE Возвращает значение, равное азимуту на севере, от первой точки до второй.
Результат представлен в радианах в диапазоне [0, 2π).
Ожидается, что входные данные будут иметь два или два GEOGRAPHYGEOMETRY значения, в противном случае возвращается ошибка DATATYPE_MISMATCH .
Оба входных значения должны представлять точки, в противном случае возвращается ошибка ST_INVALID_ARGUMENT.INVALID_TYPE.
Если 2D-проекции двух точек равны, возвращаемый азимут равен нулю.
NULL возвращается, если любой из двух входных точек пуст.
Условия ошибок
- Если
geoExpr1имеет типGEOGRAPHY, аgeoExpr2имеет типGEOMETRYили наоборот, функция возвращает DATATYPE_MISMATCH. - Если какая-либо из двух входных геометрий не является точкой, функция возвращает ST_INVALID_ARGUMENT. INVALID_TYPE.
- Если две входные геометрии имеют разные значения SRID, функция возвращает ST_DIFFERENT_SRID_VALUES.
Примеры
-- The inputs are `GEOMETRY` values. The output (Cartesian azimuth) is displayed in degrees.
> SELECT round(st_azimuth(st_geomfromtext('POINT(0 45)'), st_geomfromtext('POINT(1 46)')) * 180.0 / pi(), 3);
45.0
-- The inputs are `GEOGRAPHY` values. The output (geographic azimuth on the WGS84 ellipsoid) is displayed in degrees.
> SELECT round(st_azimuth(st_geogfromtext('POINT(0 45)'), st_geogfromtext('POINT(1 46)')) * 180.0 / pi(), 3);
34.76