ラスターオブジェクトから指定されたピラミッドレベルまたはバンドのサブセットを抽出し、結果を新しいラスターオブジェクトとして返します。
構文
raster ST_SubRaster(raster raster_obj,
integer pyramidLevel default 0,
cstring bands default '',
cstring storageOption default '',
cstring options default '{}')パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
raster_obj | raster | — | ソースラスターオブジェクト。 |
pyramidLevel | integer | 0 | 抽出するピラミッドレベル。 |
bands | cstring | '' | 抽出するバンド。整数範囲 ('0-2') またはカンマ区切りリスト ('1,2,3') を指定できます。バンドインデックスは 0 から始まります。デフォルト値 ('') ではすべてのバンドが抽出されます。 |
storageOption | cstring | '' | 新しいラスターオブジェクトのストレージ方法を制御する JSON 文字列です。詳細については、「storageOption パラメーター」をご参照ください。 |
options | cstring | '{}' | 新しいラスターオブジェクトの生成方法を制御する JSON 文字列です。詳細については、「options パラメーター」をご参照ください。 |
storageOption パラメーター
storageOption のすべてのサブパラメーターは省略可能です。指定されなかったパラメーターは、ソースラスターオブジェクトの値を継承します。
よく使用されるパラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
chunktable | string | '' | 新しいラスターオブジェクトのチャンクテーブル名。 '' または NULL を指定すると、ランダムな名前の一時チャンクテーブルが作成され、現在のセッションでのみ有効になります。永続的なチャンクテーブルを作成する場合は、名前を明示的に指定してください。 |
compression | string | ソースと同じ | 圧縮フォーマット。有効な値:NONE、JPEG、ZLIB、PNG、LZO、LZ4。 |
celltype | string | ソースと同じ | ピクセルタイプ。有効な値:1bb、2bui、4bui、8bsi、8bui、16bsi、16bui、32bsi、32bui、64bsi、64bui、32bf、64bf。 |
chunking | boolean | ソースと同じ | 新しいラスターオブジェクトをチャンク単位で保存するかどうかを指定します。 |
高度なパラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
chunkdim | string | ソースと同じ | チャンクディメンション。chunking が true の場合にのみ有効です。 |
quality | integer | ソースと同じ | 圧縮後の画像品質 (1~99)。compression が JPEG の場合にのみ有効です。 |
interleaving | string | ソースと同じ | インターリービングタイプ。有効な値:bip (band interleaved by pixel、BIP)、bil (band interleaved by line、BIL)、bsq (band sequential、BSQ)。 |
endian | string | ソースと同じ | バイトオーダー。有効な値:NDR (リトルエンディアン)、XDR (ビッグエンディアン)。 |
options パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
parallel | integer | ganos.parallel.degree | 並列処理の次数。有効な値:1~64。 |
stretch | string | none | 画素値のストレッチ方法。有効な値:none (範囲外の値を最も近い極値に置き換え)、stats (ラスター統計に基づいてストレッチ — 事前に計算された統計が必要。以下の注を参照)、data_type (ピクセルタイプの値範囲に基づいてストレッチ)。 |
stretchがstatsに設定されている場合、ソース ラスタ オブジェクトには事前計算済みの統計情報が必要です。ソース ラスタ オブジェクトに対してST_SummaryStatsを呼び出した後で、ST_SubRasterを呼び出します。
使用例
ラスターオブジェクトからバンドを抽出する
ピラミッドレベル 1 からバンド 0~2 を抽出し、結果を永続的なチャンクテーブルに保存します。
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id = 1;ピクセルタイプを変換し、画素値を並列でストレッチする
並列度 4 で data_type ストレッチを使用して、8 ビット符号なし整数 (8BUI) に変換します。
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true, "celltype": "8BUI"}', '{"stretch": "data_type", "parallel": 4}')
FROM raster_sub
WHERE id = 1;