ST_PixelData.getValue
Definición
La función ST_PixelData.getValue devuelve el valor de un único píxel dado que la ubicación de píxel se encuentra dentro del objeto ST_PixelData. 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.GetValue devuelve NULL si el valor de píxel en la ubicación especificada es NoData.
Sintaxis
Oracle
getValue (band INTEGER, level INTEGER, x INTEGER, y INTEGER) getValue (band INTEGER, level INTEGER, point SE_COORD)
PostgreSQL
getValue (data IN ST_PIXELDATA, band IN INT, x IN INT, y IN INT) getValue (data IN ST_PIXELDATA, band IN INT, point IN SE_COORD)
SQL Server
getValue (band IN INT, x IN INT, y IN INT) getValueByLoc (band IN INT, x IN double, y IN double)
Devuelve
Oracle
Número
PostgreSQL
Entero
SQL Server
Doble
Parámetros
Parámetro | Descripción |
---|---|
band | Número de banda (a partir de 1) del píxel |
level | Nivel de pirámide del píxel |
x | Coordenada de píxel x |
y | Coordenada de píxel y |
point | Coordenadas geográficas del píxel |
Ejemplos
El siguiente ejemplo devuelve el valor de un único píxel dado que la ubicación de dicho píxel se encuentra dentro del objeto ST_PixelData.
Oracle
DECLARE p sde.ST_PixelData; pixelvalue NUMBER; BEGIN SELECT image.getPixelData() INTO p FROM MOAB; pixelvalue := p.getvalue(1,0,1,1); pixelvalue := p.getvalue(1,0,SE_COORD(34.057, 117.171)); END; /
PostgreSQL
CREATE OR REPLACE FUNCTION get_pixel_value() RETURNS integer AS ' DECLARE p ST_PIXELDATA; pixelvalue NUMBER; BEGIN SELECT getPixelData(image) INTO p FROM moab; pixelvalue := getvalue(p,1,1,1); pixelvalue := getvalue(p,1,SE_COORD(34.057, 117.171)); END;' LANGUAGE plpgsql; SELECT get_pixel_data(); DROP FUNCTION IF EXISTS get_pixel_data();
SQL Server
DECLARE @p ST_Pixeldata; @pixelvalue double; SET @p = (SELECT image.getPixelData() FROM moab ); SET @pixelvalue = @p.getValue(1,1,1); SET @pixelvalue = @p.getValueByLoc(1, 34.057, 117.171);