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