7.14 SDO_GEOR.deleteNODATA

Format

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

or

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

Description

Deletes one or more NODATA values or value ranges.

Parameters

georaster

GeoRaster object.

layerNumber

Layer number in the GeoRaster object. A value of 0 (zero) indicates the object layer.

nodata

Either a single numeric value, or an array of numbers or number ranges. Any NODATA value range is inclusive at the lower bound and exclusive at the upper bound.

The SDO_RANGE_ARRAY type is described in NODATA Values and Value Ranges

Usage Notes

When a NODATA value or value range is deleted, the cell depth of the GeoRaster object is taken into consideration to generate the correct new ranges. If the cell depth specifies floating cell values, you can only remove existing single numeric NODATA values or remove a sub-range from an existing NODATA value range.

For information about NODATA values and value ranges, see NODATA Values and Value Ranges.

To add one or more NODATA values or value ranges, use the SDO_GEOR.addNODATA procedure. To return the NODATA values for a GeoRaster object, use the SDO_GEOR.getNODATA function.

Examples

The following example removes cell value 9 from the NODATA metadata associated with the object layer.

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;
/