名前

ST_SetBandNoDataValue — 指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合には、1番と仮定します。NODATA値を持たないようにするには、nodatavalueにNULLを指定します。

概要

raster ST_SetBandNoDataValue(raster rast, double precision nodatavalue);

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

説明

指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合には、1番と仮定します。この関数はST_Polygon, ST_DumpAsPolygons, ST_PixelAs系関数群からの結果に影響を与えます。

-- 1番バンドのNODATA値を変更します
UPDATE dummy_rast 
        SET rast = ST_SetBandNoDataValue(rast,1, 254)  
WHERE rid = 2;

-- 1番、2番、3番のNODATA値を変更します
UPDATE dummy_rast 
        SET rast = 
                ST_SetBandNoDataValue(
                        ST_SetBandNoDataValue(
                                ST_SetBandNoDataValue(
                                        rast,1, 254)
                                ,2,99),
                                3,108)  
                WHERE rid = 2;
                
-- NODATA値の設定を解除して、全てのピクセルが処理されるようにします
UPDATE dummy_rast 
        SET rast = ST_SetBandNoDataValue(rast,1, NULL)  
WHERE rid = 2;
                                        

関連情報

ST_BandNoDataValue, ST_NumBands