指定された地理的範囲またはピクセル範囲内で、ラスターオブジェクトを 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 軸は列番号(0 から開始)、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;