st_buffer 函数

适用于:已勾选“是”的 Databricks Runtime 17.1 及更高版本

Important

此功能目前以公共预览版提供。

使用指定的半径返回输入 GEOMETRY 的缓冲区。

Syntax

st_buffer ( geoExpr, radiusExpr )

Arguments

  • geoExpr:一个 GEOMETRY 值。
  • radiusExprDOUBLE 的值作为缓冲半径。 半径的单位是几何图形的坐标引用系统的单位。

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