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

PolarDB:ST_PixelAsCentroids

最終更新日:Mar 29, 2026

ラスター内の各ピクセルの重心をポイントジオメトリとして、ピクセルの行、列、バンド、および値とともに返します。

構文

setof record ST_PixelAsCentroids(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は0から始まります。
pyramidクエリ対象のピラミッドレベル。
exclude_nodata_valueNoData ピクセルを除外するかどうかを指定します。デフォルト: true
rowsn(出力) ピクセルの行番号。
columnsn(出力) ピクセルの列番号。
bandsn(出力) ピクセルのバンドID。
value(出力) ピクセル値。
geom(出力) ピクセルの中心点。ポイントジオメトリとして返されます。

説明

返される各レコードには (rowsn, columnsn, bandsn, value, geom) が含まれます。ここで、geom はピクセルの中心にあるポイントジオメトリです。

exclude_nodata_valuetrue の場合、NoData 値を持つピクセルは結果から除外されます。クエリが期待よりも少ない行を返す場合は、NoData ピクセルがフィルターで除外されていないか確認してください。

この関数は、ref_pointCENTER に設定されている場合、ST_PixelAsPoints と同じ結果を生成します。

次のクエリは、id = 10 を持つラスターのバンド1からピクセルを取得し、その後、38.0 を超える値を持つピクセルにフィルターをかけます。

WITH tmp AS (
SELECT (ST_PixelAsCentroids(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;POINT(-89.5 0.5)

関連項目

  • ST_PixelAsPoints: 設定可能な参照点を使用してピクセルジオメトリを返します (ref_pointCENTER に設定すると同等の結果が得られます)。