全部產品
Search
文件中心

PolarDB:ST_SetValue

更新時間:Sep 02, 2026

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

文法

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字串表示的像素值更改選項,具體參數說明請參見setvalueOptions參數說明。

表 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}');