获得指定波段的像素值。

语法

float8 ST_Value(raster raster_obj,
        integer band,
        integer column_sn,
        integer row_sn,
        boolean exclude_nodata default true);
float8 ST_Value(raster raster_obj,
        integer band,
        float8  x,
        float8  y,
        boolean exclude_nodata default true);

参数

参数名称

描述

raster_obj

需要裁剪的raster对象。

band

像素值所在波段号,以0开始。

column_sn

像素所在列号,从左上角点起计算。

row_sn

像素所在行号,从左上角点起计算。

x

像素的经度坐标。

y

像素的纬度坐标。

exclude_nodata

是否返回Nodata值。

如果为true,且像素值为Nodata,则返回NULL。

描述

根据行号或列号以及经纬坐标获得指定波段的像素值。

示例

SELECT ST_VALUE(rast_obj, 0, 10, 20)
FROM raster_table
WHERE id = 1;

---------
169

SELECT ST_Value(rast_obj, 0, 150::float8, 20::float8, false)
from raster_table
WHERE id=3;

----------
77