すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:ST_MosaicFrom

最終更新日:Sep 24, 2024

この関数は、モザイク操作を実行して、複数のラスターオブジェクトを新しいラスターオブジェクトに結合します。

構文

raster ST_MosaicFrom(
  raster source[],
  cstring chunkTableName,
	cstring storageOption default '{}', 
  cstring mosaicOption default '{}'
);

パラメーター

パラメーター

説明

ソース

マージするラスタオブジェクト。

chunkTableName

新しいラスタオブジェクトを格納するチャンクテーブルの名前。 名前はデータベーステーブルの命名規則に準拠している必要があります。

storageOption

返された結果でJSON文字列で表されるストレージオプション。

mosaicOption

返された結果でJSON文字列で表されるモザイク操作オプション。

storageOptionパラメーターの値は、ラスターオブジェクトのチャンクストレージを記述するJSON形式の文字列です。 次の表に、サポートされるフィールドを示します。

項目

説明

データ型

デフォルト値

補足

チャンキング

新しいラスターオブジェクトのデータをチャンクとして保存するかどうかを指定します。

Boolean

マージするラスタオブジェクトと同じ

/

chunkdim

各チャンクのサイズ。

String

マージするラスタオブジェクトと同じ

このフィールドは、チャンキングフィールドがtrueに設定されている場合にのみ有効です。 値は (w, h, b) 形式でなければなりません。

interleaving

ラスターオブジェクトのインターリーブタイプ。

String

マージするラスタオブジェクトと同じ

有効な値:

  • bip: ピクセルインターリーブ

  • bil: 行インターリーブ

  • bsq: バンドインターリーブ

  • auto: この関数で指定されたインターリーブ方法

compression

システムが新しいラスターオブジェクトのデータを圧縮する形式。

String

マージするラスタオブジェクトと同じ

有効な値:

  • none

  • jpeg

  • zlib

  • png

  • lzo

  • lz4

  • zstd

  • snappy

  • jp2k

品質

圧縮後の新しいラスターの画質。

integer

マージするラスタオブジェクトと同じ

このフィールドは、圧縮フィールドをjpegまたはjp2kに設定した場合にのみ有効です。

mosaicOptionパラメーターの値は、モザイクアルゴリズムを記述するJSON形式の文字列です。 次の表に、サポートされるフィールドを示します。

項目

説明

データ型

デフォルト値

補足

スリッド

新しいラスタオブジェクトの空間参照識別子 (SRID) 。

integer

左上のラスタオブジェクトのSRID。

sridフィールドとcell_sizeフィールドの両方を指定する必要があります。

cell_size

新しいラスタオブジェクトのピクセルサイズ。

float8[]

左上のラスターオブジェクトのピクセルサイズ。

  • このフィールドの値は、2つの浮動小数点数の配列です。 形式: [cell_size_x,cell_size_y] 。

  • sridフィールドとcell_sizeフィールドの両方を指定する必要があります。

resample

ピクセルを再サンプリングするために使用されるメソッド。

text

「近く」

有効な値:

  • 「近く」

  • 「平均」

  • 「キュービック」

  • 「ビリニア」

ノデータ

元のラスタオブジェクトのnodata値が有効かどうかを指定します。

bool

false

  • このフィールドをtrueに設定すると、nodata値は有効になり、nodata値を持つピクセルは再サンプリングされません。

  • このフィールドをfalseに設定すると、nodata値は無効になり、nodata値を持つピクセルは再サンプリングされます。

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';