7.156 SDO_GEOR.updateRaster
Format
SDO_GEOR.updateRaster( targetGeoRaster IN OUT SDO_GEORASTER, targetPyramidLevel IN NUMBER, targetLayerNumbers IN VARCHAR2, targetArea IN SDO_GEOMETRY, sourceGeoRaster IN SDO_GEORASTER, sourcePyramidLevel IN NUMBER, sourceLayerNumbers IN VARCHAR2, updateUpperPyramids IN VARCHAR2, bgValues IN SDO_NUMBER_ARRAY DEFAULT NULL);
or
SDO_GEOR.updateRaster( targetGeoRaster IN OUT SDO_GEORASTER, targetPyramidLevel IN NUMBER, targetBandNumbers IN VARCHAR2, targetArea IN SDO_NUMBER_ARRAY, sourceGeoRaster IN SDO_GEORASTER, sourcePyramidLevel IN NUMBER, sourceBandNumbers IN VARCHAR2, updateUpperPyramids IN VARCHAR2, bgValues IN SDO_NUMBER_ARRAY DEFAULT NULL);
Description
Updates a specified pyramid of a specified area or the overlapping parts of one GeoRaster object with selected pyramid and selected bands or layers of another GeoRaster object.
Parameters
- targetGeoRaster
-
GeoRaster object to be updated. (Be sure to make a copy of this object before you update it.)
- targetPyramidLevel
-
Number specifying the pyramid level of the target GeoRaster object to be updated.
- targetLayerNumbers
-
String specifying one or more layer numbers of layers in
targetGeoRaster
to be updated. Use commas to delimit numbers or ranges, and use a hyphen to indicate a range. Example:'1,3-5,7'
for layers 1, 3, 4, 5, and 7. - targetBandNumbers
-
String specifying one or more band numbers of bands in
targetGeoRaster
to be updated. Use commas to delimit numbers or ranges, and use a hyphen to indicate a range. Example:'0,3-5,7'
for bands 0, 3, 4, 5, and 7. Any bands that you specify for this parameter must be compatible with the bands to be updated in the target GeoRaster object. - targetArea
-
Area to be updated in
targetGeoRaster
: a rectangular window, specified either as a numeric array with the lower-left and upper-right coordinates or as an SDO_GEOMETRY object. The SDO_NUMBER_ARRAY type is defined asVARRAY(1048576) OF NUMBER
.If the data type is SDO_NUMBER_ARRAY, the parameter identifies the upper-left (row, column) and lower-right (row, column) coordinates of a rectangular window, and raster space is assumed. If the data type is SDO_GEOMETRY, the minimum bounding rectangle (MBR) of the geometry object is used as the target area; see also the Usage Notes for SDO_SRID requirements.
If
targetArea
is of type SDO_GEOMETRY, use thetargetLayerNumbers
andsourceLayerNumbers
parameters to specify one or more layer numbers; iftargetArea
is of type SDO_NUMBER_ARRAY, use thetargetBandNumbers
andsourceBandNumbers
parameters to specify one or more band numbers.If the specified area does not intersect with the spatial extent of
targetGeoRaster
, no update is performed. If this parameter is specified as null, all of the overlapping area is updated.For more information about using this parameter, see Image Pyramiding: Parallel Generation and Partial Update.
- sourceGeoRaster
-
GeoRaster object in which specified layers are to be used to update
targetGeoRaster
. - sourcePyramidLevel
-
Number specifying the pyramid level of the
sourceGeoRaster
object. - sourceLayerNumbers
-
String specifying one or more layer numbers of layers in
sourceGeoRaster
to be used to updatetargetGeoRaster
. Use commas to delimit numbers or ranges, and use a hyphen to indicate a range. Example:'1,3-5,7'
for layers 1, 3, 4, 5, and 7.Any layers that you specify for this parameter must be compatible with the layers to be updated in the target GeoRaster object.
- sourceBandNumbers
-
String specifying one or more band numbers of bands in
sourceGeoRaster
to be used to updatetargetGeoRaster
. Use commas to delimit numbers or ranges, and use a hyphen to indicate a range. Example:'0,3-5,7'
for bands 0, 3, 4, 5, and 7.Any bands that you specify for this parameter must be compatible with the bands to be updated in the target GeoRaster object.
- updateUpperPyramids
-
String (
TRUE
orFALSE
) specifying whether to update upper-level pyramids. (This parameter has no default value; you should always specify it.) For more information about using this parameter, see Image Pyramiding: Parallel Generation and Partial Update. - bgValues
-
Background values for filling partially empty raster blocks. It is only useful when the source GeoRaster object has empty raster blocks and the current operation leads to partially empty raster blocks (see Empty Raster Blocks). The number of elements in the SDO_NUMBER_ARRAY object must be either one (same filling value used for all bands) or the band dimension size (a different filling value for each band, respectively). For example,
SDO_NUMBER_ARRAY(1,5,10)
fills the first band with 1, the second band with 5, and the third band with 10. The defaultbgValues
are zero (0).The filling values must be valid cell values as specified by the target cell depth background values for filling sparse data.
Usage Notes
Note:
Be sure to make a copy of the targetGeoRaster
object before you call this procedure, because the changes made to this GeoRaster object might not be reversible after the procedure completes.
If both GeoRaster objects are georeferenced, they must use the same coordinate system, have the same cell depth, and have the same spatial resolutions at the specified pyramid levels; however, the targetPyramidLevel
and sourcePyramidLevel
values can be different. If both GeoRaster objects are not georeferenced, the ULTCoordinates will be considered to co-locate them into each other.
The two GeoRaster objects can have different dimensions and sizes.
If the targetArea
parameter data type is SDO_GEOMETRY, the SDO_SRID value must be one of the following:
-
Null, to specify raster space
-
A value from the SRID column of the MDSYS.CS_SRS table
If the SDO_SRID values for the
window
parameter geometry and the model space are different, thewindow
parameter geometry is automatically transformed to the coordinate system of the model space before the operation is performed. (Raster space and model space are explained in GeoRaster Data Model.)
If the targetArea
parameter specifies a geodetic MBR, it cannot cross the date line meridian. For information about geodetic MBRs, see Oracle Spatial Developer's
Guide.
Any existing bitmap masks are not updated.
If the source GeoRaster object is not large enough to fill in the target area, the uncovered area will not be updated.
If the target GeoRaster object has pyramids or is compressed, or both, the updates will be reflected in the pyramids and the compression.
To update upper-level pyramids, you must specify the updateUpperPyramids
parameter as 'TRUE
'. (This parameter has no default value; you should always specify 'TRUE
' or 'FALSE
'.)
Examples
The following example updates a specified area in band 1 of the specified target GeoRaster object with band 0 of the same area of another GeoRaster object.
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; area sdo_number_array := sdo_number_array(-200,-50,201,162); BEGIN SELECT georaster INTO gr2 FROM georaster_table WHERE georid=0 FOR UPDATE; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=1; SDO_GEOR.updateRaster(gr2, 0, '1', area, gr1, 0, '0', 'true'); UPDATE GEORASTER_TABLE SET georaster=gr2 WHERE georid=0; COMMIT; END; /
Parent topic: SDO_GEOR Package Reference