このトピックでは、ST_MosaicFrom関数について説明します。 この関数は、指定されたラスタオブジェクトを新しいラスタオブジェクトにマージするモザイク操作を実行します。
構文
ラスターST_MosaicFrom (
raster source[],
cstring chunkTableName,
cstring storageOptionのデフォルト '{}' 、
cstring mosaicOptionのデフォルト '{}'
);
パラメーター
パラメーター | 説明 |
ソース | マージするラスタオブジェクト。 |
chunkTableName | 新しいラスタオブジェクトを格納するチャンクテーブルの名前。 名前はデータベーステーブルの命名規則に準拠している必要があります。 |
storageOption | 返された結果でJSON文字列で表されるストレージオプション。 |
mosaicOption | 返された結果でJSON文字列で表されるモザイク操作オプション。 |
storageOptionパラメーターの値は、ラスターオブジェクトのチャンクストレージを記述するJSON形式の文字列です。 次の表に、サポートされるフィールドを示します。
フィールド | 説明 | データ型 | デフォルト値 | 補足 |
チャンキング | 新しいラスターオブジェクトのデータをチャンクとして保存するかどうかを指定します。 | Boolean | マージするラスタオブジェクトと同じ | / |
chunkdim | 各チャンクのサイズ。 | String | マージするラスタオブジェクトと同じ | このフィールドは、チャンキングフィールドがtrueに設定されている場合にのみ有効です。 値は |
interleaving | ラスターオブジェクトのインターリーブタイプ。 | String | マージするラスタオブジェクトと同じ | 有効な値:
|
compression | システムが新しいラスターオブジェクトのデータを圧縮する形式。 | String | マージするラスタオブジェクトと同じ | 有効な値:
|
品質 | 圧縮後の新しいラスターの画質。 | integer | マージするラスタオブジェクトと同じ | このフィールドは、圧縮フィールドをjpegまたはjp2kに設定した場合にのみ有効です。 |
mosaicOptionパラメーターの値は、モザイクアルゴリズムを記述するJSON形式の文字列です。 次の表に、サポートされるフィールドを示します。
フィールド | 説明 | データ型 | デフォルト値 | 補足 |
スリッド | 新しいラスタオブジェクトの空間参照識別子 (SRID) 。 | integer | 左上のラスタオブジェクトのSRID。 | sridフィールドとcell_sizeフィールドの両方を指定する必要があります。 |
cell_size | 新しいラスタオブジェクトのピクセルサイズ。 | float8[] | 左上のラスターオブジェクトのピクセルサイズ。 |
|
resample | ピクセルを再サンプリングするために使用されるメソッド。 | text | 「近く」 | 有効な値:
|
ノデータ | 元のラスタオブジェクトのnodata値が有効かどうかを指定します。 | bool | false |
|
nodataValue | 新しいラスタオブジェクトのバンドに基づいて指定される新しいnodata値。 | float8 float8[] | NULL | nodataValueフィールドを数値または配列に設定できます。 nodataValueフィールドを数値に設定すると、新しいラスタオブジェクトのすべてのバンドが同じnodata値を使用します。 nodataValueフィールドを配列に設定した場合、配列内の要素数はラスターのバンド数と同じでなければなりません。 |
color_balance | カラーバランスを実行するかどうかを指定します。 | bool | false | このフィールドは、カラーバランスを実行するかどうかを決定します。 |
ステップ | カラーバランス処理中に使用されるステップサイズを指定します。 | integer | 0.1 | このフィールドは、color_balanceフィールドがtrueに設定されている場合に有効です。 ステップサイズを大きくすると、カラーバランス調整プロセスを高速化できますが、結果は最適ではない場合があります。 |
反復 | カラーバランスの反復回数を指定します。 | integer | 50000 | このフィールドは、color_balanceフィールドがtrueに設定されている場合に有効です。 反復回数が多いほど、カラーバランス調整プロセスにかかる時間が長くなります。 |
パラレル | 並列処理度 (DOP) 。 | integer | 1 | 許可されている並列処理の程度。 有効な値: 1 ~ 64。 |
説明
この関数は、複数のラスターオブジェクトを新しいラスターオブジェクトにマージします。
マージするすべてのラスタオブジェクトは、次の要件を満たす必要があります。
ラスタオブジェクトのバンド数は同じです。
ラスターオブジェクトは地理的に参照されるか、またはいずれも地理的に参照されません。 すべてのラスタオブジェクトが地理的に参照される場合、ワールド座標がモザイク操作に使用され、SRIDまたはアフィンパラメータは異なる場合があります。
ラスタオブジェクトは、異なるピクセルタイプを有することができる。
ST_MosaicFrom関数は、ガンマ補正技術に基づいて色のバランスをとる機能を提供します。 次のリストは、カラーバランシングプロセスについて説明しています。
グローバル色平面が生成される。 モザイク操作でマージするすべてのラスタオブジェクトが再サンプリングされます。 再サンプリング後、多項式フィッティングを使用して、グローバル画素行列を生成する。 グローバルピクセル行列は、各ラスタオブジェクトの色のバランスをとるための基準として使用されます。
各ラスタオブジェクトに対応する局所色平面は、双一次補間を用いて計算される。 局所的な色平面は、個々のラスタオブジェクトの色を大域的な画素マトリクスと整列させるために使用することができる。
ラスタオブジェクト内の各ピクセル位置に対応する2つの異なるピクセル値が計算される。 一方のピクセル値は、局所色平面に基づいて計算され、他方のピクセル値は、大域色平面に基づいて計算される。 次に、ガンマ補正パラメータを計算して画素の色を調整し、カラーバランスをとる。
例:
Insert Into raster_obj Values(1, ST_MosaicFrom(Array(select raster_obj from raster_table where id < 10)), 'chunk_table_mosaic ', '', ''))
raster_tableの更新raster_obj = ST_MosaicFrom(Array(select raster_obj from raster_table where id < 10), 'chunk_table_mosaic ','{"srid":4326,"cell_size":[0.00002,0.00002]}') where id = 11;
-- nodata
rat_mosaicfromに挿入する値 (110、ST_MosaicFrom(Array(select rast from rat_mosaicfrom where id < 5)) 、'rbt_mosaic' 、'{"chunking":"chunkdim":"(256,256、3)" 、"compression":"jpeg" 、"quality":"'{" resample ":" Average "," srid ":4326," cell_size ":[0.00002,0.00002]," nodata ":true, " nodataValue ":[255,255,255]}');
-- パラレル
Insert Into raster_obj Values(1, ST_MosaicFrom(Array(select raster_obj from raster_table where id < 10)), 'chunk_table_mosaic ', '', '{" srid ":4326," cell_size ":[0.00002,0.00002]," parallel ":4}')
-- カラーバランス
挿入するraster_obj値 (1、ST_MosaicFrom(Array(select raster_obj from raster_table where id < 10)) 、'chunk_table_mosaic '、''、'{" srid ":4326、" cell_size ":[0.00002,0.00002] 、" color_balance ":true、" parallel ":4})