ST_ConvexHull - Amazon Redshift

ST_ConvexHull

ST_ConvexHull 返回一个几何体,该几何体表示输入几何体中包含的非空点的凸包。

对于空输入,生成的几何体与输入几何体相同。对于所有非空输入,该函数在输入几何体的 2D 投影上运行。但是,输出几何体的维度取决于输入几何体的维度。更具体地说,当输入几何体为非空 3DM 或 3D 几何体时,m 坐标将被删除。也就是说,返回的几何体的维度分别为 2D 或 3DZ。如果输入为非空 2D 或 3DZ 几何体,则生成的几何体具有相同的维度。

语法

ST_ConvexHull(geom)

参数

geom

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

返回类型

GEOMETRY

返回的几何体的空间参考系统标识符 (SRID) 值是输入几何体的 SRID 值。

如果 geom 为 null,则返回 null。

返回的值如下所示。

凸包上的点数 几何体子类型

0

返回 geom 的副本。

1

返回子类型 POINT

2

返回子类型 LINESTRING。返回线串的两个点按字典顺序排序。

3 或更大

返回不具有内环的 POLYGON 子类型。面是顺时针方向的,外环的第一个点是按字典顺序排列的环的最小点。

示例

以下 SQL 返回线串的扩展已知文本 (EWKT) 表示形式。在本例中,返回的凸包是面。

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 0,0 1,1 1,0.5 0.5)'))) as output;
output ------------- POLYGON((0 0,0 1,1 1,1 0,0 0))

以下 SQL 返回线串的 EWKT 表示形式。在本例中,返回的凸包是线串。

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('LINESTRING(0 0,1 1,0.2 0.2,0.6 0.6,0.5 0.5)'))) as output;
output ------------- LINESTRING(0 0,1 1)

以下 SQL 返回多点的 EWKT 表示形式。在本例中,返回的凸包是点。

SELECT ST_AsEWKT(ST_ConvexHull(ST_GeomFromText('MULTIPOINT(0 0,0 0,0 0)'))) as output;
output ------------- POINT(0 0)