Name

ST_AsPNG — ラスタの選択されたバンドを、単一のportable network graphics (PNG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3バンドか4バンドある場合には、全てのバンドを使用します。バンドを指定せず、2バンドか4より多いバンドがある場合には、1番バンドを使用します。対象バンドはRGBまたはRGBAに対応付けられます。

Synopsis

bytea ST_AsPNG(raster rast, text[] options=NULL);

bytea ST_AsPNG(raster rast, integer nband, integer compression);

bytea ST_AsPNG(raster rast, integer nband, text[] options=NULL);

bytea ST_AsPNG(raster rast, integer[] nbands, integer compression);

bytea ST_AsPNG(raster rast, integer[] nbands, text[] options=NULL);

説明

ラスタの選択されたバンドを、単一のportable network graphics (PNG)画像として返します。より一般でないラスタタイプで出力する必要がある場合には、ST_AsGDALRasterを使います。バンドを指定しない場合には、前から3バンドを出力します。この関数には多数の任意引数が付くさまざまな形式があります。sridが指定されない場合には、sridはラスタが使用しているSRIDを指定します。引数の一覧は次の通りです。

  • nband 単一バンド出力のためのものです。

  • nbands is an array of bands to export (note that max is 4 for PNG) and the order of the bands is RGBA. e.g ARRAY[3,2,1] means map band 3 to Red, band 2 to green and band 1 to blue

  • compression 1から9の数を指定します。大きいほど圧縮効率が上がります。

  • options PNGのために定義するGDALオプションの文字列配列です (ST_GDALDriversのcreate_optionsを見てください)。PNGの妥当なパラメタはZLEVEL (圧縮に費やす時間の合計で、デフォルトは6)です。ARRAY['ZLEVEL=9']というようにします。この関数が二つの出力を行う必要があるため、ワールドファイルはPNGでは許されません。詳細についてはGDAL Raster format optionsをご覧下さい。

Availability: 2.0.0 - GDAL 1.6.0以上が必要です。

SELECT ST_AsPNG(rast) As rastpng
FROM dummy_rast WHERE rid=2;

-- 前から3バンドを出力し、3番を赤、1番を緑、2番を青に対応付けます
SELECT ST_AsPNG(rast, ARRAY[3,1,2]) As rastpng
FROM dummy_rast WHERE rid=2;
                                

関連情報

ST_AsGDALRaster, ST_ColorMap, ST_GDALDrivers, Section 5.3, “PostGISラスタを使ったカスタムアプリケーションの構築”