根据指定像素位置或空间范围更改像素值。
语法
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}');