ST_Polygonize — 集計関数。ジオメトリの集合のラインから形成されうるポリゴンを含むジオメトリコレクションを生成します。
geometry ST_Polygonize(
geometry set geomfield)
;
geometry ST_Polygonize(
geometry[] geom_array)
;
ジオメトリの集合のラインから形成された可能なポリゴンを含むジオメトリコレクションを生成します。
ジオメトリコレクションはしばしばサードパーティのツールでは扱いにくいことがあります。ST_PolygonizeをST_Dumpと併用して、ポリゴンを個々のポリゴンにダンプします。 |
この関数が正しく動作するには、入力ラインに正しくノードが作成されている必要があります。 |
初出: 1.0.0RC1 - GEOS 2.1.0が必要です。
SELECT ST_AsEWKT(ST_Polygonize(the_geom_4269)) As geomtextrep FROM (SELECT the_geom_4269 FROM ma.suffolk_edges ORDER BY tlid LIMIT 45) As foo; geomtextrep ------------------------------------- SRID=4269;GEOMETRYCOLLECTION(POLYGON((-71.040878 42.285678,-71.040943 42.2856,-71.04096 42.285752,-71.040878 42.285678)), POLYGON((-71.17166 42.353675,-71.172026 42.354044,-71.17239 42.354358,-71.171794 42.354971,-71.170511 42.354855, -71.17112 42.354238,-71.17166 42.353675))) (1 row) -- ポリゴン化ジオメトリを個々のポリゴンにダンプするためST_Dumpを使います SELECT ST_AsEWKT((ST_Dump(foofoo.polycoll)).geom) As geomtextrep FROM (SELECT ST_Polygonize(the_geom_4269) As polycoll FROM (SELECT the_geom_4269 FROM ma.suffolk_edges ORDER BY tlid LIMIT 45) As foo) As foofoo; geomtextrep ------------------------ SRID=4269;POLYGON((-71.040878 42.285678,-71.040943 42.2856,-71.04096 42.285752, -71.040878 42.285678)) SRID=4269;POLYGON((-71.17166 42.353675,-71.172026 42.354044,-71.17239 42.354358 ,-71.171794 42.354971,-71.170511 42.354855,-71.17112 42.354238,-71.17166 42.353675)) (2 rows)