9.1 SDO_GEOR_AGGR.append

形式

SDO_GEOR_AGGR.append(
     targetGeoRaster    IN OUT SDO_GEORASTER, 
     sourceGeoRaster    IN SDO_GEORASTER, 
     sourcePyramidLevel IN NUMBER, 
     appendParam        IN VARCHAR2, 
     bgValues           IN SDO_NUMBER_ARRAY DEFAULT NULL);

説明

ソースGeoRasterオブジェクトをターゲットGeoRasterオブジェクトに追加します。必要に応じて、内部的幾何補正、共通ポイント・ルール、切れ目充填およびカラー・バランスが実行されます。

パラメータ

targetGeoRaster

更新するGeoRasterオブジェクトを指定します。sourceGeoRasterと同じにすることはできません。(このオブジェクトを更新する前に、オブジェクトのコピーを作成しておいてください。)

sourceGeoRaster

targetGeoRasterに追加するGeoRasterオブジェクトを指定します。

sourcePyramidLevel

ターゲットGeoRasterオブジェクトのピラミッド・レベル0で追加するソースGeoRasterオブジェクトのピラミッド・レベルを指定します。NULLの場合、ピラミッド・レベル0が使用されます。

appendParam

操作のパラメータを指定するため、キーワード=値のペアのカンマで区切られた引用符付き文字列を指定します。これには、SDO_GEOR_AGGR.appendのキーワードを常に無視することが表に指定されていないかぎり、SDO_GEOR_AGGR.mosaicSubsetのリファレンスの項にある表9-1のキーワードを1つ以上含めることができます。

colorBalanceのデフォルト以外の値を指定する場合、これは、ターゲットGeoRasterオブジェクトの統計を参照として使用することでソースGeoRasterオブジェクトに対して実行され、キーワードのmaxValminValstdおよびminは無視されます(指定されている場合)。

bgValues

部分的に空のラスター・ブロックに入力する背景値を指定します。この値が有効なのは、ソースGeoRasterオブジェクトに空のラスター・ブロックが含まれており、現行の処理によって部分的に空のラスター・ブロック(「空のラスター・ブロック」を参照)が生成される場合のみです。SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)またはバンド次元のサイズ(各バンドにそれぞれ異なる入力値を使用)のいずれかであることが必要です。たとえば、SDO_NUMBER_ARRAY(1,5,10)では、1番目のバンドに1、2番目のバンドに5、3番目のバンドに10が入力されます。デフォルトのbgValuesは0 (ゼロ)です。

入力値は、ターゲットのセル深度で指定される有効なセル値を指定する必要があります。

使用上のノート

ノート:

targetGeoRasterに指定したGeoRasterオブジェクトへの変更は、このプロシージャが完了した後では元に戻せない場合があるため、このプロシージャをコールする前にtargetGeoRasterオブジェクトのコピーを作成しておいてください。

ソースとターゲットのGeoRasterオブジェクトには、同じ数のバンドまたはレイヤーが含まれる必要があります。ソースとターゲットのGeoRasterオブジェクトのセル深度が同じではない場合、ソースGeoRasterオブジェクトのセル値は、ターゲットGeoRasterオブジェクトのセル深度に拡張されるか、切り捨てられます。

ターゲットGeoRasterオブジェクトのラスター・データは、ブロック化される必要があります。

ターゲットGeoRasterオブジェクトのメタデータに変更はありませんが、ブロックのエクステントおよび数は更新され、統計は削除されます。

ソースGeoRasterオブジェクトは、ターゲットGeoRasterオブジェクトのピラミッド・レベル0に追加されます。ターゲットGeoRasterオブジェクトのピラミッドも更新されます。

ソースおよびターゲットGeoRasterオブジェクトの重複する領域と切れ目は、appendParamパラメータに定義されたルールに従って解決されます。

ソースGeoRasterオブジェクトは、ターゲットGeoRasterオブジェクトのどちらの側にでも配置でき、接することができます(右側または下側に配置する必要はありません)。ターゲットGeoRasterオブジェクトは、それに応じて自動的に拡張されます。

次の例では、georid = 2のGeoRasterオブジェクトをgeorid = 1のGeoRasterオブジェクトに追加します。

declare
    gr1 sdo_georaster;
    gr1 sdo_georaster;
begin
     select georaster into gr1 from georaster_table where georid = 1 for update;
     select georaster into gr2 from georaster_table where georid = 2;
     sdo_geor_aggr.append(gr1, gr2, 0, null);
     update georaster_table set georaster = gr1 where georid= 1;
     commit;
end;
/