ST_SetBandIndex — データベース外バンドの外部バンド番号の更新
raster ST_SetBandIndex(raster rast, integer band, integer outdbindex, boolean force=false);
データベース外バンドの外部バンド番号を更新します。データベース外バンドと関連する外部ラスターファイルには触れません。
|
|
|
|
|
|
|
内部的には、このメソッドは、存在するパス情報を更新する替わりに、PostGIS ラスターの |
Availability: 2.5.0
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;
結果の二つ目では、2番バンドは Projected2.tif を指しますが、今回はデータベース外ラスターの 1番バンドを読みます。
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