ST_BuildArea — 与えられたジオメトリの構成ラインから面積を持つジオメトリを生成します.
geometry ST_BuildArea(geometry A);
与えられたジオメトリの構成ラインで掲載される,面積を持つジオメトリを生成します. 返り値の型はポリゴンまたはマルチポリゴンで,入力に依存します. 入力ラインがポリゴンを形成しない場合はNULLが返ります. 入力はラインストリング,マルチラインストリング,ポリゴン,マルチポリゴン,ジオメトリコレクションです.
この関数は全ての内部ジオメトリが穴を表現すると仮定します.
初出バージョン: 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;
|