すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_AsPNG

最終更新日:Sep 14, 2026

ラスターオブジェクトを PNG フォーマットのバイナリストリームにエンコードします。

構文

bytea ST_AsPNG(raster raster_obj,box extent,
        integer pyramidLevel default 0,
         cstring bands default '',
               cstring option default '');

パラメータ

パラメータ名

説明

raster_obj

処理するラスターオブジェクト。

extent

画像のエクステント。デフォルトでは地理座標系が使用されます。

pyramidLevel

画像のピラミッドレベル。値は 0 から始まります。デフォルト値は 0 です。

bands

取得するバンドのリスト。値は 0 から始まります。'0-2' または '1,2,3' の形式を使用します。デフォルト値は空です。PNG 画像は 1、2、3、または 4 バンドを持つことができます。デフォルトでは、先頭の 3 バンドが使用されます。

option

JSON 文字列で指定する変換オプション。

以下では、option パラメータについて説明します。

パラメータ

説明

型

デフォルト値

備考

nodata

NoData 値を使用するかどうかを指定します。

bool

false

  • true:NoData 値を処理します。

  • false:NoData 値を通常の値として処理します。

nodataValue

NoData 値。

integer

0

nodata を true に設定した場合、このパラメータに値を設定する必要があります。

rast_coord

入力 box がピクセル座標を使用するかどうかを指定します。

bool

false

ピクセル座標を使用する場合、x はピクセルの列番号、y は行番号を示します。列番号と行番号はいずれも 0 から始まります。

strength

画像を強調するかどうかを指定します。

string

none

強調メソッド。有効な値:

  • none:強調は実行されません。

  • stats:統計値に基づいて画像をストレッチします。

quality

圧縮品質。

integer

75

圧縮品質。有効な値:1 ~ 100。

説明

  • この関数は、画像データを bytea フォーマットで返します。

  • デフォルトのクリッピングキャッシュは 100 MB です。そのため、結果データは 100 MB を超えることはできません。キャッシュサイズを変更するには、[ganos.raster.clip_max_buffer_size] パラメータを使用します。

  • バンド数は次のとおりです:

    • 1:グレースケール画像。

    • 2:グレースケールバンドとアルファバンド。

    • 3:R、G、B バンド。

    • 4:R、G、B バンド、およびアルファバンド。

例

-- クリッピング範囲を使用します。
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box) 
FROM raster_table    
WHERE id =1;

-- ピラミッドレベルを指定します。
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1) 
FROM raster_table    
WHERE id =1;

-- バンドとクリッピング範囲を指定します。
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2') 
FROM raster_table    
WHERE id =1;

-- 統計値を使用して画像をストレッチします。
SELECT ST_AsPNG(rast, 
                  '(-180,-90), (0,0)'::Box, 
                  0, 
                  '', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id =1;