このトピックでは、ST_AsImage関数について説明します。 この関数は、ラスターをBYTEAタイプの画像に変換します。
構文
bytea ST_AsImage (ラスターraster_obj、
ボックスの範囲、
integer pyramidLevel default 0,
cstring bands default '',
cstring形式のデフォルト「PNG」、
cstringオプションdefault '');
パラメーター
パラメーター | 説明 |
raster_obj | 変換するラスタ。 |
範囲 | イメージの範囲。 デフォルトでは、地理座標系が使用されます。 |
pyramidLevel | 画像のピラミッドレイヤー。 有効な値は0から始まります。 デフォルト値:0 |
バンド | 画像を取得するバンドのリストです。 例: '0-2 ' および '1,2,3' デフォルトでは、このパラメーターは空です。 画像がJPEG形式の場合は、このパラメーターを1または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タイプのイメージを返します。
- デフォルトでは、最大100 MBのトリミングされたデータをキャッシュできます。これは、最大100 MBのデータを返すことができます。 画像サイズの制限を調整するには、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュサイズを指定します。
- このパラメータには次の値が有効です。
- 1: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドがあります。
- 2: ラスターには、ラスターをグレースケール画像に変換できる単一のバンドと、アルファバンドがあります。
- 3: ラスタは、Rバンド、Gバンド、Bバンドの3つのバンドを有する。
- 4: ラスタには、Rバンド、Gバンド、Bバンド、アルファバンドの4つのバンドがあります。
例
-キャッシュできるトリミングされたデータのサイズを指定します。
SELECT ST_AsImage(raster_obj、
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id=1;
-イメージが存在するピラミッドレイヤーを指定します。
SELECT ST_AsImage(raster_obj、
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id=1;
-バンドに対してキャッシュできるトリミングされたデータの範囲を指定します。
SELECT ST_AsImage(raster_obj、
'(-180,-90), (0,0)'::Box,
1,
'0-2 ')
FROM raster_table
WHERE id=1;
-- 圧縮形式を指定します。
SELECT ST_AsImage(raster_obj、
'(-180,-90), (0,0)'::Box,
1,
'0-2 '、
「PNG」)
FROM raster_table
WHERE id=1;
-統計値に基づいてストレッチを使用して拡張を実装するかどうかを指定します。
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;
-キャッシュされたデータをトリミングするピクセル座標を指定します。 次に、統計値に基づいてストレッチを使用して拡張を実装できます。
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;