ST_Raster.getValue
定义
在给定了像素在 ST_Raster 对象中的具体位置的情况下,ST_Raster.getValue 函数将返回单个像素的值。位置可以像素坐标或地理坐标的形式指定。如果指定的位置超出了栅格像素尺寸或地理范围,该函数会返回错误。如果指定位置的像素值为 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
数值
PostgreSQL
Float8
SQL Server
双精度
参数
参数 | 描述 |
---|---|
band | 像素的波段数(从 1 开始) |
level | 像素的金字塔等级 |
x | x 像素坐标 |
y | y 像素坐标 |
point | 像素的地理坐标 |
raster | 包含像素值的 ST_Raster 对象 |
示例
第一个示例用于返回在像素位置 (0,0) 处基础金字塔等级的波段 1、2 和 3 的像素值。
第二个示例用于返回在地理位置 (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