

 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\$1Distance
<a name="ST_Distance-function"></a>

入力がジオメトリの場合、ST\$1Distance は 2 つのジオメトリの 2D 射影による値の間で、最短のユークリッド距離を返します。

ジオメトリが 3DM、3DZ、4D の場合、ST\$1Distance は、2 つの入力ジオメトリ値の 2D 間のユークリッド距離を返します。

入力ジオグラフィの場合、ST\$1Distance は 2 つの 2D ポイントの測地的距離を返します。距離の単位はメートルです。ポイントと空ポイント以外のジオグラフィの場合、エラーが返されます。

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

```
ST_Distance(geo1, geo2)
```

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

 *geo1*   
データ型 `GEOMETRY` または `GEOGRAPHY` の値、または `GEOMETRY` もしくは `GEOGRAPHY` 型として評価される式です。*geo1* のデータ型は *geo2* と同じである必要があります。

 *geo2*   
データ型 `GEOMETRY` または `GEOGRAPHY` の値、または `GEOMETRY` もしくは `GEOGRAPHY` 型として評価される式です。*geo2* のデータ型は *geo1* と同じである必要があります。

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

`DOUBLE PRECISION`入力のジオメトリもしくはジオグラフィと同じ単位の です。

*geo1* または *geo2* が null または空の場合、null が返されます。

*geo1* および *geo2* の空間リファレンスシステム識別子 (SRID) が同じ値でない場合、エラーが返されます。

*geo1* または *geo2* がジオメトリコレクションである場合、エラーが返されます。

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

次の SQL は、2 つのポリゴン間の距離を返します。

```
SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
```

```
  st_distance
-----------
1.4142135623731
```

次の SQL は、GEOGRAPHY データ型を使用して、ベルリンのブランデンブルク門と国会議事堂の間の距離 (メートル単位) を返します。

```
SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
```

```
   st_distance
------------------
 74.64129172609631
```