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

ApsaraDB RDS:ST_MosaicFrom

最終更新日:May 06, 2024

このトピックでは、ST_MosaicFrom関数について説明します。 この関数は、指定されたラスタオブジェクトを新しいラスタオブジェクトにマージするモザイク操作を実行します。

構文

ラスターST_MosaicFrom (
  raster source[],
  cstring chunkTableName,
cstring storageOptionのデフォルト '{}' 、 
  cstring mosaicOptionのデフォルト '{}'
); 

パラメーター

パラメーター

説明

ソース

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

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またはアフィンパラメータは異なる場合があります。

  • ラスタオブジェクトは、異なるピクセルタイプを有することができる。

ST_MosaicFrom関数は、ガンマ補正技術に基づいて色のバランスをとる機能を提供します。 次のリストは、カラーバランシングプロセスについて説明しています。

  1. グローバル色平面が生成される。 モザイク操作でマージするすべてのラスタオブジェクトが再サンプリングされます。 再サンプリング後、多項式フィッティングを使用して、グローバル画素行列を生成する。 グローバルピクセル行列は、各ラスタオブジェクトの色のバランスをとるための基準として使用されます。

  2. 各ラスタオブジェクトに対応する局所色平面は、双一次補間を用いて計算される。 局所的な色平面は、個々のラスタオブジェクトの色を大域的な画素マトリクスと整列させるために使用することができる。

  3. ラスタオブジェクト内の各ピクセル位置に対応する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})