ST_BUFFER
入力ジオメトリからの距離が指定した距離以下であるすべての点を表す GEOMETRY を返します。結果は MultiPolygon または NULL です。
構文
ST_BUFFER(<geometry>, <distance>)
引数
戻り値の型
Geometry(NULL 可)。
例
-- 点をバッファする(円を近似するポリゴンを生成)
SELECT ST_BUFFER(TO_GEOMETRY('POINT(0 0)'), 1) IS NOT NULL;
┌────────┐
│ result │
├────────┤
│ true │
└────────┘
-- ポリゴンに対する距離 0 は、それ自身を 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))) │
└─────────────────────────────────────────────────┘
-- 点に対する距離 0 は NULL を返す
SELECT ST_ASWKT(ST_BUFFER(TO_GEOMETRY('POINT(0 0)'), 0));
┌────────┐
│ result │
├────────┤
│ NULL │
└────────┘
-- SRID は保持される
SELECT ST_SRID(ST_BUFFER(ST_GEOMETRYFROMWKT('POINT(0 0)', 4326), 1));
┌────────┐
│ result │
├────────┤
│ 4326 │
└────────┘