根據指定像素位置或空間范圍更改像素值。

語法

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 目標raster對象。
row 被更改像素值所在的行號。
column 被更改像素值所在的列號。
value 需要更改新像素值。
band 被更改像素值波段號。
rebuild_pyd 是否重建金字塔。
setvalueOptions json字符串表示的像素值更改選項,具體參數說明請參見表 1
表 1. setvalueOptions參數說明
參數名稱 類型 默認值 說明
window_clip bool false 是否使用geometry的外包框進行裁剪。
  • true:使用geometry的MBR作為更改像素值區域。
  • false:使用geometry對象作為更改像素值區域。
rast_coord bool false 傳入的geometry是否使用的是象元坐標。
  • true:使用象元坐標,橫坐標x表示象元的列號(起始為0),縱坐標y表示象元的行號(起始為0)。
  • 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}');