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

PolarDB:ST_AsImage

最終更新日:Jul 01, 2024

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

構文

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

パラメーター

項目

説明

raster_obj

変換するラスタ。

extent

イメージの範囲。 デフォルトでは、地理座標系が使用されます。

pyramidLevel

画像が存在するピラミッドレイヤ。 有効な値は0から始まります。 デフォルト値:0

bands

画像を取得するバンドのリストです。 有効な値は0から始まります。 例: '0-2 'および '1,2,3' このパラメーターはデフォルトで空となります。 画像がJPEG形式の場合は、このパラメーターを1または3に設定します。 イメージがPNG形式の場合、このパラメーターを1、2、3、または4に設定します。 最初の3つのバンドはデフォルトで使用されます。

format

イメージの形式。 有効な値:

  • PNG

  • JPEG

option

JSON形式の文字列を変換するために使用されるオプション。

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

フィールド

説明 

種類

デフォルト値

メモの設定

nodata

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

bool

  • true: NoData値が処理されます。

  • false: NoData値は正常値として処理されます。

nodataValue

ラスターのNoData値。

integer

0

nodataパラメーターがtrueに設定されている場合、NoData値を指定する必要があります。

rast_coord

入力ボックスをピクセル座標で指定するかどうかを指定します。

bool

ピクセル座標が使用される場合、xは列番号を示す。 の行番号を示し、yは行番号を示します。 ピクセルの。 両方の列番号。 と行番号 0から開始します。

strength

ディスプレイにエンハンスメントを実装するかどうかを指定します。

String

none

有効な値:

  • none: 強化は実装されていません。

  • stats: Enhancementは、統計値に基づくストレッチを使用して実装されます。

quality

圧縮の質。

integer

75

Valid values: 1 to 100.

説明 

  • この関数は、BYTEAタイプのイメージを返します。

  • デフォルトでは、最大100 MBのトリミングされたデータをキャッシュできます。これは、最大100 MBのデータを返すことができます。 画像サイズの制限を調整するには、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュサイズを指定します。

  • このパラメータには次の値が有効です。

    • 1: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドがあります。

    • 2: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドと、アルファバンドがあります。

    • 3: ラスタは、Rバンド、Gバンド、Bバンドの3つのバンドを有する。

    • 4: ラスタには、Rバンド、Gバンド、Bバンド、アルファバンドの4つのバンドがあります。

--Specify the size of cropped data that can be cached.
SELECT ST_AsImage(raster_obj, 
                  '(-180,-90), (0,0)'::Box) 
FROM raster_table    
WHERE id=1;

--Specify the pyramid layer at which the image resides.
SELECT ST_AsImage(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1) 
FROM raster_table    
WHERE id=1;

--Specify the cropping range of a band.
SELECT ST_AsImage(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2') 
FROM raster_table    
WHERE id=1;

--Specify the compression format.
SELECT ST_AsImage(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2',
                 'PNG') 
FROM raster_table    
WHERE id=1;

--Specify to implement enhancement by using stretching based on statistical values.
SELECT ST_AsImage(rast, 
                  '(-180,-90), (0,0)'::Box, 
                  0, 
                  '',
                  'PNG', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id=1;

--Specify the pixel coordinates based on which you want to crop the image and implement enhancement by using stretching based statistical values.
SELECT ST_AsImage(rast, 
                  '(0,0), (200,100)'::Box, 
                  0, 
                  '',
                  'PNG', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"true", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id=1;