Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回几何值的凸包。
geometry-expression.ST_ConvexHull()
ST_Geometry 如果几何值为 NULL 或空值,则会返回 NULL。否则将返回几何值的凸包。
结果的空间参照系标识符与 geometry-expression 的空间参照系标识符相同。
几何的凸包是包含该几何中的所有点的最小凸起几何。
要直观地理解凸包,可以想象对一根橡皮筋进行拉伸,从而使其围住几何中所有的点。释放后橡皮筋所获得的形状即是凸包的形状。
如果几何由单个点构成,则会返回该点。如果几何的所有点均位于一条直线段上,则会返回线串。否则,将返回一个凸多边形。
凸包可以用作原始几何的近似。测试空间关系时,可以将凸包用作一个快速预过滤器,因为如果凸包之间未发生空间相交,则原始几何也不会相交。
如果 geometry-expression 是空几何 (ST_IsEmpty()=1),则此方法返回 NULL。
包含圆弧线串的几何不支持 ST_ConvexHull。
此方法无法用于球形地球空间参照系中的几何。
SQL/MM (ISO/IEC 13249-3: 2006) 2006) 5.1.16
下面的示例显示了通过 10 个点计算得到的凸包。得到的凸包为结果 [Polygon ((1 1, 7 2, 9 3, 6 9, 4 9, 1 5, 1 1))]。
Polygon ((1 1, 7 2, 9 3, 6 9, 4 9, 1 5, 1 1))
SELECT NEW ST_MultiPoint('MultiPoint( (1 1), (2 2), (5 3), (7 2), (9 3), (8 4), (6 6), (6 9), (4 9), (1 5) )').ST_ConvexHull()
以下示例返回单个点 (0,0)。单个点的凸包为点。
SELECT NEW ST_Point(0,0).ST_ConvexHull()
以下示例返回结果 [LineString (0 0, 3 3)]。一条单个直线的凸包为包含单个线段的线串。
LineString (0 0, 3 3)
SELECT NEW ST_LineString('LineString(0 0,1 1,2 2,3 3)').ST_ConvexHull()