7.16 SDO_GEOR.evaluateDouble

Format

SDO_GEOR.evaluateDouble(
     georaster           IN SDO_GEORASTER, 
     pyramidLevel        IN NUMBER, 
     row                 IN NUMBER, 
     column              IN NUMBER, 
     bands               IN VARCHAR2, 
     interpolationMethod IN VARCHAR2 
     ) RETURN SDO_NUMBER_ARRAY;

or

SDO_GEOR.evaluateDouble(
     georaster           IN SDO_GEORASTER, 
     pyramidLevel        IN NUMBER, 
     ptGeom              IN SDO_GEOMETRY, 
     layers              IN VARCHAR2, 
     interpolationMethod IN VARCHAR2 
     ) RETURN SDO_NUMBER_ARRAY;

Description

Evaluates a direct location using a specified interpolation method, and returns the raster values (double precision numbers) for the specified bands or layers for that location.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level containing the location whose raster values are to be returned.

row

The row coordinate of the location whose raster values are to be returned. This can be a floating point number.

column

The column coordinate of the location whose raster values are to be returned. This can be a floating point number.

bands

A string identifying the physical band numbers on which the operation is to be performed. Use commas to delimit the values, and a hyphen to indicate a range (for example, 1-3 for bands 1, 2, and 3).

ptGeom

Point geometry that identifies the direct location whose raster values are to be returned.

layers

A string identifying the logical layer numbers on which the operation is to be performed. Use commas to delimit the values, and a hyphen to indicate a range (for example, 2-4 for layers 2, 3, and 4). (As mentioned in Bands_ Layers_ and Metadata, the logical layer number is the physical band number plus 1.)

interpolationMethod

A quoted string containing one or more keywords, each with an appropriate value. See the Usage Notes for information about the available keywords and values.

Usage Notes

This function returns interpolated raster values in double precision. In GeoRaster, the original cell values are always associated with the center of the cells, regardless of whether the cell coordinate system type is center-based or upperleft-based.

Identify the location in the GeoRaster object either by specifying its row, column, and band numbers in cell coordinate space, or by specifying a point geometry in either model coordinate space or cell coordinate space.

interpolationMethod must be a quoted string that contains one or more of the following keywords, each with an appropriate value:

  • interpolationMethod (for example, interpolationMethod=NN): Specifies the interpolation method. Must be one of the following: NN, BILINEAR, BIQUADRATIC, CUBIC, AVERAGE4, AVERAGE16. For more information, see Resampling and Interpolation.

  • nodata (for example, nodata=TRUE): Specifies whether NODATA values and value ranges should be considered during the procedure. Must be either TRUE (NODATA values and value ranges should be considered) or FALSE (NODATA values and value ranges should not be considered). The default value is FALSE. If the value is TRUE and the interpolation method is BILINEAR, BIQUADRATIC, CUBIC, AVERAGE4, or AVERAGE16, whenever a cell value involved in the interpolation calculation is a NODATA value, the result of the interpolation is also a NODATA value. The resulting NODATA value is the minimum NODATA value associated with the current raster layer, if multiple NODATA values or value ranges exist.

If interpolationMethod is specified as 'interpolationMethod=NN', this function is equivalent to calling the SDO_GEOR.getCellValue function.

Examples

The following examples return the raster values for a specified location in the GeoRaster object (GEORASTER column) in the row with the GEORID column value of 21 in the GEORASTER_TABLE table, whose definition is presented after Example 1-1 in Storage Parameters.

The examples show the two function formats, and they return the same values for the same location specified in either cell space or model space.

SELECT SDO_GEOR.evaluateDouble(a.georaster, 0, 
    10.2, 10.3, 
    '0-2', 
    'interpolationMethod=BILINEAR') 
  FROM georaster_table a WHERE georid=21;
 
SDO_GEOR.EVALUATEDOUBLE(A.GEORASTER,0,10.2,10.3,'0-2','interpolationMethod=BILINEAR')
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(86.68, 135.68, 31.72)
 
1 row selected.
 
SELECT SDO_GEOR.evaluateDouble(a.georaster, 0, 
    SDO_GEOMETRY(2001, 82394, SDO_POINT_TYPE(18492.775, 1012881.9, NULL),
                 NULL, NULL),
    '1-3', 
    'interpolationMethod=BILINEAR') 
  FROM georaster_table a WHERE georid=21;
 
SDO_GEOR.EVALUATEDOUBLE(A.GEORASTER,0,SDO_GEOR.GETMODELCOORDINATE(A.GEORASTER,0,
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(86.68, 135.68, 31.72)
 
1 row selected.