ST_SetBandIndex
Prev | 12.8. Raster Band Editors | Next

## Name

ST_SetBandIndex — Update the external band number of an out-db band

## Synopsis

`raster ST_SetBandIndex(`raster rast, integer band, integer outdbindex, boolean force=false`)`;

## Description

Updates an out-db band's external band number. This does not touch the external raster file associated with the out-db band

If `force` is set to true, no tests are done to ensure compatibility (e.g. alignment, pixel support) between the external raster file and the PostGIS raster. This mode is intended for where bands are moved around in the external raster file.

Internally, this method replaces the PostGIS raster's band at index `band` with a new band instead of updating the existing path information.

Availability: 2.5.0

## Examples

    WITH foo AS (
        SELECT
            ST_AddBand(NULL::raster, '/home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif', NULL::int[]) AS rast
    )
    SELECT
        1 AS query,
        *
    FROM ST_BandMetadata(
        (SELECT rast FROM foo),
        ARRAY[1,3,2]::int[]
    )
    UNION ALL
    SELECT
        2,
        *
    FROM ST_BandMetadata(
        (
            SELECT
                ST_SetBandIndex(
                    rast,
                    2,
                    1
                ) AS rast
            FROM foo
        ),
        ARRAY[1,3,2]::int[]
    )
    ORDER BY 1, 2;

     query | bandnum | pixeltype | nodatavalue | isoutdb |                                      path                                       | outdbbandnum
    -------+---------+-----------+-------------+---------+---------------------------------------------------------------------------------+--------------
         1 |       1 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            1
         1 |       2 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            2
         1 |       3 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            3
         2 |       1 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            1
         2 |       2 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            1
         2 |       3 | 8BUI      |             | t       | /home/pele/devel/geo/postgis-git/raster/test/regress/loader/Projected.tif       |            3

## See Also

ST_BandMetaData, ST_SetBandPath

Prev | Up | Next
ST_SetBandPath | Home | ST_Count