ST_BUFFER
返回一个 GEOMETRY,表示与输入几何对象距离小于或等于指定距离的所有点。结果为 MultiPolygon 或 NULL。
语法
ST_BUFFER(<geometry>, <distance>)
参数
返回类型
Geometry(可为空)。
示例
-- Buffer a point (produces a polygon approximating a circle)
SELECT ST_BUFFER(TO_GEOMETRY('POINT(0 0)'), 1) IS NOT NULL;
┌────────┐
│ result │
├────────┤
│ true │
└────────┘
-- Zero distance on a polygon returns itself as MultiPolygon
SELECT ST_ASWKT(
ST_BUFFER(TO_GEOMETRY('POLYGON((0 0, 4 0, 4 4, 0 4, 0 0))'), 0)
);
┌─────────────────────────────────────────────────┐
│ result │
├─────────────────────────────────────────────────┤
│ MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0))) │
└─────────────────────────────────────────────────┘
-- Zero distance on a point returns NULL
SELECT ST_ASWKT(ST_BUFFER(TO_GEOMETRY('POINT(0 0)'), 0));
┌────────┐
│ result │
├────────┤
│ NULL │
└────────┘
-- SRID is preserved
SELECT ST_SRID(ST_BUFFER(ST_GEOMETRYFROMWKT('POINT(0 0)', 4326), 1));
┌────────┐
│ result │
├────────┤
│ 4326 │
└────────┘