Define o valor do pixel de um objeto raster em uma localização específica, identificada por linha e coluna ou por uma forma geométrica.
Sintaxe
Sobrecarga 1: definição por linha e coluna
raster ST_SetValue(raster raster_obj,
integer row,
integer column,
double value,
integer band);
Sobrecarga 2: definição por geometria
raster ST_SetValue(raster raster_obj,
geometry geom,
double value,
integer band default 0,
boolean rebuild_pyd default true,
cstring setvalueOptions default '');
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
|
raster |
Objeto raster a atualizar. |
|
|
integer |
Número da linha do pixel a atualizar. |
|
|
integer |
Número da coluna do pixel a atualizar. |
|
|
double |
Novo valor do pixel. |
|
|
integer |
Número da banda do pixel a atualizar. |
|
|
geometry |
Geometria que define a região de atualização dos valores dos pixels. |
|
|
boolean |
Indica se a pirâmide será reconstruída após a atualização dos valores dos pixels. |
|
|
cstring |
Opções adicionais para a operação de atualização, fornecidas como string JSON. Consulte a tabela a seguir para ver os campos compatíveis. |
Campos de setvalueOptions
|
Campo |
Tipo |
Padrão |
Descrição |
|
|
bool |
false |
Defina se a caixa delimitadora do objeto geométrico será usada como região de atualização. |
|
|
bool |
false |
Especifica se a geometria de entrada usa coordenadas de pixel. |
Exemplos
Leia o valor do pixel na linha 0, coluna 2, banda 1:
SELECT ST_Value(rast, 0, 2, 1) FROM raster_table ORDER BY id;
Defina os valores dos pixels como 250.0 nas localizações definidas por uma geometria MULTIPOINT na banda 0, com reconstrução de pirâmide ativada:
UPDATE raster_table
SET rast = ST_SetValue(rast, ST_GeomFromText('MULTIPOINT(0 0, 2 2, 10 10)', 4326), 250.0, 0, true);
Atribua o valor 10.0 aos pixels ao longo de uma LINESTRING usando coordenadas de pixel (rast_coord: true), sem reconstruir a pirâmide:
UPDATE raster_table
SET rast = ST_SetValue(rast, ST_GeomFromText('LINESTRING(211 77, 233 100)', 4326), 10.0, 0, false, '{"rast_coord":true}');