st_azimuth функция

Применяется к:помечено галочкой да 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