名前

ST_DumpAsPolygons — 指定されたラスタバンドからgeomval(geom,val)行の集合を返します。バンドを指定しない場合のデフォルトは1です。

概要

setof geomval ST_DumpAsPolygons(raster rast, integer band_num=1, boolean exclude_nodata_value=TRUE);

説明

集合を返す関数(SRF=set-returning function)です。geomval行の集合を返します。geomvalはジオメトリ(geom)とピクセルバンド値(val)からなります。それぞれポリゴンは、指定したバンドの、valで示される値と同じピクセル値を持っている全てのピクセルの結合です。

ST_DumpAsPolygonはラスタのポリゴン化に使えます。新しい行を生成するのでGROUP BYの逆です。たとえば、単一ラスタを複数のPOLYGON/MULTIPOLYGONに展開できます。

初出: GDAL 1.7以上が必要です。

[注記]

バンドにNODATA値が設定されている場合には、NODATA値を持つピクセルは返りません。

[注記]

ラスタ内の与えられた値を持つピクセルの数にのみ注意する場合には、ST_ValueCountを使う方が速いです。

[注記]

これは、ピクセル値にかかわらずピクセルごとにひとつのジオメトリを返すST_PixelAsPolygonsと違います。

SELECT val, ST_AsText(geom) As geomwkt
FROM (
SELECT (ST_DumpAsPolygons(rast)).*
FROM dummy_rast 
WHERE rid = 2
) As foo
WHERE val BETWEEN 249 and 251
ORDER BY val;

 val |                                                       geomwkt
-----+--------------------------------------------------------------------------
 249 | POLYGON((3427927.95 5793243.95,3427927.95 5793243.85,3427928 5793243.85,
                 3427928 5793243.95,3427927.95 5793243.95))
 250 | POLYGON((3427927.75 5793243.9,3427927.75 5793243.85,3427927.8 5793243.85,
                 3427927.8 5793243.9,3427927.75 5793243.9))
 250 | POLYGON((3427927.8 5793243.8,3427927.8 5793243.75,3427927.85 5793243.75,
                 3427927.85 5793243.8, 3427927.8 5793243.8))
 251 | POLYGON((3427927.75 5793243.85,3427927.75 5793243.8,3427927.8 5793243.8,
                 3427927.8 5793243.85,3427927.75 5793243.85))
                                        

関連情報

geomval, ST_Value, ST_Polygon, ST_ValueCount