Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
ST_Angle
ST_Angle 傳回以弧度為單位順時針測量的點之間的角度,如下所示:
如果輸入三個點,則將測量傳回的角度 P1-P2-P3,就像繞 P2 順時針從 P1 旋轉到 P3 獲得的角度一樣。
如果輸入四個點,則傳回由有向線 P1-P2 和 P3-P4 形成的順時針角度。如果輸入是退化情況 (也就是說,P1 等於 P2,或 P3 等於 P4),則傳回 null。
傳回值以弧度為單位,範圍為 [0, 2π)。
ST_Angle 對輸入幾何的 2D 投影進行操作。
語法
ST_Angle(geom1, geom2, geom3)
ST_Angle(geom1, geom2, geom3, geom4)
引數
- geom1
-
GEOMETRY資料類型的值,或是評估為GEOMETRY類型的表達式。子類型必須是POINT。 - geom2
-
GEOMETRY資料類型的值,或是評估為GEOMETRY類型的表達式。子類型必須是POINT。 - geom3
-
GEOMETRY資料類型的值,或是評估為GEOMETRY類型的表達式。子類型必須是POINT。 - geom4
-
GEOMETRY資料類型的值,或是評估為GEOMETRY類型的表達式。子類型必須是POINT。
傳回類型
DOUBLE PRECISION.
如果 geom1 等於 geom2,或 geom2 等於 geom3,則傳回 null。
如果 geom1、geom2、geom3 或 geom4 為 null,則傳回 null。
如果 geom1、geom2、geom3 或 geom4 的任一個是空點,則會傳回錯誤。
如果 geom1、geom2、geom3 和 geom4 的空間參考系統識別碼 (SRID) 值不同,則會傳回錯誤。
範例
下列 SQL 會傳回三個輸入點轉換為度數的角度。
SELECT ST_Angle(ST_Point(1,1), ST_Point(0,0), ST_Point(1,0)) / Pi() * 180.0 AS angle;
angle
---------------
45
下列 SQL 會傳回四個輸入點轉換為度數的角度。
SELECT ST_Angle(ST_Point(1,1), ST_Point(0,0), ST_Point(1,0), ST_Point(2,0)) / Pi() * 180.0 AS angle;
angle
---------------
225