ST_PixelData.getValue
定義
ST_PixelData.getValue 関数は、ST_PixelData オブジェクト内に位置を指定した単一ピクセルの値を返します。位置は、ピクセル座標と地理座標のどちらかで指定できます。指定した位置がラスタ ピクセルのディメンションまたは地理範囲の外にある場合、関数は常にエラーを返します。指定した位置のピクセル値が NoData である場合、ST_PixelData.getValue は NULL を返します。
構文
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
Integer
SQL Server
Double
パラメータ
パラメータ  | 説明  | 
|---|---|
band  | ピクセルの(1 から始まる)バンド数  | 
level  | ピクセルのピラミッド レベル  | 
x  | X ピクセル座標  | 
y  | Y ピクセル座標  | 
point  | ピクセルの地理座標  | 
例
次の例は、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);
3/6/2012