このトピックでは、ラスターを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値を使用するかどうかを指定します。 | bool | false |
|
nodataValue | ラスターのNoData値。 | integer | 0 | nodataパラメーターがtrueに設定されている場合、NoData値を指定する必要があります。 |
rast_coord | 入力ボックスをピクセル座標で指定するかどうかを指定します。 | bool | false | ピクセル座標が使用される場合、xはピクセルの列番号を示し、yはピクセルの行番号を示す。 列番号と行番号の両方が0から始まります。 |
強さ | ディスプレイにエンハンスメントを実装するかどうかを指定します。 | String | none | 有効な値:
|
品質 | 圧縮の質。 | integer | 75 | 設定可能な値は 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;