ラスターの指定された位置にあるピクセルをジオメトリオブジェクトに変換します。各ジオメトリオブジェクトは、オブジェクト内の参照位置にある単一のポイントで表現されます。
構文
setof record ST_PixelAsPoints(raster raster_obj,
integer band default 0,
integer pyramid default 0,
boolean exclude_nodata_value default true,
cstring ref_point default 'UPPERLEFT',
out integer rowsn,
out integer columnsn,
out integer bandsn,
out double value,
out geometry geom);パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
raster_obj | raster | — | クエリ対象のラスター。 |
band | integer | 0 | クエリ対象のバンド ID。有効なバンド ID は 0 から始まります。 |
pyramid | integer | 0 | クエリ対象のピラミッドレベル ID。 |
exclude_nodata_value | boolean | true | NoData ピクセルを除外するかどうかを指定します。 |
ref_point | cstring | 'UPPERLEFT' | ジオメトリオブジェクト内でのポイントの参照位置。有効な値は UPPERLEFT (左上隅) と CENTER (センター) です。 |
rowsn | out integer | — | ピクセルの行番号。 |
columnsn | out integer | — | ピクセルの列番号。 |
bandsn | out integer | — | ピクセルのバンド ID。 |
value | out double | — | ピクセル値。 |
geom | out geometry | — | ピクセルの空間範囲。 |
説明
ST_PixelAsPoints は、ラスターの指定された位置にあるピクセルをジオメトリオブジェクトに変換します。各ジオメトリオブジェクトは、ref_point パラメーターに従って、ピクセルジオメトリの左上隅 (UPPERLEFT) またはセンター (CENTER) に配置された単一のポイントで表現されます。
例
次の例では、id = 10 のラスターからバンド 1 のすべてのピクセルを取得し、値が 38.0 より大きいピクセルでフィルター処理を行い、各ピクセルの行、列、バンド、値、ジオメトリを拡張 WKT フォーマットで返します。
WITH tmp AS (
SELECT (ST_PixelAsPoints(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 | 0 | 43 | SRID=4326;POINT(-90 0)