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

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