ST_BandMetaData — 指定したラスターバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
(1) record ST_BandMetaData(raster rast, integer band=1);
(2) record ST_BandMetaData(raster rast, integer[] band);
指定したラスターバンドの基本的なメタデータを返します。返されるカラムは pixeltype, nodatavalue, isoutdb, path, outdbbandnum, filesize, filetimestamp です。
|
|
|
ラスターがバンドを持たない場合にはエラーが投げられます。 |
|
|
|
バンドに NODATA 値が無い場合には、nodatavalue は NULL になります。 |
|
|
|
isoutdb が FALSE の場合には、path, outdbbandnum, filedize および filetimestamp はNULL です。outdb のアクセスが禁止されているなら、filesize と filetimestamp が NULLになります。 |
Enhanced: 2.5.0 outdb ラスターにoutdbbandnum, filesizeとfiletimestampを取り入れました。
形式 1.
SELECT
rid,
(foo.md).*
FROM (
SELECT
rid,
ST_BandMetaData(rast, 1) AS md
FROM dummy_rast
WHERE rid=2
) As foo;
rid | pixeltype | nodatavalue | isoutdb | path | outdbbandnum
-----+-----------+-------------+---------+------+--------------
2 | 8BUI | 0 | f | |
(1 row)
形式 2.
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
bandnum,
pixeltype,
isoutdb,
regexp_replace(path, '^.*/', '') AS file,
outdbbandnum
FROM ST_BandMetaData((SELECT rast FROM foo),
ARRAY[1, 3, 2]::int[]
);
bandnum | pixeltype | isoutdb | file | outdbbandnum
---------+-----------+---------+---------------+--------------
1 | 8BUI | t | Projected.tif | 1
3 | 8BUI | t | Projected.tif | 3
2 | 8BUI | t | Projected.tif | 2