7.152 SDO_GEOR.setULTCoordinate

形式

SDO_GEOR.setULTCoordinate(
     georaster  IN OUT SDO_GEORASTER, 
     ultCoord   IN SDO_NUMBER_ARRAY);

説明

GeoRasterオブジェクトの左上角のセル座標値を設定または調整します。

パラメータ

georaster

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

ultCoord

rasterType値が20001の場合は2つの数値の配列(行および列の座標)を、rasterType値が21001の場合は3つの数値の配列(行、列およびバンドの座標)を指定します。3つの数値を指定する場合、3つ目の数値(バンド番号)は0である必要があります。ULTCoordinateの詳細は、「GeoRasterデータ・モデル」を参照してください。

使用上のノート

メタデータに空間参照情報が含まれ、GeoRasterオブジェクトが地理参照されている場合、空間参照情報が有効かどうかが確認されます。有効な場合は、地理参照情報を含む空間参照情報は更新され、新しいULT座標に従って調整されますが、有効でない場合は、例外が発生します。

GeoRasterオブジェクトの左上の座標値を戻すには、SDO_GEOR.getULTCoordinateファンクションを使用します。

ultCoordがNULLか、不適切な配列サイズある場合、またはNULLの配列要素を含んでいる場合は、例外が発生します。

次の例では、rasterType値が20001または21001のどちらであるかを処理するロジックによって、GeoRasterオブジェクトの左上角の行および列の座標を設定します。(この例は、GEORASTER_TABLEという名前の表を参照します。この表の定義は、「記憶域パラメータ」例1-1の次に説明されています。)

DECLARE
 grobj sdo_georaster;
BEGIN
 SELECT georaster INTO grobj FROM georaster_table WHERE georid=1 FOR UPDATE;
 if grobj.rasterType = 20001 then
      sdo_geor.setULTCoordinate(grobj, sdo_number_array(0, 0));
 elsif grobj.rasterType = 21001 then
      sdo_geor.setULTCoordinate(grobj, sdo_number_array(0, 0, 0));
 end if;
 UPDATE georaster_table SET georaster = grobj WHERE georid=1;
 COMMIT;
END;
/