このトピックでは、ST_PointValues関数について説明します。 この関数は、すべてのバンドのピクセル値を取得するために使用されます。
構文
setof record ST_PointValues(raster raster_obj,
integer column_sn,
integer row_sn,
boolean exclude_nodata default true,
out integer band,
out float8 value);
setof record ST_PointValues(raster raster_obj,
float8 x,
float8 y,
boolean exclude_nodata default true,
out integer band,
out float8 value);
パラメーター
パラメーター | 説明 |
raster_obj | クリップするラスタオブジェクト。 |
column_sn | ピクセルが存在する列の番号。 ピクセル値は、ラスターオブジェクトの左上隅から計算されます。 |
row_sn | ピクセルの行の番号。 ピクセル値は、ラスターオブジェクトの左上隅から計算されます。 |
x | ピクセルのx座標。 |
y | ピクセルのy座標。 |
exclude_nodata | ラスタオブジェクトのNoData値を返すかどうかを指定します。 このパラメーターをtrueに指定し、ピクセル値がNoDataの場合、この関数はラスターオブジェクトのNoData値を返しません。 |
band | ピクセルが存在するバンドの番号。 |
value | ピクセルの値。 |
説明
この関数は、ピクセルが存在する列行の番号とピクセルのx座標とy座標に基づいて、すべてのバンドのピクセル値を返します。
例
select * from
( select (st_pointValues(rast, 125.84382034243441 , 47.67709555783107, false)).*
from t_pixel where id = 3) a
ORDER by band;
band | value
------+-------
0 | 66
1 | 87
2 | 28
select * from
( select (st_pointValues(rast, 125 , 47)).*
from t_pixel where id = 3) a
ORDER by band;
band | value
------+-------
0 | 39
1 | 66
2 | 11