7.144 SDO_GEOR.setScaling

形式

SDO_GEOR.setScaling(
     georaster    IN OUT SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     scalingFunc  IN SDO_NUMBER_ARRAY);

説明

レイヤーに関連付けられたスケール変更ファンクションを設定します。または、scalingFuncパラメータにNULLが指定された場合、既存の値を削除します。

ノート:

今回のリリースのGeoRasterでは、スケール変更ファンクションを使用した操作は実行されません。

パラメータ

georaster

GeoRasterオブジェクトを指定します。

layerNumber

操作を実行するレイヤーの番号を指定します。

scalingFunc

スケール変更ファンクションの係数ごとに1つの値を指定した、数値の配列を指定します。スケール変更ファンクションは、次のとおりです。

value = (a0 + a1 * cellvalue) / (b0 + b1 * cellvalue)

係数の順序は、a0、a1、b0、b1です。

使用上のノート

処理の完了後、GeoRasterオブジェクトは自動的に検証されます。

layerNumberがNULLか、GeoRasterオブジェクトに対して無効である場合、scalingFuncが不適切な配列サイズである場合、a0、a1、b0および1のいずれかがNULLの場合、またはb01の両方が0 (ゼロ)の場合は、例外が発生します。

次の例では、GeoRasterオブジェクトのレイヤー2に、スケール変更ファンクションの係数を設定します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」例1-1の次に説明されています。)

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT georaster INTO grobj FROM georaster_table WHERE georid=4 FOR UPDATE;
  sdo_geor.setScaling(grobj, 2, sdo_number_array(1, 0.5, 1, 0));
  UPDATE georaster_table SET georaster = grobj WHERE georid=4;
  COMMIT;
END;
/