

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

ST\$1Perimeter は入力された面積ジオメトリに対して、その 2D 射影の周長 (境界の長さ) をデカルト座標系で返します。周長の単位は、入力ジオメトリの座標を表す単位と同じです。この関数は、ポイント、マルチポイント、および線形ジオメトリに対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクションのジオメトリの周長の合計を返します。

入力がジオグラフィの場合、ST\$1Perimeter では、SRID で決定される回転楕円体上で計算され与えられた面積ジオグラフィについて、その 2D 射影に関する測地座標系での周長 (境界の長さ) を返します。周長の単位はメートルです。この関数は、ポイント、マルチポイント、および線形地形に対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクション内にあるジオグラフィの周長の合計を返します。

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

```
ST_Perimeter(geo)
```

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

 *geo*   
データ型 `GEOMETRY` または `GEOGRAPHY` の値、または `GEOMETRY` もしくは `GEOGRAPHY` 型として評価される式です。

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

`DOUBLE PRECISION`

*geo* が null の場合、null が返されます。

SRID 値が見つからない場合、エラーが返されます。

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

次の SQL は、マルチポリゴンのデカルト座標系での周長を返します。

```
SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
```

```
 st_perimeter
--------------------------------
    68.2842712474619
```

次の SQL は、マルチポリゴンのデカルト座標系での周長を返します。

```
SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
```

```
 st_perimeter
--------------------------------
    68.2842712474619
```

次の SQL は、ジオグラフィ内にあるポリゴンの周長を返します。

```
SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
```

```
 st_perimeter 
------------------
 378790.428393693
```

次の SQL は、ジオグラフィ内にあるライン文字列の周長を返します。

```
SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
```

```
 st_perimeter 
--------------
 0
```