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 |
返回子类型 |
2 |
返回子类型 |
3 或更大 |
返回不具有内环的 |
示例
以下 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)