Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_CONVEXHULL

📄字数 541
👁️阅读量 加载中...

功能描述

计算几何图形的凸包。

语法格式

sql
GEOMETRY ST_CONVEXHULL(GEOMETRY geom);

参数说明

  • geom:目标 GEOMETRY 对象;

函数返回类型

GEOMETRY 类型

使用说明

  1. 凸包是包含所有输入几何的最小凸几何体。
  2. 可以将凸包视为通过将橡皮筋缠绕在一组几何图形上而获得的几何图形。 这与凹形外壳不同,凹形外壳类似于收缩包装几何形状。
  3. 凸包通常用于根据一组点观测来确定受影响的区域。
  4. 一般情况下,凸包是多边形。
  5. 两个或多个共线点的凸包是两点线串。
  6. 一个或多个相同点的凸包是一个点。
  7. 这不是聚合函数。 要计算一组几何图形的凸包,请使用 ST_Collect 将它们聚合到几何集合中,例如: ST_ConvexHull(ST_Collect(geom)
  8. 该函数是通过GEOS模块实现的。
  9. 该函数支持 3d 并且不会丢失 z-index。

示例

多线串和多点的凸包:

sql
SQL> SELECT ST_AsText(ST_ConvexHull(
         ST_Collect(
             ST_GeomFromText('MULTILINESTRING((100 190,10 8),(150 10, 20 30))'),
                 ST_GeomFromText('MULTIPOINT(50 5, 150 30, 50 10, 10 10)')
                 )) );

+-------------------------------------------------------+
|                         EXPR1                         |
+-------------------------------------------------------+
| POLYGON((50 5,10 8,10 10,100 190,150 30,150 10,50 5)) |
+-------------------------------------------------------+

(1 row)