プライマリ・コンテンツに移動
Oracle® Spatial and Graph GeoRaster開発者ガイド
12cリリース1 (12.1)
B72468-06
目次へ移動
目次
索引へ移動
索引

前
次

8 SDO_GEOR_AGGRパッケージのリファレンス

SDO_GEOR_AGGRパッケージには、GeoRasterオブジェクトに対する高度な大規模モザイク処理、追加処理および仮想モザイク処理を実行するためのサブプログラム(ファンクションおよびプロシージャ)が含まれます。この章では、そのサブプログラムのリファレンス情報を、例を使用して説明します。

8.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.mosaicSubset」のリファレンスの項にある表8-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;
/

8.2 SDO_GEOR_AGGR.getMosaicExtent

構文

SDO_GEOR_AGGR.getMosaicExtent(
     inGeoRasters IN SYS_REFCURSOR, 
      outSRID     IN NUMBER DEFAULT NULL  
     ) RETURN SDO_GEOMETRY;

または

SDO_GEOR_AGGR.getMosaicExtent(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
      outSRID              IN NUMBER DEFAULT NULL  
     ) RETURN SDO_GEOMETRY;

説明

仮想モザイクまたはGeoRasterオブジェクトのコレクションの空間エクステントの最小境界矩形(MBR)を計算して戻します。

パラメータ

inGeoRasters

カーソルのソースGeoRasterオブジェクトを指定します。

georasterTableNames

ソースGeoRasterオブジェクトを含む表の名前(カンマ区切り)を指定します。

georasterColumnNames

georasterTableNamesの表名に対応する表のSDO_GEORASTER型の列の名前(カンマ区切り)を指定します。

outSRID

出力GeoRasterオブジェクトの座標系を指定します。NULLか、またはMDSYS.CS_SRS表のSRID列の値を指定する必要があります。このパラメータがNULL (デフォルト)の場合、4326 (WGS 84 (経度/緯度)座標系のEPSG SRID値)が使用されます。

使用上の注意

仮想モザイクまたはGeoRasterオブジェクトのコレクションの空間エクステントを計算する場合、このファンクションは、各GeoRasterオブジェクトのspatialExtent属性の使用を試みます。spatialExtent属性がNULLの場合、オブジェクトのメタデータに基づいてGeoRasterオブジェクトのエクステントが計算されます。

次の例は、仮想モザイクまたはGeoRasterオブジェクトのコレクションがカーソルの場合に空間エクステントを取得する方法を示しています。

declare
    cur sys_refcursor,
begin
     open cur for select georaster from georaster_table_1 union all select georaster from georaster_table_2;
     extent := sdo_geor_aggr.getMosaicExtent(cur, 26986);
     close cur;
end;
/

次の例は、表の列名を指定することでモザイク・エクステントを取得する方法を示しています。

select sdo_geor_aggr.getMosaicExtent('georaster_table_1, georaster_table_2', 'georaster, georaster', 26986) from dual;

8.3 SDO_GEOR_AGGR.getMosaicResolutions

構文

SDO_GEOR_AGGR.getMosaicResolutions(
     inGeoRasters    IN SYS_REFCURSOR, 
      resolutionUnit IN VARCHAR2 DEFAULT NULL 
      ) RETURN  SDO_RANGE_ARRAY;;

または

SDO_GEOR_AGGR.getMosaicResolutions(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
      resolutionUnit      IN VARCHAR2 DEFAULT NULL 
      ) RETURN  SDO_RANGE_ARRAY; 

説明

仮想モザイクまたはGeoRasterオブジェクトのコレクションの解像度の範囲を指定した単位で戻します。

パラメータ

inGeoRasters

カーソルのソースGeoRasterオブジェクトを指定します。

georasterTableNames

ソースGeoRasterオブジェクトを含む表の名前(カンマ区切り)を指定します。

georasterColumnNames

georasterTableNamesの表名に対応する表のSDO_GEORASTER型の列の名前(カンマ区切り)を指定します。

resolutionUnit

戻される解像度の範囲の測定単位を指定します。指定する場合、'unit=value'という形式で、引用符で囲んだ文字列にする必要があります(valueは単位名)。指定しないか、NULLの場合、戻される解像度の範囲の単位は、meterです。

使用上の注意

戻される解像度の範囲は、SDO_RANGE_ARRAY(SDO_RANGE(min_x, max_x), SDO_RANGE(min_y, max_y))という形式となり、min_xmax_xはx次元の最小および最大の解像度で、min_ymax_yはy次元の最小および最大の解像度です。

SDO_RANGE_ARRAY型は、VARRAY(1048576) OF SDO_RANGEとして定義されます。SDO_RANGE型の定義は次のとおりです。

Name                                      Null?    Type
----------------------------------------- -------- -------
LB                                                 NUMBER
UB                                                 NUMBER

次の例では、m単位で戻される値を使用して、仮想モザイクまたはGeoRasterオブジェクトのコレクションの空間解像度を取得します。

SELECT sdo_geor_aggr.getMosaicResolutions('georatser_table_1, georaster_table_2', 'georaster, georaster', 'unit=meter') FROM DUAL;

8.4 SDO_GEOR_AGGR.getMosaicSubset

構文

SDO_GEOR_AGGR.getMosaicSubset(
     inGeoRasters     IN SYS_REFCURSOR, 
     pyramidLevel     IN NUMBER, 
      outSRID         IN NUMBER, 
     outModelCoordLoc IN NUMBER, 
     referencePoint   IN SDO_GEOMETRY, 
     cropArea         IN SDO_GEOMETRY, 
     polygonClip      IN VARCHAR2, 
     boundaryClip     IN VARCHAR2, 
     layerNumbers     IN VARCHAR2, 
     outResolutions   IN SDO_NUMBER_ARRAY, 
     resolutionUnit   IN VARCHAR2, 
     mosaicParam      IN VARCHAR2, 
     rasterBlob       IN OUT NOCOPY BLOB, 
     outArea          OUT SDO_GEOMETRY, 
     outWindow        OUT SDO_NUMBER_ARRAY, 
     storageParam     IN VARCHAR2 DEFAULT NULL, 
     bgValues         IN SDO_NUMBER_ARRAY DEFAULT NULL);

または

SDO_GEOR_AGGR.getMosaicSubset(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
     pyramidLevel         IN NUMBER, 
      outSRID              IN NUMBER, 
     outModelCoordLoc     IN NUMBER, 
     referencePoint       IN SDO_GEOMETRY, 
     cropArea             IN SDO_GEOMETRY, 
     polygonClip          IN VARCHAR2, 
     boundaryClip         IN VARCHAR2, 
     layerNumbers         IN VARCHAR2, 
     outResolutions       IN SDO_NUMBER_ARRAY, 
     resolutionUnit       IN VARCHAR2, 
     mosaicParam          IN VARCHAR2, 
     rasterBlob           IN OUT NOCOPY BLOB, 
     outArea              OUT SDO_GEOMETRY, 
     outWindow            OUT SDO_NUMBER_ARRAY, 
     storageParam         IN VARCHAR2 DEFAULT NULL, 
     bgValues             IN SDO_NUMBER_ARRAY DEFAULT NULL);

説明

仮想モザイクまたはGeoRasterオブジェクトのコレクションに対してサブセット化を実行します。これは、問合せ対象領域のモザイク処理を動的に実行し、必要な結果をBLOBにオンザフライで戻します。必要に応じて、内部的幾何補正、共通ポイント・ルール、切れ目充填およびカラー・バランスが実行されます。

パラメータ

inGeoRasters

カーソルのソースGeoRasterオブジェクトを指定します。

georasterTableNames

ソースGeoRasterオブジェクトを含む表の名前(カンマ区切り)を指定します。

これらの表のMIN_X_RES$およびMAX_X_RES$列の定義と使用の詳細は、「使用上の注意」および「MIN_X_RES$およびMAX_X_RES$を使用した問合せパフォーマンスの向上」を参照してください。

georasterColumnNames

georasterTableNamesの表名に対応する表のSDO_GEORASTER型の列の名前(カンマ区切り)を指定します。

pyramidLevel

操作用のソースGeoRasterオブジェクトのピラミッド・レベルを指定します。このパラメータは、outResolutionsパラメータが指定されていない場合に使用され、それ以外の場合、ソースGeoRasterオブジェクトのピラミッド・レベルはoutResolutionsパラメータによって決定されます。

outSRID

出力GeoRasterオブジェクトの座標系を指定します。NULLか、またはMDSYS.CS_SRS表のSRID列の値を指定する必要があります。

outModelCoordLoc

セルによって表現される領域のベースのモデル位置を示す値を指定します。CENTERの場合は0UPPERLEFTの場合は1を指定します。NULLの場合、CENTERが使用されます。

referencePoint

モザイクの参照点として使用するSDO_GEOMETRY型の点を指定します。点を指定する場合、モザイク処理されたイメージの左上角が参照点に揃えられます(referencePointと出力の左上角の間の距離がピクセルの整数になります)。このパラメータがNULLの場合、参照点は、cropAreaの左上角または(cropAreaがNULLの場合)出力エクステントの左上角を暗黙的に使用します。

cropArea

クロッピング領域を定義します。SDO_GEOMETRYオブジェクトにNULL以外のSRIDが含まれる場合、ソースGeoRasterオブジェクトは地理参照される必要がありますが、それ以外の場合、ソースGeoRasterオブジェクトは地理参照されても地理参照されなくてもかまいません。polygonClipFALSEの場合、cropAreaのMBRがモザイク処理されたデータをクロッピングするために使用されます。polygonClipTRUEの場合、cropAreaのジオメトリがモザイク処理されたデータをクロッピングするために使用されます。

polygonClip

文字列TRUEではモザイク処理されたデータをクロッピングするためにcropArea値が使用され、文字列FALSEまたはNULL値ではモザイク処理されたデータをクロッピングするためにcropAreaのMBRが使用されます。

boundaryClip

文字列TRUEまたはNULL値では、cropAreaをクリップするために仮想モザイクの境界が使用され、文字列FALSEでは、仮想モザイクの外部にあるがcropArea内にある領域に背景値が入力されます。

layerNumbers

処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、2-4はレイヤー2、3および4を示します)。指定しない場合、モザイク結果にはソースGeoRasterオブジェクトと同じ数のバンドが含まれます。

outResolutions

出力GeoRasterデータに対してリクエストされた解像度を指定します。NULLの場合、デフォルトは、最初に出現したGeoRasterオブジェクトの解像度です。詳細は、「使用上の注意」を参照してください。

resolutionUnit

outResolutionsパラメータの単位を指定します。NULLの場合、デフォルトは出力SRIDの単位です。指定する場合、unit=valueという形式で、引用符で囲んだ文字列にする必要があります(valueは単位名)。このパラメータは、outResolutionsがNULLである場合は無視されます。

mosaicParam

モザイク・パラメータを指定するため、キーワード=値のペアのカンマで区切られた引用符付き文字列を指定します。これには、「SDO_GEOR_AGGR.mosaicSubset」のリファレンスの項にある表8-1のキーワードを1つ以上含めることができます。

rasterBlob

操作の結果を格納するバイナリ・ラージ・オブジェクト(BLOB)を指定します。処理が実行される前に、これが存在しているか、または初期化されている必要があります。これは、通常は一時BLOBです。

outArea

出力データのエクステントを記述したジオメトリ・オブジェクトを指定します。

outWindow

セル空間内で出力ウィンドウの左上角および右下角の座標を指定するSDO_NUMBER_ARRAYオブジェクトを指定します。このファンクションの場合、出力ウィンドウの左上角は常に(0,0)です。

storageParam

記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。このパラメータがNULLの場合、結果のGeoRasterオブジェクトは、モデル空間(存在する場合)またはセル空間で最初に出現したソースGeoRasterオブジェクトと同じ記憶域パラメータ(blockSizecellDepthinterleavingおよびcompression)を持ちます。ただし、モザイク処理する最初に出現したGeoRasterオブジェクトと同じ記憶域パラメータをモザイクに設定する場合を除き、出力モザイクのサイズに応じて記憶域パラメータ(特にブロック化サイズ)を指定することをお薦めします。

(pyramid=trueが指定されている場合、このプロシージャでは無視されますが、SDO_GEOR_AGGR.mosaicSubsetでは無視されません。)

bgValues

部分的に空のラスター・ブロックに入力する背景セル値(完全に空のラスター・ブロックは入力なしで空のままになります)。それらは、クリップ・ポリゴンの外にある領域またはソース・イメージに含まれていないギャップ領域など、モザイク処理操作から生じる空の領域を埋めるために使用されます。(「空のラスター・ブロック」も参照してください。)SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)またはバンド次元のサイズ(各バンドにそれぞれ異なる入力値を使用)のいずれかであることが必要です。たとえば、SDO_NUMBER_ARRAY(1,5,10)では、1番目のバンドに1、2番目のバンドに5、3番目のバンドに10が入力されます。デフォルトのbgValuesは0 (ゼロ)です。

入力値は、スパース・データへの入力用としてターゲットのセル深度の背景値で指定された有効なセル値であることが必要です。

使用上の注意

ソースGeoRasterオブジェクトは、モザイク処理を実行できるように、イメージまたはラスター・データとして準備しておく必要があります。つまり、仮想モザイクのGeoRasterオブジェクトには次の要件があります。

  • 地理参照されているオブジェクトと地理参照されていないオブジェクトを混在させないこと。すべてのオブジェクトが地理参照されているか、地理参照されているオブジェクトが1つもないこと。

  • 同じレイヤー数またはバンド数を持つ。ソース・オブジェクトの行および列の次元サイズに対する制限はありません。

モザイク処理されるGeoRasterオブジェクトが地理参照される場合、これらのオブジェクトはその地理参照情報に従ってともに配置されます。GeoRasterオブジェクトが地理参照されない場合、これらのオブジェクトはULTCoordinate値に従ってともに配置されます。(ULTCoordinateの詳細は、「GeoRasterデータ・モデル」を参照してください。)

結果のGeoRasterオブジェクトの空間参照メタデータは、outSRIDおよびoutResolutionsパラメータによって決定されます。outSRIDが指定されていない場合、最初に出現したソースGeoRasterオブジェクトのSRIDが使用されます。outResolutionsが指定されていない場合、指定したピラミッド・レベル(pyramidLevelパラメータ)で最初に出現したソースGeoRasterオブジェクトの空間解像度が使用されます。空間解像度は、すべてのソース・イメージのメタデータに設定する必要があります。

pyramidLevelが指定されているがoutResolutionsが指定されていない場合、pyramidLevelパラメータで指定されたピラミッド・レベルのラスター・データを使用してすべてのソースGeoRasterオブジェクトがモザイク処理されます。このパラメータの組合せは、ソースGeoRasterオブジェクトにピラミッド・レベル0の同じ空間解像度が含まれる場合に使用できます。

outResolutionsが指定されている場合、ソースGeoRasterオブジェクトは、outResolutionsパラメータに最も近い解像度を持つピラミッド・レベルのラスター・データを使用してモザイク処理されます。outResolutionsパラメータの値がソースGeoRasterオブジェクトの空間解像度の範囲内に存在しない場合、このソースGeoRasterオブジェクトはモザイクに含まれません。GeoRasterオブジェクトの空間解像度の範囲は、ピラミッド・レベル0の解像度とGeoRasterオブジェクトの最高のピラミッド・レベルの解像度によって決定されます。

ソースGeoRasterオブジェクトがoutSRIDと異なるSRIDを持っているか、幾何補正されていない場合、モザイク処理されたGeoRasterオブジェクトが同一のSRIDおよび空間解像度の値を持つように、動的に再投影または幾何補正されます。

ソースGeoRasterオブジェクトに空のラスター・ブロックが含まれるか、ソースGeoRasterオブジェクトが領域全体を覆っていない場合、モザイク処理された結果のGeoRasterオブジェクトには、空のラスター・ブロックまたは部分的に空のラスター・ブロック(「空のラスター・ブロック」を参照)が含まれます。いずれのソースGeoRasterオブジェクトにも含まれない結果のラスター・ブロックは、空のままです。部分的に空のラスター・ブロックにはbgValuesパラメータに指定した値が入力されます。bgValuesパラメータを指定しない場合は0 (ゼロ)が入力されます。

ソースGeoRasterオブジェクトが重複している場合、重複する領域のデータは、mosaicParamパラメータで指定されたルールに準拠します。デフォルトでは、最後に出現したソースGeoRasterオブジェクトのセル値が使用されます。指定した解像度で許容可能な重複するGeoRasterオブジェクトの最大数は、8です。

ソースのGeoRasterオブジェクトに関連したビットマップ・マスクは考慮されません。bitmapmaskパラメータは、storageParam文字列で指定されている場合でも無視されます。

mosaicParamcolorBalanceオプションを使用するには、ソース・イメージのSDO_GEOR.generateStatisticsをコールし、イメージの統計を生成してそれらをソース・イメージのメタデータに格納する必要があります。現在のカラー・バランス・メソッドは、一定のタイプのソース・イメージ(コントラストまたは明るさのみが異なるイメージなど)でのみ適切に動作します。

ソースとなるすべてのGeoRasterオブジェクトが空白で、同じblankCellValue値を持つ場合、結果のGeoRasterオブジェクトも空白になり、そのblankCellValue値を持ちます。そうでない場合、結果のGeoRasterオブジェクトは空白にはなりません。

ソースGeoRasterオブジェクトに異なる空間解像度の範囲が含まれる場合、georasterTableNamesパラメータにリストされている表の列MIN_X_RES$およびMAX_X_RES$ (両方ともNUMBER型)を定義できます(MIN_X_RES$とMAX_X_RES$では、それぞれソースGeoRasterオブジェクトの最小および最大の空間解像度の値を指定します)。プロシージャでは、これらの列に格納されている解像度の範囲を使用して、outResolutionsパラメータに指定されているリクエストされた解像度ではないソースGeoRasterオブジェクトを除外します。これによって、異なる空間解像度の範囲を持つ、多くの重複するソースGeoRasterオブジェクトが存在する場合に、プロシージャのパフォーマンスが向上します。

MIN_X_RES$およびMAX_X_RES$列値を使用するには、次のようにします。

  • georasterTableNamesパラメータを含むプロシージャ構文を使用する必要があります。

  • outResolutionsパラメータはNULLにしないでください。

  • MIN_X_RES$およびMAX_X_RES$列の解像度の値は、outResolutionsパラメータに指定されている解像度の値と同じ単位である必要があります。

詳細は、「仮想モザイク」を参照してください。

次の例では、cropAreaウィンドウを指定して、30mの解像度でSRID 32610の仮想モザイク(2つのGeoRaster表として定義される)のサブセットを取得します。NODATAは、リサンプリング・プロセス(存在する場合)およびソース・イメージの重複する領域で考慮されます。

declare
  lb blob;
  cropArea sdo_geometry;
  outArea  sdo_geometry := null;
  outWin   sdo_number_array:=null;
  resolutions sdo_number_array;
begin
    dbms_lob.createTemporary(lb, TRUE);
 
     cropArea :=  sdo_geometry(2003, 26986, null,                 
                    sdo_elem_info_array(1, 1003, 3), 
                    sdo_ordinate_array(399180, 4247820, 
                                       496140,4353900) );
      resolutions := sdo_number_array(30, 30);
     sdo_geor_aggr.getMosaicSubset('georaster_table_1, georaster_table_2', 
                 'georaster, georaster', 
                 0, 32610, null, null, cropArea,
                 null, null, null, resolutions, null, 
                 'nodata=true', 
                 lb, outArea, outWin);
    dbms_lob.freeTemporary(lb);
    if outWin is not null then
        dbms_output.put_line('output window: (' || outWin(1) || ',' || outWin(2) ||', ' || outWin(3) || ', ' || outWin(4) || ')');
    end if;
end;

8.5 SDO_GEOR_AGGR.mosaicSubset

構文

SDO_GEOR_AGGR.mosaicSubset(
     inGeoRasters     IN SYS_REFCURSOR, 
     pyramidLevel     IN NUMBER, 
     outSRID          IN NUMBER, 
     outModelCoordLoc IN NUMBER, 
     referencePoint   IN SDO_GEOMETRY, 
     cropArea         IN SDO_GEOMETRY, 
     polygonClip      IN VARCHAR2, 
     boundaryClip     IN VARCHAR2, 
     layerNumbers     IN VARCHAR2, 
     outResolutions   IN SDO_NUMBER_ARRAY, 
     resolutionUnit   IN VARCHAR2, 
     mosaicParam      IN VARCHAR2, 
     storageParam     IN VARCHAR2, 
     outGeoRaster     IN OUT SDO_GEORASTER, 
     bgValues         IN SDO_NUMBER_ARRAY DEFAULT NULL, 
     parallelParam    IN VARCHAR2 DEFAULT NULL);

または

SDO_GEOR_AGGR.mosaicSubset(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
     pyramidLevel         IN NUMBER, 
     outSRID             IN NUMBER, 
     outModelCoordLoc    IN NUMBER, 
     referencePoint      IN SDO_GEOMETRY, 
     cropArea            IN SDO_GEOMETRY, 
     polygonClip         IN VARCHAR2, 
     boundaryClip        IN VARCHAR2, 
     layerNumbers        IN VARCHAR2, 
     outResolutions      IN SDO_NUMBER_ARRAY, 
     resolutionUnit      IN VARCHAR2, 
     mosaicParam         IN VARCHAR2, 
     storageParam        IN VARCHAR2, 
     outGeoRaster        IN OUT SDO_GEORASTER, 
     bgValues            IN SDO_NUMBER_ARRAY DEFAULT NULL, 
     parallelParam       IN VARCHAR2 DEFAULT NULL);

または

SDO_GEOR_AGGR.mosaicSubset(
     inGeoRasters     IN SYS_REFCURSOR, 
     pyramidLevel     IN NUMBER, 
     elevationParam   IN VARCHAR2, 
     outSRID          IN NUMBER, 
     outModelCoordLoc IN NUMBER, 
     referencePoint   IN SDO_GEOMETRY, 
     cropArea         IN SDO_GEOMETRY, 
     polygonClip      IN VARCHAR2, 
     boundaryClip     IN VARCHAR2, 
     layerNumbers     IN VARCHAR2, 
     outResolutions   IN SDO_NUMBER_ARRAY, 
     resolutionUnit   IN VARCHAR2, 
     mosaicParam      IN VARCHAR2, 
    storageParam      IN VARCHAR2, 
     outGeoRaster     IN OUT SDO_GEORASTER, 
     bgValues         IN SDO_NUMBER_ARRAY DEFAULT NULL, 
     parallelParam    IN VARCHAR2 DEFAULT NULL,
     referenceImage   IN SDO_GEORASTER DEFAULT NULL,
     referenceValue1  IN SDO_NUMBER_ARRAY DEFAULT NULL,
     referenceValue2  IN SDO_NUMBER_ARRAY DEFAULT NULL,
     refHistograms    IN SDO_GEOR_HISTOGRAM_ARRAY DEFAULT NULL);

または

SDO_GEOR_AGGR.mosaicSubset(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
     pyramidLevel        IN NUMBER, 
     elevationParam      IN VARCHAR2, 
    outSRID             IN NUMBER, 
     outModelCoordLoc    IN NUMBER, 
     referencePoint      IN SDO_GEOMETRY, 
     cropArea            IN SDO_GEOMETRY, 
     polygonClip         IN VARCHAR2, 
     boundaryClip        IN VARCHAR2, 
     layerNumbers        IN VARCHAR2, 
     outResolutions      IN SDO_NUMBER_ARRAY, 
     resolutionUnit      IN VARCHAR2, 
     mosaicParam         IN VARCHAR2, 
     storageParam        IN VARCHAR2, 
     outGeoRaster        IN OUT SDO_GEORASTER, 
     bgValues            IN SDO_NUMBER_ARRAY DEFAULT NULL, 
     parallelParam       IN VARCHAR2 DEFAULT NULL,
     referenceImage      IN SDO_GEORASTER DEFAULT NULL,
     referenceValue1     IN SDO_NUMBER_ARRAY DEFAULT NULL,
     referenceValue2     IN SDO_NUMBER_ARRAY DEFAULT NULL,
     refHistograms       IN SDO_GEOR_HISTOGRAM_ARRAY DEFAULT NULL);

説明

仮想モザイクまたはGeoRasterオブジェクトのコレクションに基づいて高度な大規模モザイク処理またはサブセット化を実行します。出力データは、永続的な格納または他の処理のためにGeoRasterオブジェクトに書き込まれます。必要に応じて、内部的幾何補正、共通ポイント・ルール、切れ目充填およびカラー・バランスが実行されます。

パラメータ

inGeoRasters

カーソルのソースGeoRasterオブジェクトを指定します。

georasterTableNames

ソースGeoRasterオブジェクトを含む表の名前(カンマ区切り)を指定します。

これらの表のMIN_X_RES$およびMAX_X_RES$列の定義と使用の詳細は、「使用上の注意」および「MIN_X_RES$およびMAX_X_RES$を使用した問合せパフォーマンスの向上」を参照してください。

georasterColumnNames

georasterTableNamesの表名に対応する表のSDO_GEORASTER型の列の名前(カンマ区切り)を指定します。

pyramidLevel

操作用のソースGeoRasterオブジェクトのピラミッド・レベルを指定します。このパラメータは、outResolutionsパラメータが指定されていない場合に使用され、それ以外の場合、モザイクに含まれるソースGeoRasterオブジェクトのピラミッド・レベルはoutResolutionsパラメータによって決定されます。

ピラミッド・レベル0上でソースGeoRasterオブジェクトが同じ解像度を持つ場合は、pyramidLevelパラメータおよびstorageParamパラメータ内のオプションのpyramid=trueのみが有効になります。 

outResolutionsパラメータがNULLでない場合、pyramidLevelパラメータは無視されます。

elevationParam

標高パラメータaverage (平均表面高度)を含む文字列。このパラメータは、引用符で囲まれた文字列で、キーワード=値のペア('average=800'など)を含める必要があります。このパラメータは、出力GeoRasterオブジェクトの標高を指定します。このパラメータがNULLである場合、0はaverageであるとみなされます。

elevationParamパラメータを使用する場合、入力GeoRasterオブジェクトには3DモデルSRIDおよび0 (ゼロ)以外の平均表面高度が含まれる必要があります。

outSRID

出力GeoRasterオブジェクトの座標系を指定します。NULLか、またはMDSYS.CS_SRS表のSRID列の値を指定する必要があります。

outModelCoordLoc

セルによって表現される領域のベースのモデル位置を示す値を指定します。CENTERの場合は0UPPERLEFTの場合は1を指定します。NULLの場合、CENTERが使用されます。

referencePoint

モザイクの参照点として使用するSDO_GEOMETRY型の点を指定します。点を指定する場合、モザイク処理されたイメージの左上角が参照点に揃えられます(referencePointと出力の左上角の間の距離がピクセルの整数になります)。このパラメータがNULLの場合、参照点は、cropAreaの左上角または(cropAreaがNULLの場合)出力エクステントの左上角を暗黙的に使用します。

cropArea

クロッピング領域を定義します。SDO_GEOMETRYオブジェクトにNULL以外のSRIDが含まれる場合、SDO_GEOMETRYオブジェクトで指定される座標はモデル空間内にあり、ソースGeoRasterオブジェクトは地理参照される必要がありますが、それ以外の場合、SDO_GEOMETRYオブジェクトで指定される座標はセル空間内にあり、ソースGeoRasterオブジェクトは地理参照されても地理参照されなくてもかまいません。polygonClipFALSEの場合、cropAreaのMBRがモザイク処理されたデータをクロッピングするために使用されます。polygonClipTRUEの場合、cropAreaのジオメトリがモザイク処理されたデータをクロッピングするために使用されます。

polygonClip

文字列TRUEではモザイク処理されたデータをクロッピングするためにcropArea値が使用され、文字列FALSEまたはNULL値ではモザイク処理されたデータをクロッピングするためにcropAreaのMBRが使用されます。

boundaryClip

文字列TRUEまたはNULL値では、cropAreaをクリップするために仮想モザイクの境界が使用され、文字列FALSEでは、仮想モザイクの外部にあるがcropArea内にある領域に背景値が入力されます。

layerNumbers

処理を実行する論理レイヤー番号を示す文字列を指定します。カンマで値を区切り、ハイフンで範囲を指定します(たとえば、2-4はレイヤー2、3および4を示します)。指定しない場合、モザイク結果にはソースGeoRasterオブジェクトと同じ数のバンドが含まれます。

outResolutions

出力GeoRasterデータの解像度を指定します。NULLの場合、デフォルトは、最初に出現したGeoRasterオブジェクトの解像度です。詳細は、「使用上の注意」を参照してください。

resolutionUnit

outResolutionsパラメータの単位を指定します。NULLの場合、デフォルトは出力SRIDの単位です。指定する場合、unit=valueという形式で、引用符で囲んだ文字列にする必要があります(valueは単位名で、有効なSDO_UNITS_OF_MEASURE表からの有効なUNIT_OF_MEAS_NAME値)。このパラメータは、outResolutionsがNULLである場合は無視されます。

mosaicParam

モザイク・パラメータを指定するため、キーワード=値のペアのカンマで区切られた引用符付き文字列を指定します。これには、表8-1のキーワードを1つ以上含めることができます。

注意:

GeoRasterのサブプログラムに対する文字列(VARCHAR2)パラメータの中に数値がある場合は、ロケールにかかわらず、小数点にはピリオド(.)を使用する必要があります。

表8-1 mosaicParamキーワード

キーワード 説明

cbreference

(referenceImagereferenceValue1、/referenceValue2、およびrefHistogramsパラメータが含まれるプロシージャ構文でサポートされます。)  colorBalanceで使用される参照値のソースを指定します。次のいずれかの値を指定できます。

  • VALUE: 参照値はreferenceValue1およびreferenceValue2パラメータで指定されます。

  • IMAGE: 参照値はreferenceImageパラメータから取得されます。

  • OVERLAP: 参照値は、ソース・イメージの重複する領域から取得されます。

    (SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

colorBalance

カラー・バランスの方法を指定します。次のいずれかの値を指定できます。

  • NONE (デフォルト): カラー・バランスは実行されません。

  • LINEARSTRETCHING: 線形ストレッチ・メソッドを使用してソース・イメージのセル値をリファンレスの最小値および最大値までストレッチします。

    cbreferenceパラメータがVALUEである場合、パラメータreferenceValue1は参照の最小値、パラメータreferenceValue2は参照の最大値を持ちます。referenceValue1またはreferenceValue2がNULLの場合、デフォルト値0と255がそれぞれ使用されます。referenceValue1またはreferenceValue2に値が1つしかない場合、それがすべてのバンドに適用されます。それ以外の場合は、参照値は各バンドに対応します。したがって、SDO_NUMBER_ARRAY内の値の数はソース・イメージ内バンドの数と同じである必要があります。

    cbreferenceパラメータがIMAGEである場合、referenceImageの最小値および最大値が参照として使用されます。

    cbreferenceパラメータが指定されていない場合、minValおよびmaxValパラメータを使用して最小および最大の参照値がそれぞれ指定されます。

  • STATISTICMATCHING: 参照統計と一致するソース・イメージをストレッチします。

    cbreferenceパラメータがVALUEである場合、パラメータreferenceValue1は参照の平均値、パラメータreferenceValue2は参照の標準偏差値を持ちます。referenceValue1またはreferenceValue2がNULLの場合、デフォルト値128と100がそれぞれ使用されます。referenceValue1またはreferenceValue2に値が1つしかない場合、それがすべてのバンドに適用されます。それ以外の場合は、参照値は各バンドに対応します。したがって、SDO_NUMBER_ARRAY内の値の数はソース・イメージ内バンドの数と同じである必要があります。

    cbreferenceパラメータがIMAGEである場合、一致には参照イメージの平均および標準偏差値が使用されます。

    cbreferenceパラメータがOVERLAPである場合、平均および標準偏差値は重複する領域から導出されます。

    cbreferenceパラメータが指定されていない場合、stdおよびmeanパラメータを使用して参照統計が指定されます。

  • HISTOGRAMMATCHING: 参照ヒストグラムがソース・イメージのヒストグラムとして使用されます。

    cbreferenceパラメータがVALUEである場合、パラメータreferenceHistogramで各バンドの参照ヒストグラムが定義されます。参照ヒストグラムが1つしか指定されない場合は、それがすべてのバンドに適用されます。

    cbreferenceパラメータがIMAGEである場合、各バンドの参照イメージのヒストグラムが一致に使用されます。

    cbreferenceパラメータがOVERLAPである場合、重複する領域にあるヒストグラムを使用して一致が導出されます。

commonPointRule

重複する領域のセル値を取得するための方法を指定します。次のいずれかの値を指定できます。

  • START: 最初に出現したGeoRasterオブジェクトの値が使用されます。

  • END: 最後に出現したGeoRasterオブジェクトの値が使用されます。

  • LATEST: メタデータに最も新しいEndDateTimeが含まれるGeoRasterオブジェクトの値が使用されます。

  • OLDEST: メタデータに最も古いEndDateTimeが含まれるGeoRasterオブジェクトの値が使用されます。

  • CTC: 出力ウィンドウの中心に最も近いGeoRasterオブジェクトからのコール値が使用されます。

  • HIGH: すべての重複するGeoRasterオブジェクトの最大セル値が使用されます。

  • LOW: すべての重複するGeoRasterオブジェクトの最小セル値が使用されます。

  • AVERAGE: 重複するGeoRasterオブジェクトのすべてのセル値の平均が使用されます。

  • HIGHRES: 空間解像度が最も高いGeoRasterオブジェクトの値が使用されます。

fillGap

ソース・イメージ間の狭い切れ目を埋めるかどうかを指定します。TRUEでは、2ピクセル以下の幅の切れ目が最も近くにあるピクセル値で埋められます。FALSEでは、切れ目が0 (ゼロ)またbgValueで埋められます。

maxVal

colorBalanceLINEARSTRETCHINGでない場合、またはcbreferenceキーワードが指定される場合は無視されますが、それ以外の場合、線形ストレッチ・メソッドの範囲で最も大きい値を指定します。デフォルトは255です。(SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

mean

colorBalanceSTATISTICMATCHINGでない場合、またはcbreferenceキーワードが指定される場合は無視されますが、それ以外の場合、静的一致メソッドの参照平均値を指定します。(SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

minVal

colorBalanceLINEARSTRETCHINGでない場合、またはcbreferenceキーワードが指定される場合は無視されますが、それ以外の場合、線形ストレッチ・メソッドの範囲で最も小さい値を指定します。デフォルトは0です。(SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

nodata

重複する領域の処理時、またはリサンプリングにNODATA (NODATA値またはNODATAビットマップ・マスク)を考慮するかどうかを指定します。デフォルト値はFALSEです。

重複する領域を処理する際、nodata=TRUEでは、NODATA値を含むセルは重複する領域の計算に含まれませんが、nodata=FALSEでは、すべての重複するセル値が重複する領域の計算に含まれます。

リサンプリングを実行し、リサンプリング・メソッドがBILINEARBIQUADRATICCUBICAVERAGE4またはAVERAGE16の場合、リサンプリングの計算に含まれるセル値がNODATA値であると、nodata=TRUE句によってリサンプリングの結果もNODATA値になります。

resampling

モザイク操作中に使用するリサンプリング・メソッドを指定します(リサンプリングが含まれるか、幾何補正が必要な場合)。NN (デフォルト)、BILINEARBIQUADRATICCUBICAVERAGE4またはAVERAGE16のいずれかの値を指定できます。詳細は、「リサンプリングおよび内挿」を参照してください。

resamplingTolerance

ソースGeoRasterオブジェクトを完全に揃えられない場合にリサンプリングを実行しない許容差を指定します。値は、0から0.5の間にする必要があり、単位はピクセルまたはセルです(たとえば、0.5は半分のピクセルまたはセルを意味します)。指定しない場合、0.5が使用され、リサンプリングは発生しません。

resFilter

出力解像度の範囲にあるGeoRasterオブジェクトのみを選択するようにソースGeoRasterオブジェクトを絞り込むかどうかを指定します(outResolutionパラメータ)。TRUE (デフォルト)の場合、解像度フィルタリングが有効です。FALSEの場合、解像度フィルタリングが無効になり、すべてのソースGeoRasterオブジェクトがモザイク処理プロセスに含まれます。(SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

std

colorBalanceSTATISTICMATCHINGでない場合、またはcbreferenceキーワードが指定される場合は無視されますが、それ以外の場合、静的一致メソッドの参照標準偏差値を指定します。(SDO_GEOR_AGGR.appendappendParamが指定されている場合は常に無視されます。)

storageParam

記憶域パラメータを示す文字列を指定します(「記憶域パラメータ」を参照)。このパラメータがNULLの場合、結果のGeoRasterオブジェクトは、モデル空間(存在する場合)またはセル空間で最初に出現したソースGeoRasterオブジェクトと同じ記憶域パラメータ(blockSizecellDepthinterleavingおよびcompression)を持ちます。ただし、モザイク処理する最初に出現したGeoRasterオブジェクトと同じ記憶域パラメータをモザイクに設定する場合を除き、出力モザイクのサイズに応じて記憶域パラメータ(特にブロック化サイズ)を指定することをお薦めします。

pyramid=trueを指定すると、outResolutionsパラメータがNULLでpyramidLevelパラメータがNULLでない場合にソースGeoRasterオブジェクトのピラミッドがモザイク処理されます。結果のGeoRasterオブジェクトの最大ピラミッド・レベルは、ソースGeoRasterオブジェクトの最大ピラミッド・レベルの最小値です。デフォルトではpyramid=falseであるため、ピラミッドはモザイク化されません。

bitmapmask=trueが指定されている場合、ソースGeoRasterオブジェクトのビットマップ・マスクもモザイク処理されます。

outGeoRaster

操作の結果を格納するGeoRasterオブジェクトを指定します。ソースGeoRasterオブジェクトと同じにすることはできません。

bgValues

部分的に空のラスター・ブロックに入力する背景セル値(完全に空のラスター・ブロックは入力なしで空のままになります)。それらは、クリップ・ポリゴンの外にある領域またはソース・イメージに含まれていないギャップ領域など、モザイク処理操作から生じる空の領域を埋めるために使用されます。(「空のラスター・ブロック」も参照してください。)SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)またはバンド次元のサイズ(各バンドにそれぞれ異なる入力値を使用)のいずれかであることが必要です。たとえば、SDO_NUMBER_ARRAY(1,5,10)では、1番目のバンドに1、2番目のバンドに5、3番目のバンドに10が入力されます。デフォルトのbgValuesは0 (ゼロ)です。

入力値は、ターゲット・セル深度で指定されているように有効なセル値である必要があります。

parallelParam

操作の並列度を指定します。指定する場合、parallel=nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)

並列性が指定されている場合、プロシージャによって内部コミット操作が実行されます。エラーが発生した場合(Oracle Parallel Serverが原因である場合でも)、操作をロールバックするために、モザイク処理された結果のGeoRasterオブジェクトを明示的に削除する必要があります。

referenceImage

カラー・バランス操作中に使用される参照イメージを指定します。NULLの場合、デフォルトは問合せからの最初のイメージです。

referenceValue1

カラー・バランス操作中に使用される1つ以上の参照値を指定します。値の意味はカラー・バランス・メソッドで決定されます。

referenceValue2

カラー・バランス操作中に使用される1つ以上の参照値を指定します。値の意味はカラー・バランス・メソッドで決定されます。

referenceHistograms

カラー・バランス操作中に使用される参照ヒストグラムを指定します。

使用上の注意

プロシージャの最初の2つの形式によって基本カラー・バランス・メソッドが指定され、出力GeoRasterオブジェクトの標高が0(ゼロ)であるとみなされます。プロシージャの最後の2つの形式では、参照値または参照イメージを使用してより高度なカラー・バランス・メソッドが指定され、出力GeoRasterオブジェクトの標高値はユーザーが指定します。

ソースGeoRasterオブジェクトは、モザイク処理を実行できるように、イメージまたはラスター・データとして準備しておく必要があります。つまり、モザイク処理されるGeoRasterオブジェクトは、次の条件を満たしている必要があります。

  • 地理参照されているオブジェクトと地理参照されていないオブジェクトを混在させないこと。すべてのオブジェクトが地理参照されているか、地理参照されているオブジェクトが1つもないこと。

  • 同じレイヤー数またはバンド数を持つ。ソース・オブジェクトの行および列の次元サイズに対する制限はありません。

モザイク処理されるGeoRasterオブジェクトが地理参照される場合、これらのオブジェクトはその地理参照情報に従ってともに配置されます。GeoRasterオブジェクトが地理参照されない場合、これらのオブジェクトはULTCoordinate値に従ってともに配置されます。(ULTCoordinateの詳細は、「GeoRasterデータ・モデル」を参照してください。)

結果のGeoRasterオブジェクトの空間参照メタデータは、outSRIDおよびoutResolutionsパラメータによって決定されます。outSRIDが指定されていない場合、最初に出現したソースGeoRasterオブジェクトのSRIDが使用されます。outResolutionsが指定されていない場合、指定したピラミッド・レベル(pyramidLevelパラメータ)で最初に出現したソースGeoRasterオブジェクトの空間解像度が使用されます。空間解像度は、すべてのソース・イメージのメタデータに設定する必要があります。

ソースGeoRasterオブジェクトがoutSRIDと異なるSRIDを持っているか、幾何補正されていない場合、モザイク処理されたGeoRasterオブジェクトが同一のSRIDおよび空間解像度の値を持つように、動的に再投影または幾何補正されます。

ソースGeoRasterオブジェクトが重複している場合、重複する領域のデータは、mosaicParamパラメータで指定されたルールに準拠します。デフォルトでは、最後に出現したソースGeoRasterオブジェクトのセル値が使用されます。

出力モザイクに寄与するソースGeoRasterオブジェクトは、空間に関してはcropAreaパラメータによって、解像度に関しては(解像度の選択)、outResolutionsパラメータによって選択されます。

  • cropAreaパラメータを使用して、ソースGeoRasterオブジェクトの空間エクステントを問い合せ、cropAreaジオメトリの範囲に含まれるGeoRasterオブジェクトが決定されます。したがって、空間索引はGeoRasterオブジェクトのspatialExtent属性上に構築する必要があります。

  • outResolutionsパラメータを使用して、ソースGeoRasterオブジェクトが検索されるため、outResolutions値はソースGeoRasterオブジェクトの解像度の範囲内に含まれます。GeoRasterオブジェクトの空間解像度の範囲は、ピラミッド・レベル0の解像度とGeoRasterオブジェクトの最高のピラミッド・レベルの解像度によって決定されます。それは、ピラミッド・レベル0 (ゼロ)よりも低く、ピラミッド・レベルが最上位のピラミッド・レベルよりも高い半ピラミッドです。たとえば、GeoRasterオブジェクトのピラミッド・レベル0 (ゼロ)のときの解像度が30mで、最上位のピラミッド・レベル5のときの解像度が960mである場合、このGeoRasterオブジェクトの空間解像度の範囲は22.5m ((30 + 30/2)/2)から1440m ((960 + 960*2)/2)の間になります。

outResolutionsパラメータを使用する解像度の選択は、georasterTableNamesパラメータにリストされている表の列MIN_X_RES$およびMAX_X_RES$ (両方ともNUMBER型)を定義することでより迅速に行うことができます(MIN_X_RES$とMAX_X_RES$には、それぞれソースGeoRasterオブジェクトの最小および最大の空間解像度の値を指定します)。(ソースGeoRasterオブジェクトが多数存在する場合は、Bツリー索引はMIN_X_RES$およびMAX_X_RES$列上に作成する必要があります。)この機能を活用するには、georasterTableNamesパラメータを含むプロシージャ構文を使用する必要があります。また、MIN_X_RES$およびMAX_X_RES$列に格納されている解像度の値は、ソースGeoRasterオブジェクトのspatialExtent属性内に格納されているSRIDの単位と同じ単位である必要があります。

解像度の選択は、mosaicParamパラメータでresFilter=falseを設定することでオフすることができます。解像度の選択をオフにすると、ソースGeoRasterオブジェクトは空間でのみフィルタ処理されます。

ソースGeoRasterオブジェクトに空のラスター・ブロックが含まれるか、ソースGeoRasterオブジェクトが領域全体を覆っていない場合、モザイク処理された結果のGeoRasterオブジェクトには、空のラスター・ブロックまたは部分的に空のラスター・ブロック(「空のラスター・ブロック」を参照)が含まれます。いずれのソースGeoRasterオブジェクトにも含まれない結果のラスター・ブロックは、空のままです。部分的に空のラスター・ブロックにはbgValuesパラメータに指定した値が入力されます。bgValuesパラメータを指定しない場合は0 (ゼロ)が入力されます。

storageParam文字列でbitmapmaskパラメータがtrueに設定されている場合、ビットマップ・マスクはモザイク処理されます。デフォルトでは、ビットマップ・マスクはモザイク処理されません。ビットマップ・マスクもNODATAとみなされる可能性があることに注意してください(その場合、表8-1のNODATAキーワードを参照してください)。

mosaicParamcolorBalanceオプションを使用するには、ソース・イメージのSDO_GEOR.generateStatisticsをコールし、イメージの統計を生成してそれらをソース・イメージのメタデータに格納する必要があります。

ソースとなるすべてのGeoRasterオブジェクトが空白で、同じblankCellValue値を持つ場合、結果のGeoRasterオブジェクトも空白になり、そのblankCellValue値を持ちます。そうでない場合、結果のGeoRasterオブジェクトは空白にはなりません。

モザイク処理の結果を含めるGeoRasterオブジェクト(georasterパラメータ)には、ソースGeoRasterオブジェクト(モザイク処理を行う対象となるオブジェクト)を指定することはできません。

モザイク処理では、一定の間隔で内部コミット操作が実行されるため、ロールバックできません。処理が中断された場合、ダングリング・ラスター・ブロックがラスター・データ表に存在する可能性があります。ダングリング・ラスター・ブロックは、GeoRasterオブジェクトおよびシステム・データをデータベースでメンテナンスすることにより処理できます(「データベースのGeoRasterオブジェクトおよびシステム・データのメンテナンス」を参照)。

詳細は、「大規模イメージのモザイク処理」および「仮想モザイク」を参照してください。

次の例は、線形ストレッチ・メソッド(colorBalance=linearstretching)を使用してソース・イメージをカラー・バランス処理する方法を示しています。ソース・イメージのセル値(cbreference=value)を最小参照値および最大参照値までストレッチします。参照値は、ref_minおよびref_max変数で指定されます。

DECLARE
gr sdo_georaster;
resolutions  sdo_number_array;
ref_min    sdo_number_arrray;
ref_max   sdo_number_array;
BEGIN
    insert into georaster_table (georid, georaster)
        values (10, sdo_geor.init('RDT_1',10))
         returning georaster into gr;
    
     resolutions := sdo_number_array(30, 30);
     ref_min := sdo_number_array(10, 10, 10);
     ref_max := sdo_number_array(200, 255, 230);

     sdo_geor_aggr.mosaicSubset('georaster_table_1, georaster_table_2', 
                   'georaster, georaster', 
                   0, null, 32610, null, null, null,
                   null, null, null, resolutions, null, 
                   'commonPointRule=average, colorBalance=linearstretching, cbreference=value', 
                   'blocking=optimalpadding, blocksize=(512,512,3)', gr, null, 'parallel=4', null, ref_min, ref_max);
 
      update georaster_table set georaster = gr where georid=10;
      commit;                                                              
END;
/

次の例では、ヒストグラム一致メソッド(colorBalance=histogramMatching)を使用してソース・イメージをカラー・バランス処理する方法を示しています。各ソース・イメージのヒストグラム(cbreference=image)を参照イメージのヒストグラムと一致させます。

DECLARE
gr sdo_georaster;
resolutions  sdo_number_array;
refgr sdo_georaster;
BEGIN
    -- get the reference image
select georaster into refgr from georaster_table where georid = 1;

-- insert new georaster for the mosaic
    insert into georaster_table (georid, georaster)
        values (10, sdo_geor.init('RDT_1',10))
         returning georaster into gr;
    
     resolutions := sdo_number_array(30, 30);

    -- mosaic
     sdo_geor_aggr.mosaicSubset('georaster_table_1, georaster_table_2', 
                   'georaster, georaster', 
                   0, 32610, null, null, null, null,
                   null, null, null, resolutions, null, 
                   'commonPointRule=average, colorBalance=histogramMatching, cbreference=image', 
                   'blocking=optimalpadding, blocksize=(512,512,3)', gr, null, 'parallel=4', refgr);
 
      update georaster_table set georaster = gr where georid=10;
      commit;                                                              
END;
/

次の例は、静的一致メソッド(colorBalance=statisticMatching)を使用してソース・イメージをカラー・バランス処理する方法を示しています。重複する領域(cbreference=overlap)に基づいてソース・イメージの統計を調整します。

DECLARE
gr sdo_georaster;
resolutions  sdo_number_array;
BEGIN
    -- get the reference image
select georaster into refgr from georaster_table where georid = 1;

-- insert new georaster for the mosaic
    insert into georaster_table (georid, georaster)
        values (10, sdo_geor.init('RDT_1',10))
         returning georaster into gr;
    
     resolutions := sdo_number_array(30, 30);

    -- mosaic
     sdo_geor_aggr.mosaicSubset('georaster_table_1, georaster_table_2', 
                   'georaster, georaster', 
                   0, null, 32610, null, null, null,
                   null, null, null, resolutions, null, 
                   'commonPointRule=average, colorBalance=statisticMatching, cbreference=overlap', 
                   'blocking=optimalpadding, blocksize=(512,512,3)', gr, null, 'parallel=4');
 
      update georaster_table set georaster = gr where georid=10;
      commit;                                                              
END;
/

8.6 SDO_GEOR_AGGR.validateForMosaicSubset

構文

SDO_GEOR_AGGR.validateForMosaicSubset(
     inGeoRasters    IN SYS_REFCURSOR, 
      outSRID        IN NUMBER, 
     outResolutions  IN SDO_NUMBER_ARRAY, 
     resolutionUnit  IN VARCHAR2, 
     resultTableName IN VARCHAR2);

または

SDO_GEOR_AGGR.validateForMosaicSubset(
     georasterTableNames  IN VARCHAR2, 
     georasterColumnNames IN VARCHAR2, 
      outSRID              IN NUMBER, 
     outResolutions       IN SDO_NUMBER_ARRAY, 
     resolutionUnit       IN VARCHAR2, 
     resultTableName      IN VARCHAR2);

説明

仮想モザイクまたはGeoRasterオブジェクトの大規模なコレクションに対してモザイク処理またはサブセット問合せ操作を実行可能であるかどうかをチェックします。検証エラーおよび注意は、すべてユーザーが作成した結果表に格納されます。

パラメータ

inGeoRasters

カーソルのソースGeoRasterオブジェクトを指定します。

georasterTableNames

ソースGeoRasterオブジェクトを含む表の名前(カンマ区切り)を指定します。

georasterColumnNames

georasterTableNamesの表名に対応する表のSDO_GEORASTER型の列の名前(カンマ区切り)を指定します。

outSRID

出力GeoRasterオブジェクトの座標系を指定します。NULLか、またはMDSYS.CS_SRS表のSRID列の値を指定する必要があります。

outResolutions

出力GeoRasterデータの解像度を指定します。NULLの場合、デフォルトは、最初に出現したソースGeoRasterオブジェクトの解像度です。

resolutionUnit

outResolutionsパラメータの単位を指定します。NULLの場合、デフォルトは出力SRIDの単位です。指定する場合、unit=valueという形式で、引用符で囲んだ文字列にする必要があります(valueは単位名)。このパラメータは、outResolutionsがNULLである場合は無視されます。

resultTableName

検証の結果表の名前を指定します。この表は、事前に存在する必要があり、次の列定義が含まれる必要があります。

time timestamp, 
type varchar2(16), 
description varchar2(512), 
table_name varchar2(32), 
column_name varchar2(1024), 
rdt_table_name varchar2(32), 
raster_id number

使用上の注意

resultTableNameパラメータ値には次の考慮事項が適用されます。

  • 指定した表が存在しない場合、エラーが生成されます。

  • パラメータが指定されていないか、NULLに指定されている場合、プロシージャでは、最初の検証エラーの検出時にエラーがスローされますが、それ以外の場合、すべての検証エラーが表に配置され、エラーなしで完了します。

  • 指定した表が空ではない場合、プロシージャでは、表の既存のデータに行が追加されますが、いずれかの列に対する一意の制約があり、新しく追加されたデータの値がその制約付きの行に含まれる既存のデータの値と同じである場合、エラーが生成されます。

  • 表のTYPE列には、ERROR (修正する必要のある項目)やNOTE (なんらかのアクションを必要とするか、必要としない情報)などの問題のタイプを示す文字列が含まれます。DESCRIPTION列では、問題の詳細が提供されます。

このプロシージャは、次の検証チェックを実行します。

  • ソースGeoRasterオブジェクトのバンド次元サイズは、同じである必要があります。

  • ソースGeoRasterオブジェクトには、一貫した地理参照ステータス(すべてが地理参照されているか、すべてが地理参照されていないか)が必要です。

  • モザイク処理の実行時に、再投影または幾何補正を実行する場合、その操作は実行可能である必要があります。

  • 出力空間参照システムは、アフィン変換である必要があります。出力SRSは、入力パラメータ(outSRIDoutResolutionsresolutionUnit)または最初のソースGeoRasterオブジェクトによって決定されます。

次の例では、モザイク操作が可能であるかどうかをチェックします。検証エラーは、すべて事前定義済のMOSAIC_ERROR表に格納されます。

EXECUTE sdo_geor_aggr.validateForMosaicSubset('georaster_table_1, georaster_table_2', 'georaster, georaster', 26986, sdo_number_array(30, 30), 'unit=meter', 'mosaic_error');

-- Check the validation results:
SELECT table_name table, column_name column, rdt_table_name rdt, raster_id rid, type, description FROM mosaic_error ORDER BY time;

TABLE COLUMN RDT   RID TYPE  DESCRIPTION
---------- -------- ----- --- ----- ----------------------------------------
GEORASTER_1    GEORASTER    RDT_1   2 ERROR The source georaster object is not georeferenced.