ST_PixelData.setValue
Definición
La función ST_PixelData.setValue cambia el valor de un único píxel dado que la ubicación de píxel se encuentra dentro del objeto ST_PixelData y el nuevo valor. La ubicación se puede especificar en coordenadas de píxel o mediante coordenadas geográficas.
La función muestra un error cuando la ubicación especificada se encuentra fuera de la dimensión del píxel de ráster o de la extensión geográfica. ST_PixelData.SetValue establece el píxel en NoData si el valor es NULL.
Sintaxis
Oracle
setValue (band INTEGER, x INTEGER, y INTEGER, value NUMBER) setValue (band INTEGER, point SE_COORD, value NUMBER)
PostgreSQL
setValue (data IN ST_PixelData, band IN INT, x IN INT, y IN INT, value IN NUMBER) setValue (data IN ST_PixelData, band IN INT, point IN SE_COORD, value IN NUMBER)
SQL Server
setValue (band IN INTEGER, x IN INTEGER, y IN INTEGER, value IN NUMBER) setValueByLoc (band IN INTEGER, x IN DOUBLE, y IN DOUBLE, value IN NUMBER)
Devuelve
Ninguno
Parámetros
Parámetro | Descripción |
---|---|
data | Denota el objeto ST_PixelData a modificar |
band | Número de banda (a partir de 1) del píxel |
x | Coordenada de píxel x |
y | Coordenada de píxel y |
point | Coordenadas geográficas del píxel |
value | El valor de píxel debe estar dentro del rango permitido especificado por la profundidad de píxel del tipo ST_PixelData |
Ejemplos
El siguiente ejemplo establece el valor de un único píxel dado que la ubicación de píxel se encuentra dentro del objeto ST_PixelData.
Oracle
DECLARE p sde.ST_PixelData := sde.ST_PixelData(256, 256, 1, 'pixelType=uint8'); BEGIN p.setValue(1, 0, 0, 100); p.setValue(1, 0, 1, 101); p.setExtent(SE_EXTENT(0,0,20,20)); INSERT INTO FOO VALUES (p); END;
PostgreSQL
CREATE OR REPLACE FUNCTION set_pixel_value() RETURNS integer AS ' DECLARE p sde.ST_PIXELDATA := st_pixeldata(256, 256, 1, ''pixelType=uint8''); BEGIN setValue(p, 1, 0, 0, 100); setValue(p, 1, 0, 1, 101); setExtent(p, SDE.SE_EXTENT(0,0,20,20)); INSERT INTO foo VALUES (ST_RASTER(p)); END; ' LANGUAGE plpgsql; SELECT set_pixel_data(); DROP FUNCTION IF EXISTS set_pixel_data();
SQL Server
DECLARE @p ST_Pixeldata; SET @p = ST_Pixeldata::construct(256, 256, 1, 'pixelType=uint8'); SELECT @p = @p.setValue(1, 0, 0, 100); SELECT @p = @p.setValue(1, 0, 1, 101); SELECT @p = @p.setExtent(0,0,20,20); INSERT INTO foo VALUES (ST_Raster::construct(NULL,@p,NULL));