全部產品
Search
文件中心

ApsaraDB RDS:ST_SetValue

更新時間:Jun 19, 2024

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

文法

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是否重建金字塔。
setvalueOptionsjson字串表示的像素值更改選項,具體參數說明請參見setvalueOptions參數說明
表 1. setvalueOptions參數說明
參數名稱類型預設值說明
window_clipboolfalse是否使用geometry的外包框進行裁剪。
  • true:使用geometry的MBR作為更改像素值地區。
  • false:使用geometry對象作為更改像素值地區。
rast_coordboolfalse傳入的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}');