7.1 SDO_GEOR.addNODATA
Format
SDO_GEOR.addNODATA( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, nodata IN NUMBER);
or
SDO_GEOR.addNODATA( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, nodata IN SDO_RANGE_ARRAY);
Description
Adds one or more NODATA values or value ranges, to represent NODATA cells in one layer or all layers in a GeoRaster object.
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
Some cells of a GeoRaster object may have no meaningful value assigned or collected. Such cells contain a NODATA value are thus called NODATA cells, which means that those cells are not semantically defined. The application is responsible for defining the meaning or significance of cells identified as NODATA cells. For more information about NODATA values and value ranges, see NODATA Values and Value Ranges.
Any NODATA values or value ranges associated with the object layer apply to all sublayers. For an explanation of layers, the object layer, and sublayers, see Bands_ Layers_ and Metadata.
NODATA values must be in the valid cell value range. Both the lower bound and the upper bound of a NODATA value range must be valid cell values as specified by the cell depth. Because NODATA value ranges are exclusive at the upper bound, if you want to specify the maximum valid cell value as NODATA, you must specify the maximum valid cell value as a single numeric NODATA value.
This procedure associates NODATA values or value ranges with a raster layer incrementally. It removes duplicate values or value ranges and combines adjacent values or value ranges to form a compact representation in the metadata whenever feasible. However, a single numeric NODATA value that is equal to the upper bound of a NODATA value range will not be combined together with the value range because it is not always feasible to calculate the new exclusive upper bound.
To delete one or more NODATA values or value ranges, use the SDO_GEOR.deleteNODATA procedure. To return the NODATA values for a GeoRaster object, use the SDO_GEOR.getNODATA function.
Examples
The following example specifies that cells with values that are greater than or equal to 5 and less than 7, or that are equal to 9, are to be considered NODATA cells for the object layer (and thus all sublayers) of a specified GeoRaster object.
DECLARE gr sdo_georaster; BEGIN SELECT georaster INTO gr FROM georaster_table WHERE georid=1 FOR UPDATE; SDO_GEOR.addNODATA(gr, 0, sdo_range_array(sdo_range(5,7), sdo_range(9,null))); UPDATE georaster_table SET georaster=gr WHERE georid=1; COMMIT; END; /
Parent topic: SDO_GEOR Package Reference