ST_ConvexHull — 计算几何体的凸包。
geometry ST_ConvexHull(
geometry geomA)
;
计算几何体的凸包。凸包是包围输入中所有几何体的最小凸几何体。
可以将凸包想象成用橡皮筋包裹一组几何体所获得的几何体。这与凹包不同,后者类似于几何体的“收缩包装”。凸包通常用于基于一组点观测确定受影响的区域。
在一般情况下,凸包是一个多边形。两个或多个共线点的凸包是一个两点线串。一个或多个相同点的凸包是一个点。
这不是一个聚合函数。要计算一组几何体的凸包,请使用ST_Collect 将它们聚合为一个几何体集合(例如,ST_ConvexHull(ST_Collect(geom))
)。
由GEOS模块执行
此方法实现了 OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3
此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3: 5.1.16
此函数支持 3D,并且不会丢弃 z 索引。
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))
与 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;