すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_PixelAsPolygons

最終更新日:Mar 29, 2026

ラスターバンド内のすべてのピクセルを、各ピクセルの行番号、列番号、バンド ID、および画素値とともにポリゴンジオメトリとして返します。

構文

setof record ST_PixelAsPolygons(raster raster_obj,
    integer band default  0,
    integer pyramid default 0,
    boolean exclude_nodata_value default true,
    out integer rowsn,
    out integer columnsn,
    out integer bandsn,
    out double value,
    out geometry geom);

返される各レコードは、以下の形式です:rowsn(整数)、columnsn(整数)、bandsn(整数)、value(倍精度浮動小数点数)、geom(ジオメトリ)。

exclude_nodata_valuetrue(デフォルト)の場合、NoData 値を持つピクセルは結果から除外されます。false を指定すると、値に関係なくすべてのピクセルが含まれます。

パラメーター

パラメーター説明
raster_objクエリ対象のラスターです。
bandクエリ対象のバンド ID です。有効なバンド ID は 0 から始まります。デフォルト値: 0
pyramidクエリ対象のピラミッドレベル ID です。デフォルト値: 0
exclude_nodata_valueNoData ピクセルを結果から除外するかどうかを指定します。デフォルト値: true
rowsn出力パラメーターです。ピクセルの行番号です。
columnsn出力パラメーターです。ピクセルの列番号です。
bandsn出力パラメーターです。ピクセルのバンド ID です。
value出力パラメーターです。ピクセルの画素値です。
geom出力パラメーターです。ピクセルの空間範囲を表すポリゴンジオメトリです。

使用例

以下の例では、1 バンドのラスター(id = 10)からピクセルを取得し、画素値が 38.0 より大きいピクセルのみをフィルターで抽出しています。(ST_PixelAsPolygons(...)).* の構文により、返されたレコードが個別のカラムに展開されます。

WITH tmp AS (
  SELECT (ST_PixelAsPolygons(rast, 1)).*
  FROM rast_table
  WHERE id = 10
)
SELECT rowsn, columnsn, bandsn, value, ST_AsEWKT(geom)
FROM tmp
WHERE value > 38.0;

出力:

    100 |      100 |      0 |    43 | SRID=4326;POLYGON((-180 90,-180 89.1,-179.1 89.1,-179.1 90,-180 90))