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

ApsaraDB RDS:ST_PixelAsPolygons

最終更新日:Aug 22, 2026

ラスターバンド内の各ピクセルを囲むポリゴンジオメトリを、ピクセル値およびその行と列の座標とともに返します。

同じ値を持つピクセルを 1 つのジオメトリにまとめる ST_DumpAsPolygons とは異なり、ST_PixelAsPolygons はピクセルごとに 1 つのポリゴンを返します。

構文

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);

パラメーター

パラメーター説明
raster_objクエリ対象のラスター。
bandクエリ対象のバンド ID。バンド ID は 0 から始まります。デフォルト: 0
pyramidクエリ対象のピラミッドレベル ID。デフォルト: 0
exclude_nodata_value結果セットから NODATA 値のピクセルを除外するかどうかを指定します。デフォルト: true

出力列

関数から返される各行には、次の列が含まれます:

説明
rowsnintegerピクセルの行番号。
columnsnintegerピクセルの列番号。
bandsnintegerピクセルが属するバンド ID。
valuedoubleピクセル値。
geomgeometryピクセルの空間範囲 (ポリゴン)。

次の例では、rast_table からバンド 1 のピクセルをクエリし、ピクセル値が 38.0 を超える行に結果を絞り込みます。

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;

出力例:

 rowsn | columnsn | bandsn | value |                         st_asewkt
-------+----------+--------+-------+------------------------------------------------------------
   100 |      100 |      1 |    43 | SRID=4326;POLYGON((-180 90,-180 89.1,-179.1 89.1,-179.1 90,-180 90))

関連項目

  • ST_DumpAsPolygons — 同じ値を持つピクセルをグループ化し、ポリゴンジオメトリに結合します

  • ST_PixelAsPolygon — 指定した行と列にある単一ピクセルのポリゴンジオメトリを返します

  • ST_PixelAsPoint — 単一ピクセルのポイントジオメトリを返します

  • ST_PixelAsPoints — バンド内のすべてのピクセルのポイントジオメトリを返します

  • ST_PixelAsCentroid — 単一ピクセルのポリゴンの重心を返します

  • ST_PixelAsCentroids — バンド内のすべてのピクセルの重心ジオメトリを返します