适用于: Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
使用指定的半径返回输入 GEOMETRY
的缓冲区。
Syntax
st_buffer ( geoExpr, radiusExpr )
Arguments
-
geoExpr
:一个GEOMETRY
值。 -
radiusExpr
:DOUBLE
的值作为缓冲半径。 半径的单位是几何图形的坐标引用系统的单位。
Returns
使用指定的半径返回输入 GEOMETRY
的缓冲区。
缓冲区是该几何图形与一个磁盘的 Minkowski 总和(如果半径为非负)或 Minkowski 差(如果半径为负),其中磁盘的半径为给定半径 radiusExpr
。 结果的边界从理论上讲,由圆或圆弧组成。 在这里,我们将用折线来近似这些弧线,并将结果作为几何图形值返回。
结果始终为 2D 多边形或多多边形(输入中的 Z 和 M 坐标已删除)。
Examples
-- Expands a point into a circle-like polygon with a 1-unit radius.
> SELECT st_astext(st_envelope(st_buffer(st_geomfromtext('POINT(0 0)'), 1)));
POLYGON((-1 -1,-1 1,1 1,1 -1,-1 -1))
-- Shrinks a small polygon so much that nothing is left
> SELECT st_astext(st_buffer(st_geomfromtext('POLYGON((0 0,2 0,2 2,0 2,0 0))'), -5))
POLYGON EMPTY