13.1 SDO_GEOR_UTL.calcOptimizedBlockSize

形式

SDO_GEOR_UTL.calcOptimizedBlockSize(
     dimensionSize IN SDO_NUMBER_ARRAY, 
     blockSize     IN OUT SDO_NUMBER_ARRAY, 
     pyramidLevel  IN number default 0);

説明

GeoRaster次元サイズおよびユーザー指定のブロック・サイズ値に基づいて、最適なblockSize値を計算および設定することで、使用するGeoRasterオブジェクト記憶域の埋込みスペースが少なくなります。

パラメータ

dimensionSize

GeoRasterオブジェクトの次元サイズ配列。

blockSize

ブロック・サイズ配列。この配列には、ユーザー指定のブロック・サイズ値が格納され、プロシージャが調整された最適なブロック・サイズ値を出力します。

pyramidLevel

最大ピラミッド・レベル。デフォルト値は0 (ゼロ)です。

使用上のノート

このプロシージャでは、適切なブロック・サイズ値(最適ではない場合があります)を提供して自動的にそれらを調整し、GeoRasterオブジェクト記憶域の埋込みスペースの容量を削減するために最も適した特定のGeoRaster次元サイズ配列のブロック・サイズ配列値を決定します。調整は、常にユーザー指定の値を基準に行われます。詳細は、「記憶域パラメータ」表1-1blockingキーワードおよびblockSizeキーワードの説明を参照してください。

dimensionSizeおよびblockSizeパラメータ値に、次元の値を行、列、バンドの順で指定します。

入力されたdimensionSizeパラメータまたはblockSizeパラメータに無効な値が含まれている場合、例外が発生します。

次の例では、指定した次元サイズ配列の(12371,11261,13)および指定したブロック・サイズ配列の(512,512,5)に基づいて、最適なブロック・サイズ値を計算して表示します。戻された最適なrowBlockSize値は、元の値の512ではなく538であり、戻された最適なbandBlockSize値は、元の値の5ではなく1であることに注意してください。

DECLARE
  dimensionSize    sdo_number_array;
  blockSize        sdo_number_array;
BEGIN
  dimensionSize:=sdo_number_array(12371,11261,13);
  blockSize:=sdo_number_array(512,512,5);
  sdo_geor_utl.calcOptimizedBlockSize(dimensionSize,blockSize);
  dbms_output.put_line('Optimized rowBlockSize = '||blockSize(1));
  dbms_output.put_line('Optimized colBlockSize = '||blockSize(2));
  dbms_output.put_line('Optimized bandBlockSize = '||blockSize(3));
END;
/
Optimized rowBlockSize = 538
Optimized colBlockSize = 512
Optimized bandBlockSize = 1