7.14 SDO_GEOR.deleteNODATA

形式

SDO_GEOR.deleteNODATA(title
     georaster   IN OUT SDO_GEORASTER 
     layerNumber IN NUMBER 
     nodata      IN NUMBER);

または

SDO_GEOR.deleteNODATA(
     georaster   IN OUT SDO_GEORASTER 
     layerNumber IN NUMBER 
     nodata      IN SDO_RANGE_ARRAY);

説明

1つ以上のNODATA値またはその値の範囲を削除します。

パラメータ

georaster

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

layerNumber

GeoRasterオブジェクト内のレイヤーの番号を指定します。値が0(ゼロ)の場合、オブジェクト・レイヤーが指定されます。

nodata

単一の数値か、数字または数字の範囲の配列を1つ指定します。NODATA値の範囲には下限が含まれ、上限は含まれません。

SDO_RANGE_ARRAY型の詳細は、「NODATA値および値の範囲」を参照してください

使用上のノート

NODATA値またはその値の範囲が削除された場合、GeoRasterオブジェクトのセル深度を使用して正しい範囲が新しく生成されます。セル深度に浮動セル値が指定されている場合、削除が可能なのは、既存の単一数値のNODATA値か、または既存のNODATA値の範囲の部分的な範囲のみです。

NODATA値および値の範囲の詳細は、「NODATA値および値の範囲」を参照してください。

1つ以上のNODATA値またはその値の範囲を追加するには、SDO_GEOR.addNODATAプロシージャを使用します。GeoRasterオブジェクトのNODATA値を戻すには、SDO_GEOR.getNODATAファンクションを使用します。

次の例では、オブジェクト・レイヤーに関連付けられたNODATAのメタデータからセル値9を削除します。

DECLARE
  gr sdo_georaster;
BEGIN
  SELECT georaster INTO gr FROM georaster_table WHERE georid=0 FOR UPDATE;
  SDO_GEOR.deleteNODATA(gr, 0, 9);
  UPDATE georaster_table SET georaster=gr WHERE georid=0;
  COMMIT;
END;
/