Nom

ST_SetBandIndex — Met à jour le numéro de bande externe d'une bande out-db

Synopsis

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

Description

Met à jour le numéro de bande externe d'une bande out-db. Cette opération n'affecte pas le fichier raster externe associé à la bande out-db

[Note]

Si force est true, aucun test n'est effectué pour assurer la compatibilité (e.g., l'alignement, le support des pixels) entre le fichier raster externe et le raster PostGIS. Ce mode est destiné aux cas où les bandes sont déplacées dans le fichier raster externe.

[Note]

En interne, cette méthode remplacement la bande du raster PostGIS à l'index band avec la nouvelle bande, au lieu de mettre à jour les informations de chemin existantes.

Disponibilité : 2.5.0

Exemples

Code
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,
    bandnum,
    regexp_replace(path, '^.*/', '') AS path,
    outdbbandnum
FROM ST_BandMetaData(
    (SELECT rast FROM foo),
    ARRAY[1, 3, 2]::int[]
) AS metadata
UNION ALL
SELECT
    2, bandnum,
    regexp_replace(path, '^.*/', ''),
    outdbbandnum
FROM ST_BandMetaData((
        SELECT
            ST_SetBandIndex(rast,
                2,
                1
            ) AS rast
        FROM foo
    ),
    ARRAY[1, 3, 2]::int[]
) AS metadata
ORDER BY 1, 2;

In the second result set, band 2 still points at the same file but now reads external band 1.

Export de raster
query | bandnum | path          | outdbbandnum
-------+---------+---------------+--------------
     1 |       1 | Projected.tif |            1
     1 |       2 | Projected.tif |            2
     1 |       3 | Projected.tif |            3
     2 |       1 | Projected.tif |            1
     2 |       2 | Projected.tif |            1
     2 |       3 | Projected.tif |            3