名称

ST_SetBandNoDataValue — 设置表示无数据的给定波段的值。如果没有指定波段,则假定为波段 1。要将波段标记为没有 nodata 值,请将 nodata 值 = NULL。

语法

raster ST_SetBandNoDataValue(raster rast, double precision nodatavalue);

raster ST_SetBandNoDataValue(raster rast, integer band, double precision nodatavalue, boolean forcechecking=false);

描述

设置表示波段无数据的该值。如果没有指定,则假定为波段 1。这会影响 ST_PolygonST_DumpAsPolygons 和 ST_PixelAs...() 函数的结果。

示例

-- change just first band no data value
UPDATE dummy_rast
    SET rast = ST_SetBandNoDataValue(rast,1, 254)
WHERE rid = 2;

-- change no data band value of bands 1,2,3
UPDATE dummy_rast
    SET rast =
        ST_SetBandNoDataValue(
            ST_SetBandNoDataValue(
                ST_SetBandNoDataValue(
                    rast,1, 254)
                ,2,99),
                3,108)
        WHERE rid = 2;

-- wipe out the nodata value this will ensure all pixels are considered for all processing functions
UPDATE dummy_rast
    SET rast = ST_SetBandNoDataValue(rast,1, NULL)
WHERE rid = 2;
                    

另请参阅

ST_BandNoDataValueST_NumBands