ラスターオブジェクトを、指定された地理的範囲またはピクセル範囲内で bytea イメージに変換します。bands が指定されていない場合、最初の 3 つのバンドが使用され、出力フォーマットはデフォルトで PNG になります。
構文
bytea ST_AsImage(raster raster_obj,
box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring format default 'PNG',
cstring option default '');パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
raster_obj | raster | — | 変換するラスターオブジェクト。 |
extent | box | — | 出力イメージの空間範囲。デフォルトでは地理座標系を使用します。 |
pyramidLevel | integer | 0 | 読み取り元のピラミッドレベル。有効な値は 0 から始まります。 |
bands | cstring | '' | 出力に含めるバンド。範囲 ('0-2') とカンマ区切りのリスト ('1,2,3') を指定できます。空白のままにすると、最初の 3 つのバンドが使用されます。有効なバンド数:PNG は 1、2、3、または 4 バンドをサポートし、JPEG は 1 または 3 バンドをサポートします。 |
format | cstring | 'PNG' | 出力イメージのフォーマット。有効な値:PNG、JPEG。 |
option | cstring | '' | 追加のレンダリングオプションを含む JSON 文字列。詳細は、「オプションフィールド」をご参照ください。 |
オプションフィールド
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
nodata | bool | false | NoData の処理をコントロールします。true:NoData 値を処理します。false:NoData 値を通常の値として扱います。 |
nodataValue | integer | 0 | ラスターの NoData 値。nodata が true の場合に必須です。 |
rast_coord | bool | false | extent ボックスが地理座標の代わりにピクセル座標を使用するかどうかを指定します。true の場合、X 軸は列番号に、Y 軸は行番号にマッピングされ、どちらも 0 から始まります。 |
strength | string | 'none' | 表示拡張モード。none:拡張なし。stats:統計値に基づいてストレッチを適用します。 |
quality | integer | 75 | 圧縮の品質。有効な値:1~100。 |
注意事項
ST_AsImageはbytea値を返します。デフォルトでは、クエリごとに最大 100 MB のクロップされたデータをキャッシュできます。この制限を調整するには、
ganos.raster.clip_max_buffer_sizeパラメーターを設定します。bandsパラメーターは、出力イメージに含めるバンドをコントロールします。以下のバンド数がサポートされています:1:シングルバンド — グレースケールイメージとしてエクスポートされます。2:シングルバンド + アルファバンド — 透明度を持つグレースケールイメージとしてエクスポートされます。3:R バンド、G バンド、B バンド — RGB イメージとしてエクスポートされます。4:R バンド、G バンド、B バンド、アルファバンド — RGBA イメージとしてエクスポートされます。
例
すべての例は、raster_table からデータを読み取り、id = 1 でフィルターします。地理的範囲 '(-180,-90), (0,0)'::box は、地球の左下の四分円をカバーします。
デフォルト設定でのエクスポート
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;バンド 0、1、2 のエクスポート
SELECT ST_AsImage(raster_obj,
'(-180,-90), (0,0)'::box,
1,
'0-2')
FROM raster_table
WHERE id = 1;明示的なフォーマットでの PNG としてのエクスポート
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;表示拡張を使用したピクセル座標領域のエクスポート
rast_coord: true を使用して、地理座標の代わりにピクセル座標で範囲を指定します。
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;