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));

3/6/2012