ST_PixelAsPolygons — 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。
setof record ST_PixelAsPolygons(raster rast, integer band=1, boolean exclude_nodata_value=TRUE);
全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値 (倍精度浮動小数点数)とラスタ座標系のXとY (ともに整数)とを付けて返します。
返されるレコードの書式は、geom (geometry型)、val (倍精度浮動小数点数型)、x (整数型)、y (整数型)です。
|
|
|
When |
Availability: 2.0.0
Enhanced: 2.1.0 任意引数exclude_nodata_valueが追加されました。
Changed: 2.1.1 exclude_nodata_valueの挙動を変更しました。
この例ではラスターピクセルのポリゴンを返します。
WITH raster AS (
SELECT ST_SetValue(
ST_SetValue(
ST_AddBand(
ST_MakeEmptyRaster(
2, 2, 0, 0, 0.001, -0.001, 0.001, 0.001, 4269
),
1, '8BUI', 1, 0
),
2, 2, 10
),
1, 1, NULL
) AS rast
), pixels AS (
SELECT (ST_PixelAsPolygons(rast)).*
FROM raster
)
SELECT x, y, val, geom AS geom
FROM pixels
ORDER BY x, y;
x | y | val | geom ---+---+----------------------------------------------------------------------------- 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))