名前

ST_PixelAsPolygons — 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。

概要

setof record ST_PixelAsPolygons(raster rast, integer band=1, boolean exclude_nodata_value=TRUE);

説明

全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値(倍精度浮動小数点数)とラスタ座標系のXとY(ともに整数)とを付けて返します。

[注記]

ST_PixelAsPolygonsは、ピクセルごとにひとつのポリゴンジオメトリを返します。ST_DumpAsPolygonsとは、ひとつのジオメトリに対して、同じ値となるひとつ以上のピクセルを表現する点で違います。

[注記]

exclude_nodata_valueがTRUEの場合には、値がNODATAでないピクセルがポリゴンとして返ります。

初出: 2.0.0

機能拡張: 2.1.0 任意引数exclude_nodata_valueが追加されました。

変更: 2.1.1 exclude_nodata_valueの振る舞いを変更しました。

-- ラスタピクセルのポリゴンを得ます
SELECT (gv).x, (gv).y, (gv).val, ST_AsText((gv).geom) geom
FROM (SELECT ST_PixelAsPolygons(
                 ST_SetValue(ST_SetValue(ST_AddBand(ST_MakeEmptyRaster(2, 2, 0, 0, 0.001, -0.001, 0.001, 0.001, 4269), 
                                                    '8BUI'::text, 1, 0), 
                                         2, 2, 10), 
                             1, 1, NULL)
) gv 
) foo;

 x | y | val |                geom
---+---+-----------------------------------------------------------------------------
 1 | 1 |     | POLYGON((0 0,0.001 0.001,0.002 0,0.001 -0.001,0 0))
 1 | 2 |   1 | POLYGON((0.001 -0.001,0.002 0,0.003 -0.001,0.002 -0.002,0.001 -0.001))
 2 | 1 |   1 | POLYGON((0.001 0.001,0.002 0.002,0.003 0.001,0.002 0,0.001 0.001))
 2 | 2 |  10 | POLYGON((0.002 0,0.003 0.001,0.004 0,0.003 -0.001,0.002 0))
  

関連情報

ST_DumpAsPolygons, ST_PixelAsPolygon, ST_PixelAsPoint, ST_PixelAsPoints, ST_PixelAsCentroid, ST_PixelAsCentroids, ST_AsText