

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# ST\$1Angle
<a name="ST_Angle-function"></a>

ST\$1Angle は、次のように時計回りに測定されたポイント間の角度をラジアン単位で返します。
+ 3 つのポイントを入力した場合、戻り角度 P1-P2-P3 は、P1 から P3 まで P2 を中心に時計回りに回転して、獲得した角度として測定されます。
+ 4 つのポイントを入力した場合、有向線 P1-P2 と P3-P4 がなす時計回りの角度が返されます。入力が縮退の場合 (つまり、P1 が P2 に等しい、または P3 が P4 に等しい場合)、null が返されます。

戻り値はラジアンで、範囲は [0, 2π) です。

ST\$1Angle は、入力ジオメトリの 2D 射影に対して動作します。

## 構文
<a name="ST_Angle-function-syntax"></a>

```
ST_Angle(geom1, geom2, geom3)
```

```
ST_Angle(geom1, geom2, geom3, geom4)
```

## 引数
<a name="ST_Angle-function-arguments"></a>

 *geom1*   
データ型 `GEOMETRY` の値または `GEOMETRY` 型と評価される式の値。サブタイプは `POINT` である必要があります。

 *geom2*   
データ型 `GEOMETRY` の値または `GEOMETRY` 型と評価される式の値。サブタイプは `POINT` である必要があります。

 *geom3*   
データ型 `GEOMETRY` の値または `GEOMETRY` 型と評価される式の値。サブタイプは `POINT` である必要があります。

 *geom4*   
データ型 `GEOMETRY` の値または `GEOMETRY` 型と評価される式の値。サブタイプは `POINT` である必要があります。

## 戻り型
<a name="ST_Angle-function-return"></a>

`DOUBLE PRECISION`. 

*geom1* が *geom2* と等しい場合、または *geom2* が *geom3* と等しい場合は、null が返されます。

*geom1*、*geom2*、*geom3*、または *geom4* が null の場合は、null が返されます。

*geom1*、*geom2*、*geom3*、または *geom4* のいずれかが空のポイントである場合は、エラーが返されます。

*geom1*、*geom2*、*geom3*、*geom4* の空間参照系識別子 (SRID) が同じ値ではない場合は、エラーが返されます。

## 例
<a name="ST_Angle-function-examples"></a>

次の SQL は、3 つの入力ポイントの角度に変換された角度を返します。

```
SELECT ST_Angle(ST_Point(1,1), ST_Point(0,0), ST_Point(1,0)) / Pi() * 180.0 AS angle;
```

```
 angle
---------------
    45
```

次の SQL は、4 つの入力ポイントの角度に変換された角度を返します。

```
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
```