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

PolarDB:ST_AsPNG

最終更新日:Jun 21, 2024

このトピックでは、ラスターをBYTEAタイプのPNGイメージに変換するST_AsPNG関数について説明します。

構文

bytea ST_AsPNG (ラスターraster_obj、ボックス範囲、
        integer pyramidLevel default 0,
         cstring bands default '',
               cstringオプションdefault ''); 

パラメーター

パラメーター説明
raster_obj変換するラスタ。
範囲イメージの範囲。 デフォルトでは、地理座標系が使用されます。
pyramidLevel画像が存在するピラミッドレイヤ。 有効な値は0から始まります。 デフォルト値:0
バンド画像を取得するバンドのリストです。 有効な値は0から始まります。 例: '0-2 'および '1,2,3' このパラメーターはデフォルトで空となります。 画像はPNG形式です。 したがって、このパラメーターを1、2、3、または4に設定します。 最初の3つのバンドはデフォルトで使用されます。
オプションJSON形式の文字列を変換するために使用されるオプション。

次の表に、optionパラメーターのフィールドを示します。

フィールド説明データ型デフォルト値設定ノート
ノデータNoData値を使用するかどうかを指定します。boolfalse
  • true: NoData値が処理されます。
  • false: NoData値は正常値として処理されます。
nodataValueラスターのNoData値。integer0nodataパラメーターがtrueに設定されている場合、NoData値を指定する必要があります。
rast_coord入力ボックスをピクセル座標で指定するかどうかを指定します。boolfalseピクセル座標が使用される場合、xはピクセルの列番号を示し、yはピクセルの行番号を示す。 列番号と行番号の両方が0から始まります。
強さディスプレイにエンハンスメントを実装するかどうかを指定します。Stringnone有効な値:
  • none: 強化は実装されていません。
  • stats: Enhancementは、統計値に基づくストレッチを使用して実装されます。
品質圧縮の質。integer75設定可能な値は 1~100 です。

説明

  • この関数は、BYTEAタイプのPNGイメージを返します。
  • デフォルトでは、最大100 MBのトリミングされたデータをキャッシュできます。これは、最大100 MBのデータを返すことができます。 画像サイズの制限を調整するには、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュサイズを指定します。
  • このパラメータには次の値が有効です。
    • 1: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドがあります。
    • 2: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドと、アルファバンドがあります。
    • 3: ラスタは、Rバンド、Gバンド、Bバンドの3つのバンドを有する。
    • 4: ラスタには、Rバンド、Gバンド、Bバンド、アルファバンドの4つのバンドがあります。

-キャッシュできるトリミングされたデータのサイズを指定します。
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;