ST_PixelData.getValue

Определение

Функция ST_PixelData.getValue возвращает значение отдельного пиксела, получив местоположение пиксела внутри объекта ST_PixelData. Местоположение пиксела может быть выбрано или с помощью координат пиксела, или с помощью географических координат. Функция возвращает ошибку в случае, если выбранное местоположение находится вне измерения пиксела растра, или вне географического экстента. ST_PixelData.getValue возвращает NULL, если значением пиксела в выбранном местоположении является NoData.

Синтаксис

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)

Возвраты

Oracle

Число (Number)

PostgreSQL

Целое

SQL Server

Двойной точности (Double)

Параметры

Параметр

Описание

band

Номер канала пиксела (начиная с 1)

level

Уровень пирамидного слоя пиксела

x

Значение координаты x пиксела

y

Значение координаты y пиксела

точка

Географическая координата пиксела

Примеры

Следующая функция возвращает значение отдельного пиксела, получив местоположение этого пиксела внутри объекта 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);
9/11/2013