ST_BuildArea — 与えられたジオメトリの構成ラインから面ジオメトリを生成します。
geometry ST_BuildArea(
geometry A)
;
与えられたジオメトリの構成ラインから面ジオメトリを生成します。返り値はポリゴンまたはマルチポリゴンで、どちらになるかは入力に依存します。入力構成ラインがポリゴンを形成しない場合はNULLを返します。入力はLINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, GEOMETRYCOLLECTIONにすることができます。
この関数は全ての内部ジオメトリが穴を表現すると仮定します。
この関数が正しく動作するには、入力ラインに正しくノードが作成されている必要があります。 |
初出: 1.1.0 - GEOS 2.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(line,circle)) FROM (SELECT ST_Buffer( ST_MakeLine(ST_MakePoint(10, 10),ST_MakePoint(190, 190)), 5) As line, ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50) As circle) As foo; --this creates the same gaping hole --but using linestrings instead of polygons SELECT ST_BuildArea( ST_Collect(ST_ExteriorRing(line),ST_ExteriorRing(circle)) ) FROM (SELECT ST_Buffer( ST_MakeLine(ST_MakePoint(10, 10),ST_MakePoint(190, 190)) ,5) As line, ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50) As circle) As foo;
|
ST_Node, ST_BdPolyFromText, ST_BdMPolyFromTextwrappers to this function with standard OGC interface