ST_Boundary - Amazon Redshift

ST_Boundary

ST_Boundary 返回输入几何体的边界,如下所示:

  • 如果输入几何体为空(即,它不包含点),则按原样返回。

  • 如果输入几何是点或非空多点,则返回空几何体集合。

  • 如果输入是线串或多线串,则返回包含边界上所有点的多点。多点可能为空)。

  • 如果输入是一个没有任何内环的面,则返回一个表示其边界的闭合线串。

  • 如果输入是具有内环的面,或者是多面,则返回多线串。多线串包含平面几何体中所有环的所有边界,作为闭合线串。

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

语法

ST_Boundary(geom)

参数

geom

一个 GEOMETRY 数据类型的值,或一个计算结果为 GEOMETRY 类型的表达式。

返回类型

GEOMETRY

如果 geom 为 null,则返回 null。

如果 geomGEOMETRYCOLLECTION,则返回一个错误。

示例

以下 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))