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; /
親トピック: SDO_GEORパッケージのリファレンス