この関数は、モザイク操作を実行して、複数のラスターオブジェクトを新しいラスターオブジェクトに結合します。
構文
raster ST_MosaicFrom(
raster source[],
cstring chunkTableName,
cstring storageOption default '{}',
cstring mosaicOption default '{}'
);
パラメーター
パラメーター | 説明 |
ソース | マージするラスタオブジェクト。 |
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) とアフィンパラメーターを持っていること。
例
DO $$
declare
rasts raster[];
rast_mosaic raster;
begin
rasts = Array(select raster_obj from raster_table where id < 5 ORDER by id);
rast_mosaic = ST_MosaicFrom(rasts, 'chunk_table_mosaic');
Insert Into raster_table Values(10, rast_mosaic);
end;
$$ LANGUAGE 'plpgsql';