名前

ST_BuildArea — 与えられたジオメトリの構成ラインから面ジオメトリを生成します。

概要

geometry ST_BuildArea(geometry geom);

説明

与えられたジオメトリの構成ラインから面ジオメトリを生成します。入力としてLINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, GEOMETRYCOLLECTIONを取ることができます。返り値は、ポリゴンまたはマルチポリゴンで、どちらになるかは入力に依存します。入力構成ラインがポリゴンを形成しない場合はNULLを返します。

この関数は全ての内部ジオメトリが穴を表現すると仮定します。

[注記]

この関数が正しく動作するには、入力ラインに正しくノードが作成されている必要があります。

Availability: 1.1.0

ドーナツを生成します。

-- ポリゴンを使用
SELECT ST_BuildArea(ST_Collect(smallc,bigc))
FROM (SELECT
    ST_Buffer(
      ST_GeomFromText('POINT(100 90)'), 25) As smallc,
    ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50) As bigc) As foo;
                

-- ラインストリングを使用
SELECT ST_BuildArea(ST_Collect(smallc,bigc))
FROM (SELECT
    ST_ExteriorRing(ST_Buffer(
      ST_GeomFromText('POINT(100 90)'), 25)) As smallc,
    ST_ExteriorRing(ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50)) As bigc) As foo;

関連情報

ST_Node, ST_MakePolygon, ST_MakeValid, ST_BdPolyFromText, ST_BdMPolyFromText (wrappers to this function with standard OGC interface)