このトピックでは、ST_SetValue関数について説明します。 この関数は、ジオメトリまたはラスターの行と列に基づいてピクセル値を変更します。
構文
raster ST_SetValue(raster raster_obj,
integer row,
integer column,
double value,
integer band);
raster ST_SetValue(raster raster_obj,
geometry geom,
double value,
integer band default 0,
boolean rebuild_pyd default true,
cstring setvalueOptions default '');パラメーター
パラメーター | 説明 |
raster_obj | 指定されたラスタオブジェクト。 |
ow | 変更されるピクセル値の行番号。 |
column | 変更されるピクセル値の列番号。 |
value | 新しいピクセル値。 |
band | 変更されるピクセル値のバンド番号。 |
rebuild_pyd | ピラミッドを再構築するかどうかを指定します。 |
setvalueOptions | ピクセル値の変更オプション。 このパラメーターの値はJSON文字列です。 詳細については、「setvalueOptionsパラメーターのフィールド」をご参照ください。 |
表1. setvalueOptionsパラメーターのフィールド
フィールド | データ型 | デフォルト値 | 説明 |
window_clip | bool | false | ジオメトリーオブジェクトのバウンディングボックスを使用してラスターオブジェクトをクリップするかどうかを指定します。
|
rast_coord | bool | false | 入力ジオメトリがピクセル座標を使用するかどうかを指定します。
|
例
select st_value(rast, 0, 2, 1) from raster_table order by id;
update raster_table set rast=st_setvalue(rast, ST_geomfromtext('MULTIPOINT(0 0, 2 2, 10 10)', 4326),250.0, 0, true);
update raster_table set rast=st_setvalue(rast, ST_geomfromtext('LINESTRING(211 77, 233 100)', 4326), 10.0, 0, false, '{"rast_coord":true}');