

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 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\$1Boundary
<a name="ST_Boundary-function"></a>

ST\$1Boundary 返回输入几何体的边界，如下所示：
+ 如果输入几何体为空（即，它不包含点），则按原样返回。
+ 如果输入几何是点或非空多点，则返回空几何体集合。
+ 如果输入是线串或多线串，则返回包含边界上所有点的多点。多点可能为空）。
+ 如果输入是一个没有任何内环的面，则返回一个表示其边界的闭合线串。
+ 如果输入是具有内环的面，或者是多面，则返回多线串。多线串包含平面几何体中所有环的所有边界，作为闭合线串。

为了确定点相等性，ST\$1Boundary 会对输入几何体的 2D 投影进行操作。如果输入几何体为空，则返回该几何体的维度与输入相同的副本。对于非空 3DM 和 4D 几何体，其 `m` 坐标会被删除。在 3DZ 和 4D 多线串的特殊情况下，多线串边界点的 `z` 坐标被计算为具有相同 2D 投影的线串边界点的不同 z 值的平均值。

## 语法
<a name="ST_Boundary-function-syntax"></a>

```
ST_Boundary(geom)
```

## 参数
<a name="ST_Boundary-function-arguments"></a>

 *geom*   
一个 `GEOMETRY` 数据类型的值，或一个计算结果为 `GEOMETRY` 类型的表达式。

## 返回类型
<a name="ST_Boundary-function-return"></a>

`GEOMETRY`

如果 *geom* 为 null，则返回 null。

如果 *geom* 为 `GEOMETRYCOLLECTION`，则返回一个错误。

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

以下 SQL 返回输入多边形的边界，作为多线串。

```
SELECT ST_AsEWKT(ST_Boundary(ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1))')));
```

```
st_asewkt
--------------------
 MULTILINESTRING((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1))
```