Name

ST_ConvexHull — 计算几何体的凸包。

Synopsis

geometry ST_ConvexHull(geometry geomA);

描述

计算几何体的凸包。凸包是包含输入中所有几何体的最小凸几何体。

人们可以将凸壳看作是通过将橡皮筋包裹在一组几何图形上而获得的几何图形。这不同于 凹形船体 这类似于对几何图形进行“收缩包装”。凸壳通常用于根据一组点观测来确定受影响的区域。

在一般情况下,凸壳是一个多边形。两个或多个共线点的凸包是两点直线串。一个或多个相同点的凸包称为点。

这不是聚合函数。要计算一组几何图形的凸包,请使用 ST_Collect 要将它们聚合到几何图形集合中(例如 ST_ConvexHull(ST_Collect(geom))

由GEOS模块执行

This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3

This method implements the SQL/MM specification. SQL-MM 3:5.1.16

This function supports 3d and will not drop the z-index.

示例

多线弦和多点的凸包

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)')
            )) );
---st_astext--
POLYGON((50 5,10 8,10 10,100 190,150 30,150 10,50 5))
    

使用WITH ST_COLLECT计算几何集合的凸包。

--Get estimate of infected area based on point observations
SELECT d.disease_type,
    ST_ConvexHull(ST_Collect(d.geom)) As geom
    FROM disease_obs As d
    GROUP BY d.disease_type;

另请参阅

ST_Collect, ST_ConcaveHull, ST_MinimumBoundingCircle