獲得指定的像素值。
文法
setof record ST_PointValues(raster raster_obj, integer column_sn, integer row_sn, boolean exclude_nodata default true, out integer* band, out float8 value);
setof record ST_PointValues(raster raster_obj,float8 x, float8 y, boolean exclude_nodata default true, text options default '{}', out integer band, out float8 value);參數
參數名稱 | 描述 |
raster_obj | 需要裁剪的raster對象。 |
column_sn | 像素所在列號,從左上方點起計算。 |
row_sn | 像素所在行號,從左上方點起計算。 |
x | 像素的經度座標。 |
y | 像素的緯度座標。 |
exclude_nodata | 是否返回Nodata值。 如果為true,且像素值為Nodata,則不返回。 |
band | 像素值所在波段號。 |
value | 像素值。 |
options | JSON字串,用於描述像素重採樣的方式,包含以下選項:
|
傳回值
傳回值 | 描述 |
band | 波段號。 |
value | 像素值。 |
描述
根據行號或列號以及經緯座標獲得所有波段的像素值。
當指定resample參數時,周邊的四個像素值會參與運算:

樣本
SELECT * FROM (SELECT (st_pointValues(rast, 125.84382034243441 , 47.67709555783107, false)).* FROM t_pixel WHERE id = 3) a ORDER BY band;返回結果如下:
band | value ------+------- 0 | 66 1 | 87 2 | 28SELECT * FROM (SELECT (st_pointValues(rast, 125 , 47)).* FROM t_pixel WHERE id = 3) a ORDER BY band;返回結果如下:
band | value ------+------- 0 | 39 1 | 66 2 | 11指定重採樣演算法為idw:
SELECT * FROM (SELECT (st_pointValues(rast, 125.84382034243441 , 47.67709555783107, false, '{"resample" : "idw"}')).* FROM t_pixel WHERE id = 3) a ORDER BY band;返回結果如下:
band | value ------+-------------------- 0 | 60.81401293159196 1 | 85.23822259113626 2 | 26.300926205142165