ST_Raster.getValue

定義

ST_Raster.getValue 関数は、ST_Raster オブジェクト内に位置を指定した単一ピクセルの値を返します。位置は、ピクセル座標と地理座標のどちらかで指定できます。指定した位置がラスタ ピクセルのディメンションまたは地理範囲の外にある場合、関数は常にエラーを返します。指定した位置のピクセル値が NoData である場合、ST_Raster.getValue は NULL を返します。

構文

Oracle

getValue (band INTEGER, 
          level INTEGER, 
          x INTEGER, 
          y INTEGER)

getValue (band INTEGER, 
          level INTEGER, 
          point SE_COORD)

PostgreSQL

getValue (raster IN ST_RASTER, 
          band INT, 
          level INT, 
          x INT, 
          y INT)

getValue (raster IN ST_RASTER, 
          band INT, 
          level INT, 
          point SE_COORD)

SQL Server

getValue (band IN NUMBER, 
          level IN NUMBER, 
          x IN NUMBER, 
          y IN NUMBER)

getValueByLoc (band IN NUMBER, 
               level IN NUMBER, 
               x IN DOUBLE, 
               y IN DOUBLE)

戻り値

Oracle

Number

PostgreSQL

Float8

SQL Server

Double

パラメータ

パラメータ

説明

band

ピクセルの(1 から始まる)バンド数

level

ピクセルのピラミッド レベル

x

X ピクセル座標

y

Y ピクセル座標

point

ピクセルの地理座標

raster

ピクセル値を含む ST_Raster オブジェクト

1 つめの例は、ピクセル位置(0,0)にあるベース ピラミッド レベルのピクセルについて、バンド 1、2、および 3 の値を返します。

2 つめの例は、地理座標(100.5, 20.5)にあるベース ピラミッド レベルのピクセルについて、バンド 1、2、および 3 の値を返します。

Oracle

  1. SELECT t.image.getValue(1,0,0,0) r,
           t.image.getValue(2,0,0,0) g,
           t.image.getValue(3,0,0,0) b
    FROM VEG t 
    WHERE t.image.raster_id = 1;
    
             R          G          B
    ---------- ---------- ----------
            83         49        173
  2. SELECT t.image.getValue(1,0,se_coord(100.5,20.5)) r,
           t.image.getValue(2,0,se_coord(100.5,20.5)) g,
           t.image.getValue(3,0,se_coord(100.5,20.5)) b
    FROM VEG t
    WHERE t.image.raster_id = 1;
    
             R          G          B
    ---------- ---------- ----------
            83         49        173

PostgreSQL

  1. SELECT getValue(image,1,0,0,0) r,
           getValue(image,2,0,0,0) g,
           getValue(image,3,0,0,0) b
    FROM veg 
    WHERE raster_id(image) = 1;
    
             R          G          B
    ---------- ---------- ----------
            83         49        173
  2. SELECT getValue(image,1,0,se_coord(100.5,20.5)) r,
           getValue(image,2,0,se_coord(100.5,20.5)) g,
           getValue(image,3,0,se_coord(100.5,20.5)) b
    FROM veg 
    WHERE raster_id(image) = 1;
    
             R          G          B
    ---------- ---------- ----------
            83         49        173

SQL Server

  1. SELECT image.getValue(1,0,0,0) r,
           image.getValue(2,0,0,0) g,
           image.getValue(3,0,0,0) b
    FROM veg 
    WHERE image.raster_id = 1;
    
             R          G          B
    ---------- ---------- ----------
            83         49        173
  2. SELECT getValueByLoc(image,1,0,100.5,20.5) as r,
           getValueByLoc(image,2,0,100.5,20.5) as g,
           getValueByLoc(image,3,0,100.5,20.5) as b
    FROM veg
    WHERE image.raster_id = 1;
    
            R          G          B
    ---------- ---------- ----------
            83         49        173

7/10/2012