适用于: Databricks SQL
Databricks Runtime 17.1 及更高版本
重要
此功能目前以公共预览版提供。
使用指定的长度比率以 GEOMETRY
形式返回输入 GEOMETRY
的凹包。
Syntax
st_concavehull ( geoExpr, lengthRatioExpr[, allowHolesExpr])
Arguments
-
geoExpr
:一个GEOMETRY
值。 -
lengthRatio
- 介于DOUBLE
和0
(含)之间的1
值,表示用于计算凹体外壳的长度比率。 -
allowHoles
- 一个可选BOOLEAN
值,指示是否允许输出几何图形(如果多边形)有孔。 默认值为 false。
退货
使用指定的长度比率返回 GEOMETRY
,即输入 GEOMETRY
的凹包。 如果第三个参数设置为 true,则生成的几何图形(如果是多边形)可以有孔。
输出 GEOMETRY
的 SRID 值等于输入的 SRID GEOMETRY
值。
如果长度比率不介于 0 和 1(含)之间,则返回错误。
长度比率根据输入点 Delaunay 三角中最短边缘和最长边缘之间的范围确定阈值。 从三角剖分中删除长度超过此阈值的边缘。 其余三角形定义凹凸外壳。
对于面域输入几何图形(多边形或多面体),该算法使用受约束的德劳内三角剖分。 生成的凹凸外壳尊重输入 GEOMETRY
,并包括其原始多边形。
例子
> SELECT st_astext(st_concavehull(st_geomfromtext('MULTIPOINT(0 0,10 0,10 10,0 10,1 1,1 5,1 9,5 1,9 9,9 1,9 5,5 9)'), 1));
POLYGON((0 0,0 10,10 10,10 0,0 0))
> SELECT st_astext(st_concavehull(st_geomfromtext('MULTIPOINT(0 0,10 0,10 10,0 10,1 1,1 5,1 9,5 1,9 9,9 1,9 5,5 9)'), 0.8));
POLYGON((0 0,1 5,0 10,5 9,10 10,9 5,10 0,5 1,0 0))