适用于:
Databricks Runtime 18.0 及更高版本
重要
此功能目前以公共预览版提供。
注释
此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型。
返回从第一个点到第二个点的以北为基准的方位角,以弧度表示 [0, 2π)。
Syntax
st_azimuth ( geoExpr1, geoExpr2 )
Arguments
-
geoExpr1:第一个GEOGRAPHY或GEOMETRY值。 -
geoExpr2:GEOGRAPHY或GEOMETRY的第二个值。
退货
返回一个与从第一DOUBLE个点到第二个点的北方基准方位角相等的值。
结果在[0, 2π)范围内以弧度为单位。
输入应为两个 GEOGRAPHY 值或两个 GEOMETRY 值,否则返回 DATATYPE_MISMATCH 错误。
这两个输入值应表示点,否则返回 ST_INVALID_ARGUMENT.INVALID_TYPE 错误。
如果两个点的 2D 投影相等,则返回的 azimuth 为零。
NULL 如果两个输入点中的任何一个为空,则返回 。
错误条件
- 如果两个输入几何图形中的任何一个不是点,函数将返回 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