7.137 SDO_GEOR.setLayerOrdinate

形式

SDO_GEOR.setLayerOrdinate(
     georaster    IN OUT SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     ordinate     IN NUMBER);

説明

GeoRasterオブジェクトの指定されたレイヤーにバンド座標値を設定します。または、ordinateパラメータにNULLが指定された場合、既存の値を削除します。

パラメータ

georaster

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

layerNumber

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

ordinate

レイヤーのバンド次元のバンド座標値を指定します。

使用上のノート

レイヤーのバンド座標は、レイヤー(layerNumberパラメータ値)が関連付けられている物理バンドを指します。今回のリリースでは、関連付けは、レイヤー1がバンド0、レイヤー2がバンド1のように指定する必要があります(「バンド、レイヤーおよびメタデータ」図1-5を参照)。

オブジェクト・レイヤーのバンド座標は、GeoRasterでは無視されます。

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

レイヤーのバンド座標の値を戻すには、SDO_GEOR.getLayerOrdinateファンクションを使用します。

layerNumberがNULLか、GeoRasterオブジェクトに対して無効な場合、ordinateがNULLの場合、またはlayerNumberがオブジェクト・レイヤーを指定していないときに座標がlayerNumber-1と等しくない場合は、例外が発生します。

次の例では、GEORASTER_TABLE表で、GEORID列値が4である行に含まれているGeoRasterオブジェクト(GEORASTER列)のレイヤー1のバンド座標値を0(ゼロ)に設定します。(GEORASTER_TABLE表の定義は、「記憶域パラメータ」例1-1の次に説明されています。)

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