Skip Headers

Oracle® Spatial GeoRaster
10g Release 1 (10.1)

Part Number B10827-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to next page
Next
View PDF

4 SDO_GEOR Package Reference

The MDSYS.SDO_GEOR package contains subprograms (functions and procedures) for creating, modifying, and retrieving information about GeoRaster objects. This chapter presents reference information, with one or more examples, for each subprogram.

The subprograms are presented in alphabetical order in this chapter. They can be grouped into several logical categories, as explained in Section 1.8. Many of the subprograms are also discussed in Chapter 3, " GeoRaster Operations".


SDO_GEOR.changeCellValue

Format

SDO_GEOR.changeCellValue(

     georaster IN OUT SDO_GEORASTER,

     window IN SDO_NUMBER_ARRAY,

     bandNumbers IN VARCHAR2,

     newCellValue IN NUMBER);

or

SDO_GEOR.changeCellValue(

     georaster IN OUT SDO_GEORASTER,

     window IN SDO_GEOMETRY,

     layerNumbers IN VARCHAR2,

     newCellValue IN NUMBER);

Description

Changes the value of raster cells in a specified window of a GeoRaster object to a single new value.

Parameters

georaster

GeoRaster object.

window

Window in which to change the values of all cells to newCellValue. The data type can be SDO_NUMBER_ARRAY or SDO_GEOMETRY. 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, see the Usage Notes for SDO_SRID requirements.

bandNumbers

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).

layerNumbers

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).

newCellValue

The new cell value for each cell inside the window in the specified bands or layers. The value must be in the range designated by the cellDepth value for the GeoRaster object.

Usage Notes

This procedure can be used to mask, or conceal, parts of an image. For example, you can change irrelevant parts of an image to a dull color before displaying the image, to help people to focus on the relevant parts.

If the window parameter data type is SDO_GEOMETRY, the SDO_SRID value must be one of the following:

If georaster is a blank GeoRaster object and the whole area is updated, the result is a blank GeoRaster object with the blankCellValue value set to newCellValue.

If georaster is a blank GeoRaster object and it is only partially updated, the result is a nonblank GeoRaster object with the original blankCellValue and newCellValue values set according to the window parameter and the bandNumbers or layerNumbers parameter.

If georaster is a nonblank GeoRaster object, the result is a nonblank GeoRaster object, even if all cells are set to the newCellValue value.

If georaster is null, this procedure performs no operation. If georaster is invalid, an exception is raised.

If any pyramids are defined on the GeoRaster object, the corresponding cell values for the pyramids are updated.

To return the value of a single cell located anywhere in the GeoRaster object, use the SDO_GEOR.getCellValue function.

Examples

The following example changes the value of all cells to 151 in a specified window in band number 1.

DECLARE
  gr sdo_georaster;
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id=110 FOR UPDATE;
  sdo_geor.changeCellValue(gr, sdo_number_array(100,67,134,113), '1', 151);
  UPDATE landsat SET tmimage=gr WHERE id=110;
  COMMIT;
END;
/

SDO_GEOR.changeFormat

Format

SDO_GEOR.changeFormat(

     georaster IN OUT SDO_GEORASTER,

     storageParam IN VARCHAR2);

Description

Changes the storage format of an existing GeoRaster object (for example, changing the blocking, cell depth, or interleaving).

Parameters

georaster

The SDO_GEORASTER object whose format is to be changed.

storageParam

A string specifying storage parameters, as explained in Section 1.4.1.

Usage Notes

This procedure changes the input GeoRaster object. To create a new GeoRaster object that has the specified changes, use the SDO_GEOR.changeFormatCopy procedure.

If georaster is null, this procedure performs no operation.

An exception is raised if georaster is invalid.

Examples

The following example changes the interleaving type of a GeoRaster object to BIL.

DECLARE
    gr1 sdo_georaster;
BEGIN
    SELECT grobj INTO gr1 from t0 WHERE id=11 FOR UPDATE;
    sdo_geor.changeFormat(gr1, 'interleaving=BIL');
    UPDATE t0 SET grobj=gr1 WHERE id=11;
    COMMIT;
END;
/

SDO_GEOR.changeFormatCopy

Format

SDO_GEOR.changeFormatCopy(

     inGeoraster IN SDO_GEORASTER,

     storageParam IN VARCHAR2,

     outGeoraster IN OUT SDO_GEORASTER);

Description

Makes a copy of an existing GeoRaster object using a different storage format (for example, changing the blocking, cell depth, or interleaving).

Parameters

inGeoraster

The SDO_GEORASTER object whose format is to be copied.

storageParam

A string specifying storage parameters, as explained in Section 1.4.1.

outGeoraster

The SDO_GEORASTER object to hold the copy.

Usage Notes

This procedure does not change the input GeoRaster object, but creates a new GeoRaster object that has the specified changes. To change the input GeoRaster object, use the SDO_GEOR.changeFormat procedure.

If inGeoraster is null, this procedure performs no operation.

If storageParam is null, inGeoraster is copied to outGeoraster.

If outGeoraster has any raster data, it is deleted before the copy operation.

If pyramid data exists for inGeoraster, the pyramid data is copied to outGeoraster unless the storageParam string contains pyramid=FALSE.

An exception is raised if one or more of the following are true:

Examples

The following example creates a GeoRaster object that is the same as the input object except that the block size is set to 2048 for both dimensions.

DECLARE
    gr1 sdo_georaster;
    gr2 sdo_georaster;
BEGIN
    SELECT grobj INTO gr2 from t0 WHERE id=11 FOR UPDATE;
    SELECT grobj INTO gr1 from t0 WHERE id=1;
  
    sdo_geor.changeFormatCopy(gr1, 'blocksize=(2048,2048)', gr2);
    UPDATE t0 SET grobj=gr2 WHERE id=11;
    COMMIT;
END;
/

SDO_GEOR.copy

Format

SDO_GEOR.copy(

     inGeoraster IN SDO_GEORASTER,

     outGeoraster IN OUT SDO_GEORASTER);

Description

Makes a copy of an existing GeoRaster object.

Parameters

inGeoraster

GeoRaster object to be copied.

outGeoraster

GeoRaster object to hold the result of the copy operation.

Usage Notes

The outGeoraster object is an exact copy of the inGeoraster object. To make any changes to the output GeoRaster object during a copy operation, use the SDO_GEOR.changeFormatCopy procedure.

If inGeoraster is null, this procedure performs no operation.

If outGeoraster has any raster data, it is deleted before the copy operation.

If pyramid data exists for inGeoraster, the pyramid data is copied to outGeoraster.

An exception is raised if one or more of the following are true:

Examples

The following example inserts an initialized GeoRaster object (gr2) into the GROBJ column of table T0, makes gr2 an exact copy of another GeoRaster object (gr1), and updates the row that had been inserted using gr2 for the GROBJ column value.

DECLARE
  gr1 sdo_georaster;
  gr2 sdo_georaster;
BEGIN
  INSERT INTO t0 VALUES (11, sdo_geor.init('RDT_11', 1)) returning grobj
    INTO gr2;
  SELECT grobj INTO gr1 from t0 WHERE id=1;

  sdo_geor.copy(gr1, gr2);
  UPDATE t0 SET grobj=gr2 WHERE id=11;
  COMMIT;
END;
/

SDO_GEOR.createBlank

Format

SDO_GEOR.createBlank(

     rasterType IN INTEGER,

     ultCoord IN SDO_NUMBER_ARRAY,

     dimSizes IN SDO_NUMBER_ARRAY,

     cellValue IN NUMBER,

     rasterDataTable IN VARCHAR2 DEFAULT NULL,

     rasterID IN NUMBER DEFAULT NULL

     ) RETURN SDO_GEORASTER;

Description

Creates a blank GeoRaster object, in which all cells have the same value.

Parameters

rasterType

The 5-digit rasterType attribute value, as specified in Section 2.1.1.

ultCoord

An array of the upper-left coordinate integer values for the GeoRaster object. The default value is (0,0) for a GeoRaster object without a band dimension, and (0,0,0) for a GeoRaster object with a band dimension. If this parameter is null, the default value of 0 is used for each dimension. If a value in the specified array is null, the default value of 0 is used for the corresponding dimension. The value for the band dimension must be 0, and you do not need to specify it. (If you specify an array of values, the number of values must not be less than the number of the spatial dimensions or more than the number of total dimensions.)

dimSizes

The number of cells along each dimension. The number of values in the array must be equal to the total number of dimensions, and the size of each dimension must be explicitly specified. The row and column dimension sizes must be greater than 1.

cellValue

The cell value for all raster cells in the created GeoRaster object. Must be from 0 to 255, because the cell depth of the created GeoRaster object is 8BIT_UNSIGNED.

rasterDataTable

Name of the object table of type SDO_RASTER that stores the cell data blocks. If you do not specify this parameter, GeoRaster generates a unique table name to be used for the raster data table. If you specify this parameter and the table already exists but is not an object table of type SDO_RASTER, an exception is raised.

rasterID

Number that uniquely identifies the cell blocks of this GeoRaster object in the raster data table. If you do not specify this parameter, a unique sequence number is generated for the ID.

Usage Notes

The created GeoRaster object has no spatial reference information; therefore, its spatial extent geometry has a null SRID (coordinate system) value. The spatial extent geometry reflects the ultCoord and dimSizes values.

This function does not require that the specified raster data table exist. However, the table must exist before any raster data can be inserted into it.

Although the cell depth of the created GeoRaster object is 8BIT_UNSIGNED, you can change the cell depth after you create the blank GeoRaster object by calling the SDO_GEOR.changeFormat or SDO_GEOR.changeFormatCopy procedure. You can then call the SDO_GEOR.setBlankCellValue procedure to reset the cell value in a different range.

An exception is raised if any value for an input parameter is invalid.

Examples

The following example creates a table, and inserts a row containing a blank GeoRaster object into the table.

create table t0 (id number, grobj sdo_georaster);

INSERT INTO t0 VALUES (
  1,
  sdo_geor.createBlank(20002, SDO_NUMBER_ARRAY(0,0),
                       SDO_NUMBER_ARRAY(1024,1024), 255, 't_cb01', 10)
);

SDO_GEOR.deletePyramid

Format

SDO_GEOR.deletePyramid(

     georaster IN OUT SDO_GEORASTER);

Description

Deletes the pyramid data of a GeoRaster object.

Parameters

georaster

GeoRaster object for which pyramid data is to be deleted.

Usage Notes

For information about pyramid data, see Section 1.7.

If georaster is null or has no pyramid data, this procedure performs no operation.

An exception is raised if georaster is invalid.

Examples

The following example deletes the pyramid data for a GeoRaster object.

DECLARE
  gr1 sdo_georaster;
BEGIN
  SELECT tmimage INTO gr1 FROM landsat WHERE id=21;

  sdo_geor.deletePyramid(gr1);
  UPDATE landsat SET tmimage=gr1 WHERE id=21;
  COMMIT;
END;
/

SDO_GEOR.exportTo

Format

SDO_GEOR.exportTo(

     georaster IN SDO_GEORASTER,

     subsetParam IN VARCHAR2,

     r_destFormat IN VARCHAR2,

     r_destType IN VARCHAR2,

     r_destName IN VARCHAR2,

     h_destFormat IN VARCHAR2 DEFAULT NULL,

     h_destType IN VARCHAR2 DEFAULT NULL,

     h_destName IN VARCHAR2 DEFAULT NULL);

or

SDO_GEOR.exportTo(

     georaster IN SDO_GEORASTER,

     subsetParam IN VARCHAR2,

     r_destFormat IN VARCHAR2,

     r_destBLOB IN BLOB);

or

SDO_GEOR.exportTo(

     georaster IN SDO_GEORASTER,

     subsetParam IN VARCHAR2,

     r_destFormat IN VARCHAR2,

     r_destBLOB IN BLOB,

     h_destFormat IN VARCHAR2 DEFAULT NULL,

     h_destCLOB IN CLOB DEFAULT NULL);

Description

Exports a GeoRaster object or a subset of a GeoRaster object to a file or to a BLOB object.

Parameters

georaster

GeoRaster object that will be exported.

subsetParam

String containing subset parameters, for exporting a subset of the GeoRaster object. The format and usage are as explained in Section 1.4.1, although some keywords described in that section do not apply to this procedure. The following keywords are supported:

  • pLevel: Pyramid level to be exported. The default is 0.

  • cropArea: Specify the area to be exported in the format cropArea = (startCol, startRow, endCol, endRow). startCol is the index of the leftmost pixel to be exported relative to the original image; startRow is the index of the top pixel to be exported; endCol is the index of the rightmost pixel to be exported; and endRow is the index of the bottom pixel to be exported. If croparea is not specified, the entire image is exported.

  • layerNumbers: Layer numbers of the layers to be to be exported. For example, layerNumbers=(3-5) exports layers 3, 4, and 5; and layerNumbers=(1,3,5) exports layers 1, 3, and 5.

r_destFormat

Raster destination format. Must be one of the following: TIFF, BMP, or PNG. (JPEG and GIF are not supported for this procedure.)

r_destType

Type of destination for the export operation. Must be FILE.

r_destName

Destination file name (with full path specification) if destType is FILE. Do not specify the file extension.

r_destBLOB

BLOB object to hold the image file resulting from the export operation.

h_destFormat

Geoheader destination format. Must be WORLDFILE.

h_destType

Geoheader type of destination for the export operation. Must be FILE.

h_destName

Geoheader destination file name (with full path specification) if h_destType is FILE. Do not specify the file extension.

h_destCLOB

CLOB object to hold the geoheader file resulting from the export operation.

Usage Notes

Use a format with both r_xxx and h_xxx parameters only if the raster image and geoheader are in separate files.

This procedure does not support JPEG or GIF as a destination file format. You can use the client-side GeoRaster exporter tool, described in Section 1.9, to export to a JPEG file.

This procedure does not support GeoRaster objects that have a cellDepth value of 2BIT.

GeoRaster objects with a cell depth of 8 bits or greater that have a BSQ or BIL interleaving are exported in BIP interleaved format.

Before you call this procedure, you must have write permission on the output file or the directory to contain the files. The following example (run as user SYSTEM) grants write permission on a specified file to user HERMAN:

call dbms_java.grant_permission('HERMAN','SYS:java.io.FilePermission',
   'sdo/demos/georaster/data/img1.tif', 'write' );

Examples

The following example shows two export operations. The first operation exports an entire GeoRaster object (except for any georeferencing information) into a BMP format file. The second operation exports a subset of the GeoRaster object to a file with an ESRI world file.

DECLARE 
  geor MDSYS.SDO_GEORASTER;
  fileName VARCHAR2(1024);
  tfwName VARCHAR2(1024);
 
BEGIN
 
SELECT georaster INTO geor from georaster_table where georid = 1;
 
-- Export the whole GeoRaster object into a BMP file, excluding any
-- georeferencing information.
mdsys.sdo_geor.exportTo(geor, NULL, 'BMP', 'file',
  'sdo/demos/georaster/data/img1_export');
 
-- Export a subset to a file with a world file.
fileName := '/mydir/parrotExported';
tfwName := '/mydir/parrotWorldFile';
SELECT georaster INTO geor FROM georaster_table WHERE georid = 8;
mdsys.sdo_geor.exportTo(geor, 'cropArea=(0,0,500,500)', 
  'TIFF', 'file', fileName, WORLDFILE', 'FILE', tfwName);
 
END;
/

The following example exports GeoRaster objects into BLOB and CLOB objects.

CREATE TABLE blob_table (blob_col BLOB, blobid NUMBER unique, clob_col CLOB);
INSERT INTO blob_table values (empty_blob(), 3, null);
INSERT INTO blob_table VALUES (empty_blob(), 4, empty_clob());
 
DECLARE
  lobd1 BLOB;
  lobd2 BLOB;
  lobd3 CLOB; 
  geor1 MDSYS.SDO_GEORASTER;
  geor2 MDSYS.SDO_GEORASTER;
 
BEGIN
 
-- Example 1: Export to BLOB.
SELECT blob_col INTO lobd1 FROM blob_table WHERE blobid=3 for update;
SELECT georaster INTO geor1 FROM georaster_table WHERE georid = 13;
mdsys.sdo_geor.exportTo(geor1, '', 'TIFF', lobd1);
UPDATE blob_table set blob_col = lobd1 where blobid=3;
COMMIT;
 
-- Example 2: Export GeoRaster to BLOB with world file exported to CLOB.
SELECT blob_col INTO lobd2 FROM blob_table WHERE blobid=4 for update;
SELECT clob_col INTO lobd3 FROM blob_table WHERE blobid=4 for update;
SELECT georaster INTO geor2 FROM georaster_table where georid = 8;
mdsys.sdo_geor.exportTo(geor2, 'cropArea=(0,0,500,500)', 'TIFF', lobd2,
  'WORLDFILE', lobd3);
UPDATE blob_table set blob_col = lobd2, clob_col = lobd3 where blobid = 4;
COMMIT;
 
END;
/

SDO_GEOR.generatePyramid

Format

SDO_GEOR.generatePyramid(

     georaster IN OUT SDO_GEORASTER,

     pyramidParams IN VARCHAR2);

Description

Generates pyramid data, which is stored together with the original data.

Parameters

georaster

GeoRaster object for which pyramid data is to be generated and stored.

pyramidParams

A string containing the pyramid parameters. See the Usage Notes for information about the available keywords and values.

Usage Notes

For information about pyramid data, see Section 1.7.

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

If georaster is null or is a blank GeoRaster object, or if pyramid data exists for georaster but it was created with the same pyramid parameters specified in pyramidParams, this procedure performs no operation.

If pyramid data exists for georaster and it was created using different pyramid parameters from those specified in pyramidParams, the old pyramid data is deleted and new pyramid data is generated.

If you do not specify an rLevel value or if you specify an rLevel value greater than the maximum reduced-resolution level, the rLevel value is set to the maximum reduced-resolution level, which is calculated as follows:

(int)(log2(a / 64))

In the preceding calculation:

An exception is raised if georaster is invalid.

Examples

The following example creates pyramid data for a GeoRaster object.

DECLARE
  gr sdo_georaster;
BEGIN
 
  SELECT georaster INTO gr 
    from georaster_table where georid = 6 FOR UPDATE;
 
  -- Generate pyramids.
  sdo_geor.generatePyramid(gr, 'rLevel=5, resampling=NN');
 
  -- Update the original GeoRaster object.
  UPDATE georaster_table SET georaster = gr where georid = 6;
 
  COMMIT;
END;
/

SDO_GEOR.generateSpatialExtent

Format

SDO_GEOR.generateSpatialExtent(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_GEOMETRY;

Description

Generates a Spatial geometry that contains the spatial extent (footprint) of the GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The returned SDO_GEOMETRY object is based on the model coordinate system (SDO_SRID value) of the GeoRaster object. If the GeoRaster object is not georeferenced, the SDO_GEOMETRY object has a null SDO_SRID value, which means the footprint geometry is in cell space.

If the GeoRaster object is georeferenced, the footprint is automatically adjusted, based on its model coordinate location (CENTER or UPPERLEFT), to cover the whole area in the model space.

If georaster is null, this function returns a null SDO_GEOMETRY object.

An exception is raised if georaster is not valid.

Examples

The following examples return the spatial extent geometry of GeoRaster objects in the TMIMAGE column of the LANDSAT table.

SELECT sdo_geor.generateSpatialExtent(tmimage) spatialExtent
  FROM landsat WHERE id=2;
 
SPATIALEXTENT(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINA
--------------------------------------------------------------------------------
 
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(0, 0, 256, 0, 511, 0, 511, 256, 511, 511, 256, 511, 0, 511, 0, 256, 0, 0))
 
 
SET NUMWIDTH 20
SELECT sdo_geor.generateSpatialExtent(tmimage) spatialExtent
  FROM landsat WHERE id=4;
 
SPATIALEXTENT(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO,
SDO_ORDINA
--------------------------------------------------------------------------------
 
SDO_GEOMETRY(2003, 82263, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_AR
RAY(1828466.0909315, 646447.1932945, 1828466.0909315, 644479.85524, 1828466.0909
315, 642512.5171855, 1830433.428986, 642512.5171855, 1832400.7670405, 642512.517
1855, 1832400.7670405, 644479.85524, 1832400.7670405, 646447.1932945, 1830433.42
8986, 646447.1932945, 1828466.0909315, 646447.1932945))

SDO_GEOR.georeference

Format

SDO_GEOR.georeference(

     georaster IN OUT SDO_GEORASTER,

     srid IN NUMBER,

     modelCoordinateLocation IN NUMBER,

    xCoefficients IN MDSYS.SDO_NUMBER_ARRAY,

    yCoefficients IN MDSYS.SDO_NUMBER_ARRAY);

Description

Georeferences a GeoRaster object using specified cell-to-model transformation coefficients.

Parameters

georaster

The SDO_GEORASTER object to be georeferenced.

srid

Model coordinate system. Must not be null or 0 (zero). It can be a value from the SRID column of the MDSYS.CS_SRS table. If it is not a value from the SRID column of the MDSYS.CS_SRS table, the SRID is not supported by Oracle Spatial, and some SRID-related operations may not be supported.

modelCoordinateLocation

A value specifying the model location of the base of the area represented by a cell: 0 for CENTER or 1 for UPPERLEFT.

xCoefficients

An array specifying the A, B, and C coefficient values in the calculation, as explained in Section 1.6.

yCoefficients

An array specifying the D, E, and F coefficient values in the calculation, as explained in Section 1.6.

Usage Notes

Use this procedure to georeference a GeoRaster object. Georeferencing is explained in Section 1.6 and Section 3.5.

This procedure sets the spatial resolutions if the georeferenced GeoRaster object is rectified; otherwise, it might not set the spatial resolutions. If necessary, call the SDO_GEOR.setSpatialResolutions procedure after calling this procedure.

The following also perform operations related to georeferencing:

Examples

The following example georeferences a GeoRaster object, and it calls the SDO_GEOR.getSRS function to retrieve information related to the spatial referencing of the object.

DECLARE
  gr sdo_georaster;
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id = 1 FOR UPDATE;
  sdo_geor.georeference(gr, 82394, 1,
                        sdo_number_array(-28.5, 0, 1232804.04),
                        sdo_number_array(0, 28.5, 13678.09));
  UPDATE landsat SET tmimage = gr WHERE id = 1;
  COMMIT;
END;/
 
PL/SQL procedure successfully completed.
 
SET NUMWIDTH 20
SELECT id, sdo_geor.getSRS(tmimage) SRS FROM landsat WHERE id = 1;
 
                  ID
--------------------
SRS(ISREFERENCED, ISRECTIFIED, ISORTHORECTIFIED, SRID,
SPATIALRESOLUTION, SPATIA
--------------------------------------------------------------------------------
 
                   1
SDO_GEOR_SRS('TRUE', 'TRUE', NULL, 82394, SDO_NUMBER_ARRAY(28.5, 28.5),NULL, NU
LL, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, NULL, NULL, NULL, SDO_NUMBER_ARRAY(1,2, 1, 3,
 -479.93298245614, 0, .0350877192982456), SDO_NUMBER_ARRAY(1, 0, 0, 1,1), SDO_N
UMBER_ARRAY(1, 2, 1, 3, 43256.2821052632, -.0350877192982456, 0), SDO_NUMBER_ARR
AY(1, 0, 0, 1, 1))

SDO_GEOR.getBandDimSize

Format

SDO_GEOR.getBandDimSize(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the number of bands in a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

For an explanation of bands, see Section 1.5.

If georaster or its metadata is null, this function returns a null value.

Examples

The following example returns the spatial dimension sizes and the number of bands (one in this case) for a GeoRaster object. (The output is reformatted for readability.)

SELECT sdo_geor.getSpatialDimSizes(tmimage) spatialDimSizes,
       sdo_geor.getBandDimSize(tmimage) bandDimSize
  FROM landsat WHERE id=21;

SPATIALDIMSIZES                  BANDDIMSIZE
--------------------------       -----------
SDO_NUMBER_ARRAY(512, 512)           1

SDO_GEOR.getBeginDateTime

Format

SDO_GEOR.getBeginDateTime(

     georaster IN SDO_GEORASTER

     ) RETURN TIMESTAMP WITH TIME ZONE;

Description

Returns the beginning date and time for raster data collection in the metadata for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

To set the beginning date and time for raster data collection in the metadata for a GeoRaster object, use the SDO_GEOR.setBeginDateTime procedure.

If georaster or its metadata is null, this function returns a null value.

Examples

The following example returns the beginning and ending dates and times for raster data collection in the metadata for the GeoRaster object in a table named LANDSAT where the ID column contains the value 4.

SELECT sdo_geor.getBeginDateTime(tmimage) beginDateTime,
  sdo_geor.getEndDateTime(tmimage) endDateTime
  FROM landsat WHERE id=4;
 
BEGINDATETIME
---------------------------------------------------------------------------
ENDDATETIME
---------------------------------------------------------------------------
01-JAN-00 05.00.00.000000000 AM +00:00
15-NOV-02 08.00.00.000000000 PM +00:00

SDO_GEOR.getBinTable

Format

SDO_GEOR.getBinTable(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the name of the bin table associated with a layer.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the bin table name. A value of 0 (zero) indicates the object layer.

Usage Notes

This function is relevant only if the bin type is EXPLICIT. To retrieve the bin type, use the SDO_GEOR.getBinType function.

To specify a bin table for a layer, use the SDO_GEOR.setBinTable procedure.

See also the information in the Usage Notes for the SDO_GEOR.getBinType function.

If georaster or its metadata is null, this function returns a null value.

An exception is raised if layerNumber is null, negative, or greater than the maximum layer number.

Examples

The following example returns the name of the bin table for layer number 4 of a specified GeoRaster object in a table named LANDSAT.

SELECT sdo_geor.getBinTable(tmimage, 4) FROM landsat WHERE id=4;

SDO_GEOR.getBinType

Format

SDO_GEOR.getBinType(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the bin type associated with a layer.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the bin type. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns one of the following bin type values: LINEAR, LOGARITHM, or EXPLICIT.

The LINEAR bin type is defined as follows:

binNumber = numbins * (cellValue - min) / (max - min) + firstBinNumber
if (binNumber less than 0) binNumber =  firstBinNumber
if (binNumber greater than or equal to numbins) binNumber = numbins + firstBinNumber - 1

The LOGARITHM bin type is defined as follows:

binNumber = numbins * (ln (1.0 + ((cellValue - min)/(max - min)))/ ln (2.0)) + firstBinNumber
if (binNumber less than 0) binNumber =  firstBinNumber
if (binNumber greater than or equal to numbins) binNumber = numbins + firstBinNumber - 1

The EXPLICIT bin type means that the value (or value range) for each bin is stored in a bin table (which you can set using the SDO_GEOR.setBinTable procedure and retrieve using the SDO_GEOR.getBinTable function).

A bin function maps values or value ranges of the GeoRaster cells to specific bin numbers, which are all integers. GeoRaster does not provide interfaces to manipulate and process bin functions.

If georaster or its metadata is null, this function returns a null value.

An exception is raised if layerNumber is null, negative, or greater than the maximum layer number.

Examples

The following example returns the bin types for layers 0 and 1 of a GeoRaster object. (The output is reformatted for readability.)

SELECT substr(sdo_geor.getBinType(tmimage, 0),1,20) binType0,
       substr(sdo_geor.getBinType(tmimage, 1),1,20) binType1
  FROM landsat WHERE id=4;
 
BINTYPE0        BINTYPE1
--------------- ---------------
EXPLICIT        LINEAR

SDO_GEOR.getBlankCellValue

Format

SDO_GEOR.getBlankCellValue(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the cell value for all cells if a specified GeoRaster object is a blank GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

In a blank GeoRaster object, all cells have the same cell value. This function returns the cell value for all cells if the specified GeoRaster object is a blank GeoRaster object.

To set the cell value to be used if a specified GeoRaster object is a blank GeoRaster object, use the SDO_GEOR.setBlankCellValue procedure. To determine if a specified GeoRaster object is a blank GeoRaster object, use the SDO_GEOR.isBlank function.

If georaster is null, invalid, or is not a blank GeoRaster object, the SDO_GEOR.getBlankCellValue function returns a null value.

Examples

The following example returns the blank cell values for all blank GeoRaster objects in the GROBJ column of table T0.

SELECT id, sdo_geor.getBlankCellValue(grobj) blankValue from t0
 where sdo_geor.isBlank(grobj)='TRUE';

        ID BLANKVALUE
---------- ----------
         1        255
         2        155

SDO_GEOR.getBlockingType

Format

SDO_GEOR.getBlockingType(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the blocking type for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

This function returns one of the following values: NONE or REGULAR:

If georaster or its metadata is null, this function returns a null value.

Examples

The following example returns the cell depth, interleaving type, and blocking type of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 21 in the LANDSAT table.

SELECT sdo_geor.getCellDepth(tmimage) CellDepth,
       substr(sdo_geor.getInterleavingType(tmimage),1,8) interleavingType,
       substr(sdo_geor.getBlockingType(tmimage),1,8) blocking
  FROM landsat WHERE id=21;

 CELLDEPTH INTERLEA BLOCKING
---------- -------- --------
         8 BSQ      REGULAR

SDO_GEOR.getBlockSize

Format

SDO_GEOR.getBlockSize(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the number of cells for each dimension in each block of a GeoRaster object in an array showing the number of cells for each row, column, and (if relevant) band.

Parameters

georaster

GeoRaster object.

Usage Notes

If georaster or its metadata is null, or if georaster is not blocked, this function returns a null value.

Examples

The following example returns the number of cells (512 in each dimension) in each block of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 21 in the LANDSAT table.

SELECT sdo_geor.getBlockSize(tmimage) blockSize
   FROM landsat WHERE id=21;

BLOCKSIZE
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(512, 512)

SDO_GEOR.getCellCoordinate

Format

SDO_GEOR.getCellCoordinate(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     modelCoordinate IN SDO_GEOMETRY

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the coordinates in the cell (raster) coordinate system associated with the point at the specified model (ground) coordinates.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level containing the cell specified in modelCoordinate.

modelCoordinate

A point geometry that contains two coordinates, such as (longitude,latitude) or (x,y) values, identifying the point in the model (ground) coordinate system.

Usage Notes

Use this function to transform a point in the ground coordinate system (a longitude, latitude pair) to the location of a point on the GeoRaster image.

Contrast this function with the SDO_GEOR.getModelCoordinate function, which returns a point geometry containing the coordinates in the model (ground) coordinate system associated with the point at the specified cell coordinates.

Examples

The following example returns the cell coordinates in the raster image associated with model coordinate values (32343.64,7489527.23) in a specified GeoRaster object.

SELECT sdo_geor.getCellCoordinate(tmimage, 0, sdo_geometry(2001,82394,
  sdo_point_type(32343.64,7489527.23,null), null,null)) coord
FROM landsat WHEREid=4;
 
COORD
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(100, 100)

SDO_GEOR.getCellDepth

Format

SDO_GEOR.getCellDepth(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the cell depth in bits.

Parameters

georaster

GeoRaster object.

Usage Notes

The cell depth determines the precision and the data size of an image. As the cell depth value decreases, less disk space is needed to store the image; as the cell depth value increases, more disk space is needed to store the image.

Examples

The following example returns the cell depth, interleaving type, and blocking type of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 21 in the LANDSAT table.

SELECT sdo_geor.getCellDepth(tmimage) CellDepth,
       substr(sdo_geor.getInterleavingType(tmimage),1,8) interleavingType,
       substr(sdo_geor.getBlockingType(tmimage),1,8) blocking
  FROM landsat WHERE id=21;

 CELLDEPTH INTERLEA BLOCKING
---------- -------- --------
         8 BSQ      REGULAR

SDO_GEOR.getCellValue

Format

SDO_GEOR.getCellValue(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     rowNumber IN NUMBER,

     colNumber IN NUMBER,

     bandNumber IN NUMBER

     ) RETURN NUMBER;

or

SDO_GEOR.getCellValue(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     ptGeom IN SDO_GEOMETRY,

     layerNumber IN NUMBER

     ) RETURN NUMBER;

Description

Returns the value of a single cell located anywhere in the GeoRaster object by specifying its row, column, and band number in its cell coordinate system, or by specifying a point geometry in its model coordinate system and its logical layer number.

To change the value of raster data cells in a specified window of a GeoRaster object, use the SDO_GEOR.changeCellValue procedure.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level containing the cell whose value is to be returned.

rowNumber

Number of the row that contains the cell whose value is to be returned.

colNumber

Number of the column that contains the cell whose value is to be returned.

ptGeom

Point geometry that identifies the cell whose value is to be returned.

layerNumber

Number of the logical layer that contains the cell whose value is to be returned.

bandNumber

Number of the physical band that contains the cell whose value is to be returned.

Usage Notes

As mentioned in Section 1.5, the logical layer number is the physical band number plus 1.

Examples

The following example returns the values of four cells of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 21 in the LANDSAT table.

SELECT sdo_geor.getCellValue(tmimage,0,383,47,0) V383_47,
       sdo_geor.getCellValue(tmimage,0,47,383,0) V47_383,
       sdo_geor.getCellValue(tmimage,0,128,192,0) V128_192,
       sdo_geor.getCellValue(tmimage,0,320,256,0) V320_256
  FROM landsat WHERE id=21;

   V383_47    V47_383   V128_192   V320_256
---------- ---------- ---------- ----------
        48         55         52         53

SDO_GEOR.getColorMap

Format

SDO_GEOR.getColorMap

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN SDO_GEOR_COLORMAP;

Description

Returns the colormap for pseudocolor display of a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the colormap. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns an object of type SDO_GEOR_COLORMAP. Section 2.3.2 describes colormaps and this object type.

To set the colormap for a layer in a GeoRaster object, use the SDO_GEOR.setColorMap procedure.

If georaster or its metadata is null, this function returns a null value.

An exception is raised if layerNumber is null, negative, or greater than the maximum layer number.

Examples

The following example returns the colormap for layer 1 of a GeoRaster object. (Part of the output is omitted.)

SELECT sdo_geor.getColorMap(georaster, 1) FROM georaster_table
   WHERE georid = 4;
 
SDO_GEOR.GETCOLORMAP(GEORASTER,1)(CELLVALUE, RED, GREEN, BLUE, ALPHA)
--------------------------------------------------------------------------------
SDO_GEOR_COLORMAP(SDO_NUMBER_ARRAY(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255), SDO_NUMBER_ARRAY(180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 18
0, 127, 127, 100, 50, 50, 127, 159, 191, 223, 255, 255, 255, 255, 218, 182, 145,
 109, 72, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 36, 72, 109, 145, 182, 218, 255, 200, 206, 212, 218, 224, 230, 236, 242,
248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255), SDO_NUMBER_ARRAY(127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 180, 127, 50, 100, 50, 127,
159, 191, 223, 255, 200, 150, 100, 122, 144, 166, 188, 210, 232, 255, 255, 255,
248, 241, 234, 227, 220, 213, 206, 200, 150, 100, 87, 75, 62, 50, 37, 25, 12, 0,
200, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 56, 85, 113, 141, 170, 198, 226, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255), SDO_NUMBER_ARRAY(127, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 180, 50, 50, 100, 127, 95, 63, 31,
0, 0, 0, 0, 18, 36, 54, 72, 90, 108, 127, 100, 50, 43, 37, 31, 25, 18, 12, 6, 0,
0, 0, 31, 63, 95, 127, 159, 191, 223, 255, 255, 255, 127, 108, 90, 72, 54, 36,
18, 0, 0, 28, 56, 85, 113, 141, 170, 198, 226, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255), SDO_NUMBER_ARRAY(255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255))

SDO_GEOR.getColorMapTable

Format

SDO_GEOR.getColorMapTable(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the colormap table for pseudocolor display of a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the colormap table. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns the name of a user-defined colormap table. For information about colormaps, see Section 2.3.2.

To set the colormap table for a layer in a GeoRaster object, use the SDO_GEOR.setColorMapTable procedure.

If georaster or its metadata is null, this function returns a null value.

An exception is raised if layerNumber is null, negative, or greater than the maximum layer number.

Examples

The following example returns the colormap table for layer 2 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

SELECT sdo_geor.getColorMapTable(tmimage, 2) FROM landsat WHERE id=4;
 
SDO_GEOR.GETCOLORMAPTABLE(TMIMAGE,2)
--------------------------------------------------------------------------------
CMT1
 
1 row selected.

SDO_GEOR.getCompressionType

Format

SDO_GEOR.getCompressionType(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the compression type for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

For this release, this function always returns NONE, which means that the GeoRaster object is not compressed.

Examples

The following example returns the compression type for the GeoRaster objects (TIMIAGE column) in the LANDSAT table.

SELECT id, substr(sdo_geor.getCompressionType(tmimage),1,20) compressionType
  FROM landsat;

        ID COMPRESSIONTYPE
---------- --------------------
         2 NONE
         4 NONE

SDO_GEOR.getDefaultBlue

Format

SDO_GEOR.getDefaultBlue(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the number of the layer to be used for the blue color component (in the RGB color space) for displaying a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

You can return the layer numbers for all three color components (RGB) by using the SDO_GEOR.getDefaultColorLayer function.

Examples

The following example returns the layer numbers for the red, blue, and green color components for displaying the GeoRaster objects in the table named LANDSAT.

SELECT id, sdo_geor.getDefaultRed(tmimage) red,
  sdo_geor.getDefaultGreen(tmimage) green,
  sdo_geor.getDefaultBlue(tmimage) blue
FROM landsat;
 
        ID        RED      GREEN       BLUE
---------- ---------- ---------- ----------
         1          1          2          3
         2
         3         31         20         13

SDO_GEOR.getDefaultColorLayer

Format

SDO_GEOR.getDefaultColorLayer(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the default numbers of the layers to be used for the red, green, and blue color components, respectively, for displaying a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The RGB layer numbers returned are used for true-color displays, not for pseudocolor or grayscale displays.

You can return the layer number for each color component (RGB) by using the SDO_GEOR.getDefaultRed, SDO_GEOR.getDefaultGreen, and SDO_GEOR.getDefaultBlue functions.

Examples

The following example sets the default red, green, and blue color layers for the GeoRaster objects (GROBJ column) in table T0, and it returns an array with the layer numbers for the red, green, and blue color components for displaying these GeoRaster objects.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setDefaultRed(grobj, 2);
  sdo_geor.setDefaultGreen(grobj, 3);
  sdo_geor.setDefaultBlue(grobj, 1);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SELECT sdo_geor.getDefaultColorLayer(tmimage) FROM landsat WHERE id=4;
 
SDO_GEOR.GETDEFAULTCOLORLAYER(TMIMAGE)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(2, 3, 1)
 
1 row selected.

SDO_GEOR.getDefaultGreen

Format

SDO_GEOR.getDefaultGreen(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the number of the layer to be used for the green color component (in the RGB color space) for displaying a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

You can return the layer numbers for all three color components (RGB) by using the SDO_GEOR.getDefaultColorLayer function.

Examples

The following example returns the layer numbers for the red, blue, and green color components for displaying the GeoRaster objects in the table named LANDSAT.

SELECT id, sdo_geor.getDefaultRed(tmimage) red,
  sdo_geor.getDefaultGreen(tmimage) green,
  sdo_geor.getDefaultBlue(tmimage) blue
FROM landsat;
 
        ID        RED      GREEN       BLUE
---------- ---------- ---------- ----------
         1          1          2          3
         2
         3         31         20         13

SDO_GEOR.getDefaultRed

Format

SDO_GEOR.getDefaultRed(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the number of the layer to be used for the red color component (in the RGB color space) for displaying a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

You can return the layer numbers for all three color components (RGB) by using the SDO_GEOR.getDefaultColorLayer function.

Examples

The following example returns the layer numbers for the red, blue, and green color components for displaying the GeoRaster objects in the table named LANDSAT.

SELECT id, sdo_geor.getDefaultRed(tmimage) red,
  sdo_geor.getDefaultGreen(tmimage) green,
  sdo_geor.getDefaultBlue(tmimage) blue
FROM landsat;
 
        ID        RED      GREEN       BLUE
---------- ---------- ---------- ----------
         1          1          2          3
         2
         3         31         20         13

SDO_GEOR.getEndDateTime

Format

SDO_GEOR.getEndDateTime(

     georaster IN SDO_GEORASTER

     ) RETURN TIMESTAMP WITH TIME ZONE;

Description

Returns the ending date and time for raster data collection in the metadata for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

To set the ending date and time for raster data collection in the metadata for a GeoRaster object, use the SDO_GEOR.setEndDateTime procedure.

If georaster or its metadata is null, this function returns a null value.

Examples

The following example returns the beginning and ending dates and times for raster data collection in the metadata for the GeoRaster object in a table named LANDSAT where the ID column contains the value 4.

SELECT sdo_geor.getBeginDateTime(tmimage) beginDateTime,
  sdo_geor.getEndDateTime(tmimage) endDateTime
  FROM landsat WHERE id=4;
 
BEGINDATETIME
---------------------------------------------------------------------------
ENDDATETIME
---------------------------------------------------------------------------
01-JAN-00 05.00.00.000000000 AM +00:00
15-NOV-02 08.00.00.000000000 PM +00:00

SDO_GEOR.getGrayScale

Format

SDO_GEOR.getGrayScale(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN SDO_GEOR_GRAYSCALE;

Description

Returns the grayscale mappings for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the grayscale mappings. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns an object of type SDO_GEOR_GRAYSCALE. Section 2.3.3 describes grayscale display and this object type.

To set the grayscale mappings for a layer in a GeoRaster object, use the SDO_GEOR.setGrayScale procedure.

Examples

The following example returns the grayscale mappings for layer 0 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 0 in the LANDSAT table.

SELECT sdo_geor.getGrayScale(tmimage, 0) FROM landsat WHERE id=0;
 
SDO_GEOR.GETGRAYSCALE(TMIMAGE,0)(CELLVALUE, GRAY)
--------------------------------------------------------------------------------
SDO_GEOR_GRAYSCALE(SDO_NUMBER_ARRAY(10, 20, 30, 255), SDO_NUMBER_ARRAY(180, 210,
230, 250))

SDO_GEOR.getGrayScaleTable

Format

SDO_GEOR.getGrayScaleTable(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the grayscale mapping table for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the grayscale mapping table. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns the name of a user-defined grayscale table. Section 2.3.3 describes grayscale display.

To set the grayscale mapping table for a layer in a GeoRaster object, use the SDO_GEOR.setGrayScaleTable procedure.

Examples

The following example returns the grayscale mapping tables for layers 0, 1, 2, and 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table. (The output is reformatted for readability.)

SELECT substr(sdo_geor.getGrayScaleTable(tmimage, 0),1,20) grayScaleTable0,
       substr(sdo_geor.getGrayScaleTable(tmimage, 1),1,20) grayScaleTable1,
       substr(sdo_geor.getGrayScaleTable(tmimage, 2),1,20) grayScaleTable2,
       substr(sdo_geor.getGrayScaleTable(tmimage, 3),1,20) grayScaleTable3
  FROM landsat WHERE id=4;

GRAYSCALETABLE0      GRAYSCALETABLE1      GRAYSCALETABLE2      GRAYSCALETABLE3
-------------------- -------------------- -------------------- -----------------
SCL0                 SCL1                 SCL2                 SCL3

SDO_GEOR.getHistogram

Format

SDO_GEOR.getHistogram(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN SDO_GEOR_HISTOGRAM;

Description

Returns the histogram for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the histogram. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns an object of type SDO_GEOR_HISTOGRAM. Section 2.3.1 describes this object type and briefly discusses histograms.

Examples

The following example returns the histogram for layer 1 of a 4-bit GeoRaster object in the IMAGES table.

SELECT sdo_geor.getHistogram(tmimage, 1) layer1
 FROM images WHERE id=17;
 
LAYER1(CELLVALUE, COUNT)
--------------------------------------------------------------------------------
SDO_GEOR_HISTOGRAM(SDO_NUMBER_ARRAY(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13,
 14, 15), SDO_NUMBER_ARRAY(10, 18, 10, 110, 200, 120, 130, 150, 160, 103, 106,
 190, 12, 17, 10, 5))

SDO_GEOR.getHistogramTable

Format

SDO_GEOR.getHistogramTable(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the histogram table for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the name of the histogram table. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns a user-defined histogram table. Section 2.3.1 briefly discusses histograms.

To set the name of the histogram table for a layer, use the SDO_GEOR.setHistogramTable procedure.

Examples

The following example returns the histogram tables for layers 0 (the whole object), 1, 2, and 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table. (The output is reformatted for readability.)

SELECT substr(sdo_geor.getHistogramTable(tmimage, 0),1,20) histogramTable0,
       substr(sdo_geor.getHistogramTable(tmimage, 1),1,20) histogramTable1,
       substr(sdo_geor.getHistogramTable(tmimage, 2),1,20) histogramTable2,
       substr(sdo_geor.getHistogramTable(tmimage, 3),1,20) histogramTable3
  FROM landsat WHERE id=4;

HISTOGRAMTABLE0      HISTOGRAMTABLE1      HISTOGRAMTABLE2      HISTOGRAMTABLE3
-------------------- -------------------- -------------------- -----------------
HIST0                HIST1                HIST2                HIST3

SDO_GEOR.getID

Format

SDO_GEOR.getID(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the user-defined identifier value associated with a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

To set a user-defined identifier value for a GeoRaster object, use the SDO_GEOR.setID procedure.

Examples

The following example returns the user-defined identifier values of the GeoRaster objects (TMIMAGE column) in the LANDSAT table.

SELECT id, substr(sdo_geor.getID(tmimage),1,50) GEOR_ID FROM landsat;

        ID GEOR_ID 
---------- --------------------------------------------------
         2 TM_102
         4 TM_104

SDO_GEOR.getInterleavingType

Format

SDO_GEOR.getInterleavingType(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the interleaving type for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

This function returns one of the following values: BSQ (band sequential), BIL (band interleaved by line), or BIP (band interleaved by pixel).

To change the interleaving type for a GeoRaster object, use the SDO_GEOR.changeFormat or SDO_GEOR.changeFormatCopy procedure, and use the interleaving keyword in the storageParam parameter string.

Examples

The following example returns the cell depth, interleaving type, and blocking type of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 21 in the LANDSAT table.

SELECT sdo_geor.getCellDepth(tmimage) CellDepth,
       substr(sdo_geor.getInterleavingType(tmimage),1,8) interleavingType,
       substr(sdo_geor.getBlockingType(tmimage),1,8) blocking
  FROM landsat WHERE id=21;

 CELLDEPTH INTERLEA BLOCKING
---------- -------- --------
         8 BSQ      REGULAR

SDO_GEOR.getLayerDimension

Format

SDO_GEOR.getLayerDimension(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_STRING_ARRAY;

Description

Returns the dimension that is mapped as the logical layer dimension of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The layer dimension refers to the physical entity associated with the logical term layer. For the current release, the only supported layer dimension is BAND: that is, the logical concept layer is associated with the physical term band, as shown in Figure 1-4 in Section 1.5. In this case, layers will be mapped to the BAND dimension, so that the first layer is band 0, the second layer is band 1, and so on.

Examples

The following example returns the layer dimension of each GeoRaster object (TMIMAGE column) in the LANDSAT table. (The output is reformatted for readability.)

SELECT id, sdo_geor.getLayerDimension(tmimage) FROM landsat;

        ID SDO_GEOR.GETLAYERDIMENSION(TMIMAGE)
---------- ------------------------------------------------------------------
         2 SDO_STRING_ARRAY('BAND')
         4 SDO_STRING_ARRAY('BAND')

SDO_GEOR.getLayerID

Format

SDO_GEOR.getLayerID(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the user-defined identifier value associated with a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the user-defined identifier value. A value of 0 (zero) indicates the object layer.

Usage Notes

To set a user-defined identifier value for a layer in a GeoRaster object, use the SDO_GEOR.setLayerID procedure.

Examples

The following example returns the user-defined identifier values of layers 0, 1, 2, and 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

SELECT substr(sdo_geor.getLayerID(tmimage, 0),1,12) layerID0,
       substr(sdo_geor.getLayerID(tmimage, 1),1,12) layerID1,
       substr(sdo_geor.getLayerID(tmimage, 2),1,12) layerID2,
       substr(sdo_geor.getLayerID(tmimage, 3),1,12) layerID3
  FROM landsat WHERE id=4;

LAYERID0     LAYERID1     LAYERID2     LAYERID3
------------ ------------ ------------ ------------
TM543        TM3          TM4          TM5

SDO_GEOR.getLayerOrdinate

Format

SDO_GEOR.getLayerOrdinate(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN NUMBER;

Description

Returns the band ordinate for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the physical band ordinate. A value of 0 (zero) indicates the object layer.

Usage Notes

The returned number refers to the physical band that a layer (layerNumber parameter value) is associated with. For the current release, by default the associations are as shown in Figure 1-4 in Section 1.5: layer 1 is band 0, layer 2 is band 1, and so on.

To set the band ordinate value for a layer, use the SDO_GEOR.setLayerOrdinate procedure.

Examples

The following example returns the band numbers associated with layers 0, 1, 2, and 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

SELECT sdo_geor.getLayerOrdinate(tmimage, 0) layerOrdinate0,
       sdo_geor.getLayerOrdinate(tmimage, 1) layerOrdinate1,
       sdo_geor.getLayerOrdinate(tmimage, 2) layerOrdinate2,
       sdo_geor.getLayerOrdinate(tmimage, 3) layerOrdinate3
  FROM landsat WHERE id=4;

LAYERORDINATE0 LAYERORDINATE1 LAYERORDINATE2 LAYERORDINATE3
-------------- -------------- -------------- --------------
                            0              1              2

SDO_GEOR.getModelCoordinate

Format

SDO_GEOR.getModelCoordinate(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     cellCoordinate IN SDO_NUMBER_ARRAY

     ) RETURN SDO_GEOMETRY;

Description

Returns a point geometry object that contains the coordinates in the model (ground) coordinate system associated with the point at the specified cell (raster) coordinates.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level containing the cell specified in cellCoordinate.

cellCoordinate

Array of two coordinates identifying the point in the cell coordinate system. The two coordinates are the row number and column number of the point.

Usage Notes

Use this function to transform the location of a point on the GeoRaster object to the longitude and latitude coordinates of its associated point in the ground coordinate system.

The input GeoRaster data must be georeferenced. The resulting geometry has the same SDO_SRID value as the input GeoRaster object.

Contrast this function with the SDO_GEOR.getCellCoordinate function, which returns the coordinates in the cell (raster) coordinate system associated with the point at the specified model (ground) coordinates.

Examples

The following example returns a point geometry object containing the model coordinates associated with cell coordinates (100,100) in a specified GeoRaster object.

SET NUMWIDTH 20
SELECT sdo_geor.getModelCoordinate(tmimage, 0,
sdo_number_array(100,100)) mcoord
  FROM landsat WHERE id=4;
 
MCOORD(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
 
SDO_GEOMETRY(2001, 82394, SDO_POINT_TYPE(347.666315789474, 43274.9052631579, NUL
L), NULL, NULL)

SDO_GEOR.getModelSRID

Format

SDO_GEOR.getModelSRID(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the coordinate system (SDO_SRID value) associated with the model (ground) space for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

This function returns a null value if no coordinate system is associated with the model space.

To set the coordinate system (SDO_SRID value) associated with the model space, use the SDO_GEOR.setModelSRID procedure.

Examples

The following example returns the SDO_SRID values associated with the GeoRaster objects (TMIMAGE column) in the LANDSAT table.

SELECT id, sdo_geor.getModelSRID(tmimage) SRID FROM landsat;

        ID       SRID
---------- ----------
         2       82394
         4       8304

SDO_GEOR.getNODATA

Format

SDO_GEOR.getNODATA(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the value representing NODATA cells in a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

Some cells of a GeoRaster object may have no meaningful value assigned or collected. The NODATA value is the cell value for those cells, and it means that those cells are not semantically defined. The application is responsible for defining the meaning or significance of cells identified as NODATA cells.

If this function returns a null value, it means that all cells of the GeoRaster object are defined and have a meaningful cell value.

Examples

The following example returns the value to be used for NODATA cells in the GeoRaster objects (GROBJ column) in table T0.

SELECT id, sdo_geor.getNODATA(grobj) NODATA from t0;

        ID     NODATA
---------- ----------
         1
         2    -9999.99

SDO_GEOR.getPyramidMaxLevel

Format

SDO_GEOR.getPyramidMaxLevel(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the level number of the top pyramid of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

For information about pyramids, see Section 1.7.

Examples

The following example returns the pyramid type and level number of the top pyramid for the GeoRaster object (TMIMAGE column) in the row with an ID column value of 21 in the LANDSAT table.

SELECT substr(sdo_geor.getPyramidType(tmimage),1,10) pyramidType,
       sdo_geor.getPyramidMaxLevel(tmimage) maxLevel
  FROM landsat WHERE id=21;

PYRAMIDTYP   MAXLEVEL
---------- ----------
DECREASE            3

SDO_GEOR.getPyramidType

Format

SDO_GEOR.getPyramidType(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the pyramid type for a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The pyramid type can be NONE (no pyramids) or DECREASE.

For information about pyramids, see Section 1.7.

Examples

The following example returns the pyramid type and level number of the top pyramid for the GeoRaster object (TMIMAGE column) in the row with an ID column value of 21 in the LANDSAT table.

SELECT substr(sdo_geor.getPyramidType(tmimage),1,10) pyramidType,
       sdo_geor.getPyramidMaxLevel(tmimage) maxLevel
  FROM landsat WHERE id=21;

PYRAMIDTYP   MAXLEVEL
---------- ----------
DECREASE            3

SDO_GEOR.getRasterBlocks

Format

SDO_GEOR.getRasterBlocks(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     window IN SDO_NUMBER_ARRAY

     ) RETURN SDO_RASTERSET;

or

SDO_GEOR.getRasterBlocks(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     window IN SDO_GEOMETRY

     ) RETURN SDO_RASTERSET;

Description

Returns an object of the SDO_RASTERSET collection type that identifies all blocks of a specified pyramid level that have any spatial interaction with a specified window.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level from which to return the blocks that have any spatial interaction with the specified window.

window

Window from which to return the blocks that are in pyramidLevel. The data type can be SDO_NUMBER_ARRAY or SDO_GEOMETRY. 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, see the Usage Notes for SDO_SRID requirements.

Usage Notes

The SDO_RASTERSET collection type is described in Section 2.3.4.

If the window parameter data type is SDO_GEOMETRY, the SDO_SRID value must be one of the following:

Examples

The following example returns a collection set that identifies all raster blocks that have any spatial interaction with the specified window.

DECLARE
  gr sdo_georaster;
  ds sdo_rasterset;
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id=2;
  ds := sdo_geor.getRasterBlocks(gr, 0, sdo_number_array(11,65,192,244));
  COMMIT;
END;
/

SDO_GEOR.getRasterData

Format

SDO_GEOR.getRasterData(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     rasterBlob IN OUT BLOB);

Description

Creates a single BLOB object that contains all raster data of the input GeoRaster object at the specified pyramid level.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level for which to perform the operation.

rasterBlob

BLOB object to hold the result.

Usage Notes

If the GeoRaster object is blocked, the mosaic of all blocks of the specified pyramid level is returned.

Examples

The following example creates a BLOB object with all raster data from the GeoRaster object whose ID value is 2 in the LANDSAT table. It assumes that a BLOB with an ID value of 2 is already initialized in table T0.

DECLARE
  gr sdo_georaster;
  lb blob;
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id=2;
  SELECT data INTO lb FROM t0 WHERE id=2 FOR UPDATE;
  sdo_geor.getRasterData(gr, 0, lb);
  COMMIT;
END;
/

SDO_GEOR.getRasterSubset

Format

SDO_GEOR.getRasterSubset(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     window IN SDO_GEOMETRY,

     layerNumbers IN VARCHAR2,

     rasterBlob IN OUT BLOB);

or

SDO_GEOR.getRasterSubset(

     georaster IN SDO_GEORASTER,

     pyramidLevel IN NUMBER,

     window IN SDO_NUMBER_ARRAY,

     bandNumbers IN VARCHAR2,

     rasterBlob IN OUT BLOB);

Description

Creates a single BLOB object containing all cells of a specified pyramid level that are inside or on the boundary of a specified window.

Parameters

georaster

GeoRaster object.

pyramidLevel

Pyramid level on which to perform the operation.

window

A rectangular window from which to crop the cells. 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 MBR of the geometry object is used as the window; see also the Usage Notes for SDO_SRID requirements.

If window is of type SDO_GEOMETRY, use the layerNumbers parameter to specify one or more layer numbers; if window is of type SDO_NUMBER_ARRAY, use the bandNumbers parameter to specify one or more band numbers.

layerNumbers

A string identifying the logical layer numbers on which the operation or operations are 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). If you specify a null value for this parameter, the operation or operations are performed on all layers.

bandNumbers

A string identifying the physical band numbers on which the operation or operations are 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). If you specify a null value for this parameter, the operation or operations are performed on all bands.

rasterBlob

BLOB object to hold the result (the mosaicked raster subset) of the operation. It must exist or have been initialized before the operation.

Usage Notes

If the window parameter data type is SDO_GEOMETRY, the SDO_SRID value must be one of the following:

Examples

The following example creates a BLOB object with all raster data from a specified window in pyramid level 0 of the GeoRaster object whose ID value is 4 in the LANDSAT table.

DECLARE
  gr sdo_georaster;
  lb blob;
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id=4;
  SELECT data INTO lb from t0 WHERE id=4 FOR UPDATE;
  sdo_geor.getRasterSubset(gr, 0, sdo_number_array(-21,100,100,200), , lb);
END;
/

SDO_GEOR.getScaling

Format

SDO_GEOR.getScaling(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the coefficients of the scaling function for a layer of a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the coefficients. A value of 0 (zero) indicates the object layer.

Usage Notes

The scaling function is as follows:

value = (a0 + a1 * cellvalue) / (b0 + b1 * cellvalue)

The order of the coefficients is: a0, a1, b0, b1.

Examples

The following example returns the scaling coefficients for layer number 0 (the whole object) of a specified GeoRaster object in a table named LANDSAT. It scales original value range 0.0 to 1000.0 to be in the range 0.0 to 250.0.

SELECT sdo_geor.getScaling(tmimage, 0) FROM landsat WHERE id=0;
 
SDO_GEOR.GETSCALING(TMIMAGE,0)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(0.0, 0.25, 1, 0.0)

SDO_GEOR.getSpatialDimNumber

Format

SDO_GEOR.getSpatialDimNumber(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the number of spatial dimensions of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

For the current release, this function always returns 2.

To return the number of cells in each spatial dimension of a GeoRaster object, use the SDO_GEOR.getSpatialDimSizes function.

Examples

The following example returns the ID column value, the number of spatial dimensions, and the number of cells in each spatial dimension for the GeoRaster objects in the table named LANDSAT.

SELECT id, sdo_geor.getSpatialDimNumber(tmimage) spatialDim,
           sdo_geor.getSpatialDimSizes(tmimage) spatialDimSizes
   FROM landsat;
 
        ID SPATIALDIM
---------- ----------
SPATIALDIMSIZES
--------------------------------------------------------------------------------
         0          2
SDO_NUMBER_ARRAY(1024, 1024)
 
         1          2
SDO_NUMBER_ARRAY(384, 251)
 
         2          2
SDO_NUMBER_ARRAY(512, 512)
 
         4          2
SDO_NUMBER_ARRAY(512, 512)
 
        11          2
SDO_NUMBER_ARRAY(7957, 5828)

SDO_GEOR.getSpatialDimSizes

Format

SDO_GEOR.getSpatialDimSizes(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the number of cells in each spatial dimension of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

To return the number of spatial dimensions for a GeoRaster object, use the SDO_GEOR.getSpatialDimNumber function.

Examples

The following example returns the spatial dimension sizes and the number of bands for a GeoRaster object. (The output is reformatted for readability.)

SELECT sdo_geor.getSpatialDimSizes(tmimage) spatialDimSizes,
       sdo_geor.getBandDimSize(tmimage) bandDimSize
  FROM landsat WHERE id=21;

SPATIALDIMSIZES                  BANDDIMSIZE
--------------------------       -----------
SDO_NUMBER_ARRAY(512, 512)           1

SDO_GEOR.getSpatialResolutions

Format

SDO_GEOR.getSpatialResolutions

     georaster IN SDO_GEORASTER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns the spatial resolution value along each spatial dimension of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

Each value indicates the number of units of measurement associated with the data area represented by that spatial dimension of a pixel. For example, if the spatial resolution values are (10,10) and the unit of measurement for the ground data is meters, each pixel represents an area of 10 meters by 10 meters.

The spatial resolutions may be inconsistent with the georeferencing information, especially when the GeoRaster object is not georectified. You can use the SDO_GEOR.setSpatialResolutions procedure to set the spatial resolutions to be the average resolutions for an image or the resolutions when the data was collected. In this case, georeferencing information should be used for precise measurement.

Examples

The following example returns the spatial resolution values along the row and column dimensions of a GeoRaster object.

SELECT sdo_geor.getSpatialResolutions(tmimage) spatialResolution
  FROM landsat WHERE id=42;

SPATIALRESOLUTION
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(28.5, 28.5)

SDO_GEOR.getSpectralResolution

Format

SDO_GEOR.getSpectralResolution

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the spectral resolution of a GeoRaster object if it is a hyperspectral or multiband image.

Parameters

georaster

GeoRaster object.

Usage Notes

Taken together, the spectral unit and spectral resolution identify the wavelength interval for a band. For example, if the spectral resolution value is 2 and the spectral unit value is MILLIMETER, the wavelength interval for a band is 2 millimeters.

To set the spectral resolution for a GeoRaster object, use the SDO_GEOR.setSpectralResolution procedure.

Examples

The following example returns the spectral unit and spectral resolution for all spatially referenced GeoRaster objects (TMIMAGE column) in the LANDSAT table.

SELECT id, substr(sdo_geor.getSpectralUnit(tmimage),1,20) spectralUnit,
           sdo_geor.getSpectralResolution(tmimage) spectralResolution
  FROM landsat
 where sdo_geor.isSpatialReferenced(tmimage)='TRUE';

        ID SPECTRALUNIT         SPECTRALRESOLUTION
---------- -------------------- ------------------
         4 MILLIMETER                        0.075

SDO_GEOR.getSpectralUnit

Format

SDO_GEOR.getSpectralUnit

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the unit of measurement for identifying the wavelength interval for a band.

Parameters

georaster

GeoRaster object.

Usage Notes

This function can return one of the following values: METER, MILLIMETER, MICROMETER, NANOMETER.

Taken together, the spectral unit and spectral resolution identify the wavelength interval for a band. For example, if the spectral resolution value is 2 and the spectral unit value is MILLIMETER, the wavelength interval for a band is 2 millimeters.

To set the spectral unit for a GeoRaster object, use the SDO_GEOR.setSpectralUnit procedure.

Examples

The following example returns the spectral unit and spectral resolution for all spatially referenced GeoRaster objects (TMIMAGE column) in the LANDSAT table.

SELECT id, substr(sdo_geor.getSpectralUnit(tmimage),1,20) spectralUnit,
           sdo_geor.getSpectralResolution(tmimage) spectralResolution
  FROM landsat
 where sdo_geor.isSpatialReferenced(tmimage)='TRUE';

        ID SPECTRALUNIT         SPECTRALRESOLUTION
---------- -------------------- ------------------
         4 MILLIMETER                        0.075

SDO_GEOR.getSRS

Format

SDO_GEOR.getSRS(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_GEOR_SRS;

Description

Returns an object of type SDO_GEOR_SRS containing information related to the spatial referencing of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The SDO_GEOR_SRS object type is described in Section 2.3.5.

Examples

The following example returns information related to the spatial referencing of all spatially referenced GeoRaster objects (TMIMAGE column) in the LANDSAT table.

SELECT id, sdo_geor.getSRS(tmimage) SRS 
  FROM landsat
  WHERE sdo_geor.isSpatialReferenced(tmimage)='TRUE';
 
        ID
----------
SRS(ISREFERENCED, ISRECTIFIED, ISORTHORECTIFIED, SRID, SPATIALRESOLUTION, SPATIA
--------------------------------------------------------------------------------
         4
SDO_GEOR_SRS('TRUE', 'TRUE', NULL, 82262, SDO_NUMBER_ARRAY(28.5, 28.5), NULL, NU
LL, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, NULL, NULL, NULL, SDO_NUMBER_ARRAY(1, 2, 1, 3,
 32631.5614, 0, -.03508772), SDO_NUMBER_ARRAY(1, 0, 0, 1, 1), SDO_NUMBER_ARRAY(1
, 2, 1, 3, -7894.7544, .035087719, 0), SDO_NUMBER_ARRAY(1, 0, 0, 1, 1))

SDO_GEOR.getStatistics

Format

SDO_GEOR.getStatistics(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN SDO_NUMBER_ARRAY;

Description

Returns statistical data associated with a layer.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the statistics. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns statistical data described by the <statisticDatasetType> element in the GeoRaster metadata XML schema, which is described in Appendix A. The function returns an array with the following values: MIN, MAX, MEAN, MEDIAN, MODEVALUE, and STD.

To set the statistical data associated with a layer, use the SDO_GEOR.setStatistics procedure.

Examples

The following example returns statistical data for layer 1 of a GeoRaster object.

SELECT sdo_geor.getStatistics(tmimage, 1) layer1
FROM landsat WHERE id=4;
 
LAYER1
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(0, 255, 100, 127, 95, 25)

SDO_GEOR.getTotalLayerNumber

Format

SDO_GEOR.getTotalLayerNumber(

     georaster IN SDO_GEORASTER

     ) RETURN NUMBER;

Description

Returns the total number of layers in a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

For information about layers, see Section 1.5.

Examples

The following example returns the total number of layers in each GeoRaster object (TMIMAGE column) in the LANDSAT table.

SELECT id, sdo_geor.getTotalLayerNumber(tmimage) totalLayerNumber
  FROM landsat;

        ID TOTALLAYERNUMBER
---------- ----------------
         2                1
         4                3

SDO_GEOR.getULTCoordinate

Format

SDO_GEOR.getULTCoordinate(

     georaster IN SDO_GEORASTER

     ) RETURN SDO_NUMBER_ARRAY ;

Description

Returns the cell coordinates of the upper-left corner of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

This function returns two or three numbers. If it returns two numbers, they are row and column ordinates. If it returns three numbers, they are row, column, and band ordinates.

Examples

The following example returns the row, column, and band ordinates for the upper-left corner of a GeoRaster object.

SELECT sdo_geor.getULTCoordinate(tmimage) FROM landsat WHERE id=23;

SDO_GEOR.GETULTCOORDINATE(TMIMAGE)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(256, 0, 0)

SDO_GEOR.getVAT

Format

SDO_GEOR.getVAT(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Returns the name of the value attribute table (VAT) associated with a layer of a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to return the VAT. A value of 0 (zero) indicates the object layer.

Usage Notes

For more information about value attribute tables, see Section 1.2.3.

To set the name of the value attribute table to be associated with a layer of a GeoRaster object, use the SDO_GEOR.setVAT procedure.

Examples

The following example returns the value attribute tables for layers 0, 1, 2, and 3 of the GeoRaster objects (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table. (The output is reformatted for readability.)

SELECT substr(sdo_geor.getVAT(tmimage, 0),1,20) vatTable0,
       substr(sdo_geor.getVAT(tmimage, 1),1,20) vatTable1,
       substr(sdo_geor.getVAT(tmimage, 2),1,20) vatTable2,
       substr(sdo_geor.getVAT(tmimage, 3),1,20) vatTable3
  FROM landsat WHERE id=4;

VATTABLE0            VATTABLE1            VATTABLE2            VATTABLE3
-------------------- -------------------- -------------------- ----------------
VAT0                 VAT1                 VAT2                 VAT1

SDO_GEOR.getVersion

Format

SDO_GEOR.getVersion(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Returns the user-specified version of a GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

The version returned is in the format major-version.minor-version.

To set the user-specified version of a GeoRaster object, use the SDO_GEOR.setVersion procedure.

Examples

The following example returns the user-specified version of the GeoRaster objects (TMIMAGE column) in the LANDSAT table. (The output is reformatted for readability.)

SELECT id, sdo_geor.getVersion(tmimage) version FROM landsat;

        ID VERSION
---------- --------------------------------------------------------------------
         2  10.1
         4  9i.2

SDO_GEOR.hasGrayScale

Format

SDO_GEOR.hasGrayScale(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Checks if a layer of a GeoRaster object has grayscale information.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer to check. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns TRUE if the layer has grayscale information, or FALSE if the layer does not use grayscale representation. Section 2.3.3 describes grayscale display.

If the layer has grayscale information, you can get and set the grayscale mappings and the grayscale mapping table name. See the following: SDO_GEOR.getGrayScale and SDO_GEOR.getGrayScaleTable functions, and SDO_GEOR.setGrayScale and SDO_GEOR.setGrayScaleTable procedures.

Examples

The following example checks if layers 0 and 1 of a specified GeoRaster object (TMIMAGE column) have grayscale information.

SELECT substr(sdo_geor.hasGrayScale(tmimage, 0),1,15) hasGrayScale0,
       substr(sdo_geor.hasGrayScale(tmimage, 1),1,15) hasGrayScale1
  FROM landsat WHERE id=4;

HASGRAYSCALE0   HASGRAYSCALE1
--------------- ---------------
TRUE            FALSE

SDO_GEOR.hasPseudoColor

Format

SDO_GEOR.hasPseudoColor(

     georaster IN SDO_GEORASTER,

     layerNumber IN NUMBER

     ) RETURN VARCHAR2;

Description

Checks if a layer of a GeoRaster object has pseudocolor information.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer to check. A value of 0 (zero) indicates the object layer.

Usage Notes

This function returns TRUE if the layer has pseudocolor information, or FALSE if the layer does not use pseudocolor representation. Section 2.3.2 describes colormaps and pseudocolor display.

If the layer has pseudocolor information, you can get and set the colormap and colormap table name. See the following: SDO_GEOR.getColorMap and SDO_GEOR.getColorMapTable functions, and SDO_GEOR.setColorMap and SDO_GEOR.setColorMapTable procedures.

Examples

The following example checks if layers 0 and 1 of a specified GeoRaster object (TMIMAGE column) have pseudocolor information.

SELECT substr(sdo_geor.hasPseudoColor(tmimage, 0),1,15) hasPseudoColor0,
       substr(sdo_geor.hasPseudoColor(tmimage, 1),1,15) hasPseudoColor1
  FROM landsat WHERE id=4;

HASPSEUDOCOLOR0 HASPSEUDOCOLOR1
--------------- ---------------
FALSE           TRUE

SDO_GEOR.importFrom

Format

SDO_GEOR.importFrom(

     georaster IN OUT SDO_GEORASTER,

     storageParam IN VARCHAR2,

     r_sourceFormat IN VARCHAR2,

     r_sourceType IN VARCHAR2,

     r_sourceName IN VARCHAR2,

     h_sourceFormat IN VARCHAR2 DEFAULT NULL,

     h_sourceType IN VARCHAR2 DEFAULT NULL,

     h_sourceName IN VARCHAR2 DEFAULT NULL);

or

SDO_GEOR.importFrom(

     georaster IN OUT SDO_GEORASTER,

     storageParam IN VARCHAR2,

     r_sourceFormat IN VARCHAR2,

     r_sourceBLOB IN BLOB,

     h_sourceFormat IN VARCHAR2 DEFAULT NULL,

     h_sourceCLOB IN CLOB DEFAULT NULL);

Description

Imports an image file or BLOB object into a GeoRaster object stored in the database.

Parameters

georaster

GeoRaster object to hold the result of the operation.

storageParam

String containing storage parameters. The format and usage are as explained in Section 1.4.1. Currently, the keywords supported for this operation are:

  • blocksize: (See the explanation in Table 1-1 in Section 1.4.1.)

  • blocking: FALSE causes the image to be stored as a single block. If the blocksize parameter is not specified, TRUE causes the image to be reblocked using the default reblocking parameter values: (256,256,B), where B is the total number of bands that the image contains. If the blocksize parameter is specified, blocking is automatically interpreted as TRUE.

r_sourceFormat

Raster source format. Must be one of the following: TIFF, GIF, BMP, or PNG. (JPEG is not supported for this procedure; however, you can use the client-side GeoRaster loader tool, described in Section 1.9, to import a JPEG file.)

r_sourceType

Type of source for the import operation. Must be FILE.

r_sourceName

Source file name (with full path specification) if r_sourceType is FILE.

r_sourceBLOB

Raster source object of type BLOB.

h_sourceFormat

Geoheader source format. Must be WORLDFILE.

h_sourceType

Geoheader type of source for the import operation. Must be FILE.

h_sourceName

Geoheader source file name (with full path specification) if h_sourceType is FILE.

h_sourceCLOB

Geoheader source as an object of type CLOB.

Usage Notes

Specify values for the parameters with names that start with r_ and h_ only if the raster image and the geoheader are in separate files or objects.

This procedure can load an ESRI world file from a file or from a CLOB object.

This procedure does not support JPEG as a source file format. You can use the client-side GeoRaster loader tool, described in Section 1.9, to import a JPEG file.

This procedure does not support raster data that has a cell depth value of 2BIT or source multiband raster data with BIL and BSQ interleaving types.

The imported GeoRaster object has the BIP interleaving type.

The import operation cannot be rolled back.

Before you call this procedure, you must have read permission on the files to be imported or the directory that contains the files. The following example (run as user SYSTEM) grants read permission on a file to user HERMAN:

call dbms_java.grant_permission('HERMAN','SYS:java.io.FilePermission',
  'sdo/demos/georaster/data/img1.tif', 'read' );

Examples

The following example initializes an empty GeoRaster object into which an external image in TIFF format is to be imported, and then imports the image.

DECLARE   
   geor SDO_GEORASTER;
BEGIN  
-- Initialize an empty GeoRaster object into which the external image
-- is to be imported. 
INSERT INTO georaster_table
   values( 1, 'TIFF', sdo_geor.init('rdt_1') );  

-- Import the TIFF image. 
SELECT georaster INTO geor from georaster_table 
   where georid = 1 FOR UPDATE; 
sdo_geor.importFrom(geor, NULL, 'TIFF', 'file', 
   'sdo/demos/georaster/data/img1.tif');  
UPDATE georaster_table SET georaster = geor where georid = 1;  
COMMIT;
END;/

The following example imports images from a BLOB and an ESRI world file from a CLOB.

CREATE TABLE blob_table (blob_col BLOB, blobid NUMBER unique, clob_col CLOB);
INSERT INTO blob_table VALUES (empty_blob(), 1, null);
INSERT INTO blob_table VALUES (empty_blob(), 2, empty_clob());
COMMIT;
 
DECLARE
  geor1 MDSYS.SDO_GEORASTER;
  lobd1 BLOB;
  lobd2 CLOB;
  fileName VARCHAR2(1024);
  file BFILE;
  wfile BFILE;
  wfname VARCHAR2(1024);
  amt INTEGER;
  amt1 INTEGER;
 
BEGIN
-- Import BLOB into georaster object.
-- First, if appropriate, load an existing image file into a BLOB object. 
EXECUTE IMMEDIATE 'CREATE DIRECTORY  blob_test_one AS '''/xyz'''';
fileName := '/parrot.tif';
file := BFILENAME('BLOB_TEST_ONE', fileName);
wfname := '/parrot.tfw';
wfile := BFILENAME('BLOB_TEST_ONE', wfname);
SELECT clob_col into lobd2 from blob_table WHERE blobid = 2 for update;
SELECT blob_col into lobd1 from blob_table WHERE blobid = 2 for update;
dbms_lob.fileopen(file, dbms_lob.file_readonly);
dbms_lob.fileopen(wfile, dbms_lob.file_readonly);
amt1 := dbms_lob.getLength(wfile);
dbms_lob.loadfromfile(lobd1, file, amt);
dbms_lob.loadfromfile(lobd2, wfile, amt1);
COMMIT;
dbms_lob.fileclose(file);
dbms_lob.fileclose(wfile);
 
-- Then, import this BLOB into a georaster object.
SELECT georaster INTO geor1 from georaster_table WHERE georid = 14 for update;
mdsys.sdo_geor.importFrom(geor1,'', 'TIFF', lobd1, 'WORLDFILE', lobd2);
sdo_geor.setModelSRID(geor1, 82394);
UPDATE georaster_table SET georaster = geor1 WHERE georid = 14;
COMMIT; 
END;
/

SDO_GEOR.init

Format

SDO_GEOR.init(

     rasterDataTable IN VARCHAR2 DEFAULT NULL,

     rasterID IN NUMBER DEFAULT NULL

     ) RETURN SDO_GEORASTER;

Description

Initializes an empty GeoRaster object, which will be registered by GeoRaster in the xxx_SDO_GEOR_SYSDATA views (described in Section 2.4).

Parameters

rasterDataTable

Name of the object table of type SDO_RASTER that stores the cell data blocks. If you do not specify this parameter, GeoRaster generates a unique table name to be used for the raster data table. If you specify this parameter and the table already exists but is not an object table of type SDO_RASTER, an exception is raised.

rasterID

Number that uniquely identifies the blocks of this GeoRaster object in its raster data table. If you do not specify this parameter, a unique sequence number is generated for the ID.

Usage Notes

This function returns an empty SDO_GEORASTER object with its rasterDataTable and rasterID attributes set. All other attributes of the SDO_GEORASTER object are null.

This function does not require that the specified raster data table exist. However, the table must exist before any data can be inserted into it, and you must create the table.

Examples

The following example inserts an initialized GeoRaster object into the GR_TABLE table. The raster data table associated with the GeoRaster object is RDT_1.

INSERT INTO gr_table (id, georaster) VALUES (1, sdo_geor.init('RDT_1'));

SDO_GEOR.isBlank

Format

SDO_GEOR.isBlank(

     georaster IN SDO_GEORASTER

     ) RETURN BOOLEAN;

Description

Returns TRUE if the GeoRaster object is a blank GeoRaster object, or FALSE if the GeoRaster object is not a blank GeoRaster object.

Parameters

georaster

GeoRaster object.

Usage Notes

In a blank GeoRaster object, all cells have the same cell value.

To change the cell value of an existing blank GeoRaster object, use the SDO_GEOR.setBlankCellValue procedure. To return the cell value of a specified GeoRaster object, use the SDO_GEOR.getBlankCellValue function.

Examples

The following example determines whether or not each GeoRaster object in the TMIMAGE column of the LANDSAT table is a blank GeoRaster object.

SELECT id, substr(sdo_geor.isBlank(tmimage),1,7) isBlank FROM landsat;

        ID ISBLANK
---------- -------
         2 FALSE
         4 FALSE

SDO_GEOR.isOrthoRectified

Format

SDO_GEOR.isOrthoRectified

     georaster IN SDO_GEORASTER

     ) RETURN BOOLEAN;

Description

Returns TRUE if the GeoRaster object is identified as orthorectified, or FALSE if the GeoRaster object is not identified as orthorectified.

Parameters

georaster

GeoRaster object.

Usage Notes

This function checks the GeoRaster metadata for the object to see if it is specified as orthorectified. It does not check if the object is actually orthorectified. Users are responsible for validating the GeoRaster object and ensuring that orthorectification is performed.

To specify that a GeoRaster object is orthorectified, use the SDO_GEOR.setOrthoRectified procedure.

Examples

The following example checks if the GeoRaster objects (TMIMAGE column) in the LANDSAT table are specified as spatially referenced, rectified, and orthorectified.

SELECT id, substr(sdo_geor.isSpatialReferenced(tmimage),1,20)
             isSpatialReferenced,
           substr(sdo_geor.isRectified(tmimage),1,20) isRectified,
           substr(sdo_geor.isOrthoRectified(tmimage),1,20) isOrthoRectified
  FROM landsat;

        ID ISSPATIALREFERENCED  ISRECTIFIED          ISORTHORECTIFIED
---------- -------------------- -------------------- --------------------
         2 TRUE                 TRUE                 TRUE
         4 TRUE                 TRUE                 FALSE

SDO_GEOR.isRectified

Format

SDO_GEOR.isRectified(

     georaster IN SDO_GEORASTER

     ) RETURN BOOLEAN;

Description

Returns TRUE if the GeoRaster object is identified as rectified, or FALSE if the GeoRaster object is not identified as rectified.

Parameters

georaster

GeoRaster object.

Usage Notes

This function checks the GeoRaster metadata for the object to see if it is specified as rectified. Users are responsible for validating the GeoRaster object and ensuring that rectification is performed.

To specify that a GeoRaster object is rectified, use the SDO_GEOR.setRectified procedure.

Examples

The following example checks if the GeoRaster objects (TMIMAGE column) in the LANDSAT table are specified as spatially referenced, rectified, and orthorectified.

SELECT id, substr(sdo_geor.isSpatialReferenced(tmimage),1,20)
             isSpatialReferenced,
           substr(sdo_geor.isRectified(tmimage),1,20) isRectified,
           substr(sdo_geor.isOrthoRectified(tmimage),1,20) isOrthoRectified
  FROM landsat;

        ID ISSPATIALREFERENCED  ISRECTIFIED          ISORTHORECTIFIED
---------- -------------------- -------------------- --------------------
         2 TRUE                 TRUE                 TRUE
         4 TRUE                 TRUE                 FALSE

SDO_GEOR.isSpatialReferenced

Format

SDO_GEOR.isSpatialReferenced(

     georaster IN SDO_GEORASTER

     ) RETURN BOOLEAN;

Description

Returns TRUE if the GeoRaster object is spatially referenced, or FALSE if the GeoRaster object is not spatially referenced.

Parameters

georaster

GeoRaster object.

Usage Notes

The GeoRaster object must have been validated.

Examples

The following example checks if the GeoRaster objects (TMIMAGE column) in the LANDSAT table are specified as spatially referenced, rectified, and orthorectified.

SELECT id, substr(sdo_geor.isSpatialReferenced(tmimage),1,20)
             isSpatialReferenced,
           substr(sdo_geor.isRectified(tmimage),1,20) isRectified,
           substr(sdo_geor.isOrthoRectified(tmimage),1,20) isOrthoRectified
  FROM landsat;

        ID ISSPATIALREFERENCED  ISRECTIFIED          ISORTHORECTIFIED
---------- -------------------- -------------------- --------------------
         2 TRUE                 TRUE                 TRUE
         4 TRUE                 TRUE                 FALSE

SDO_GEOR.mosaic

Format

SDO_GEOR.mosaic(

     georasterTableName IN VARCHAR2,

     georasterColumnName IN VARCHAR2,

     georaster IN OUT SDO_GEORASTER,

     storageParam IN VARCHAR2);

Description

Mosaics GeoRaster objects into one GeoRaster object.

Parameters

georasterTableName

Name of the table containing all source GeoRaster objects.

georasterColumnName

Column of type SDO_GEORASTER in georasterTableName.

georaster

GeoRaster object to hold the result of the mosaic operation.

storageParam

A string specifying storage parameters, as explained in Section 1.4.1. If this parameter is null, the resulting GeoRaster object has the same storage parameters (blockSize, cellDepth, and interleaving) as the upper-left corner source GeoRaster object in the model space (if applicable) or cell space.

Usage Notes

The source GeoRaster objects must be prepared tiles or blocks so that they can be mosaicked directly and seamlessly. The GeoRaster objects to be mosaicked must:

If applicable, the resulting GeoRaster object takes the spatial reference metadata information from the upper-left corner source GeoRaster object in the model space.

If all source GeoRaster objects are blank and have the same blankCellValue value, the resulting GeoRaster object is blank and has that blankCellValue value; otherwise, the resulting GeoRaster object is not blank.

Any pyramid data for the source GeoRaster objects is not considered, and the pyramid parameter is ignored if it is specified in the storageParam string.

The mosaic operation performs internal commit operations at regular intervals, and thus it cannot be rolled back. If the operation is interrupted, dangling raster blocks may exist in the raster data table. You can handle dangling raster blocks, as explained in Section 3.14.

An exception is raised if one or more of the following are true:

Examples

The following example mosaics all GeoRaster objects in the GROBJ column of the table named GRTAB, and inserts the resulting mosaicked GeoRaster object into the LANDSAT table.

DECLARE
  gr sdo_georaster;
BEGIN
  gr := sdo_geor.init('tm_02');
  sdo_geor.mosaic('grtab', 'grobj', gr, 'blocksize=(512,512,1)');
  INSERT INTO landsat (id, tmimage) VALUES (12, gr);
  COMMIT;
END;
/

SDO_GEOR.scale

Format

SDO_GEOR.scale(

     inGeoraster IN OUT SDO_GEORASTER,

     scaleParam IN VARCHAR2,

     resampleParam IN VARCHAR2,

     storageParam IN VARCHAR2);

Description

Scales (enlarges or reduces) a GeoRaster object.

Parameters

inGeoraster

The SDO_GEORASTER object on which the scaling operation is to be performed.

scaleParam

A string specifying a scaling parameter keyword and its associated value. The keyword must be one of the following:

  • scaleFactor, to reduce or enlarge as a multiple of the original size. This keyword must have a numeric value greater than 0 (zero) (for example, 'scaleFactor=0.75'). A value of 1.0 will not change the current size; a value less than 1 will reduce the image; a value greater than 1 will enlarge the image. The number of cells along each dimension is the original number multiplied by scaleFactor. For example, if the scaleFactor value is 2 and the GeoRaster object has X and Y dimensions, the number of cells along each dimension is doubled.

  • maxDimSize, to specify a size in terms of the maximum number of cells for each dimension. This keyword must have a numeric value for each dimension (for example, 'maxDimSize=(512,512)'). The aspect ratio is not changed.

resampleParam

A string specifying a resampling parameter (for example, 'resampling=NN'). For the current release, the only supported keyword is resampling, and its value must be one of the following:

  • NN: value of the nearest neighbor cell in the original GeoRaster object

  • BILINEAR: distance-weighted average of the 4 nearest cells in the original GeoRaster object

  • AVERAGE4: simple average of the 4 nearest cells in the original GeoRaster object

  • AVERAGE16: simple average of the 16 nearest cells in the original GeoRaster object

  • CUBIC: cubic convolution of the 16 nearest cells in the original GeoRaster object

storageParam

A string specifying storage parameters, as explained in Section 1.4.1.

Usage Notes

Use this procedure to change a GeoRaster object to reflect the specified scaling. To create a new GeoRaster object reflecting a specified scaling (without changing the original object), use the SDO_GEOR.scaleCopy procedure.

This procedure does not scale along the band dimension.

Any pyramid data in the GeoRaster object is deleted as a result of the scaling operation.

After the operation, the row and column ULT coordinates are always set to 0 (zero), even if no scaling is performed (that is, even if scaleFactor=1).

If the metadata contains spatial reference information and if the GeoRaster object is georeferenced with a valid affine transformation, the spatial reference information is updated accordingly; otherwise, the spatial reference information is removed.

Examples

The following example reduces an image to three-fourths (0.75) size, specifies bilinear resampling, and specifies a block size of 64 for each dimension in the storage parameters.

DECLARE
  gr1 sdo_georaster;
BEGIN
  SELECT tmimage INTO gr1 FROM landsat WHERE id=21;
  sdo_geor.scale(gr1, 'scaleFactor=0.75', 'resampling=BILINEAR',
                     'blocksize=(64,64)');
  UPDATE landsat SET tmimage=gr1 WHERE id=21;
  COMMIT;
END;
/

SDO_GEOR.scaleCopy

Format

SDO_GEOR.scaleCopy(

     inGeoraster IN SDO_GEORASTER,

     scaleParam IN VARCHAR2,

     resampleParam IN VARCHAR2,

     storageParam IN VARCHAR2,

     outGeoraster IN OUT SDO_GEORASTER);

Description

Scales (enlarges or reduces) a GeoRaster object and puts the result into a new object that reflects the scaling.

Parameters

inGeoraster

The SDO_GEORASTER object on which the scaling operation is to be performed to create the new object (outGeoraster).

scaleParam

A string specifying a scaling parameter keyword and its associated value. The keyword must be one of the following:

  • scaleFactor, to reduce or enlarge as a multiple of the original size. This keyword must have a numeric value greater than 0 (zero) (for example, 'scaleFactor=0.75'). A value of 1.0 will not change the current size; a value less than 1 will reduce the image; a value greater than 1 will enlarge the image. The number of cells along each dimension is the original number multiplied by scaleFactor. For example, if the scaleFactor value is 2 and the GeoRaster object has X and Y dimensions, the number of cells along each dimension is doubled.

  • maxDimSize, to specify a size in terms of the maximum number of cells for each dimension. This keyword must have a numeric value for each dimension (for example, 'maxDimSize=(512,512)'). The aspect ratio is not changed.

resampleParam

A string specifying a resampling parameter (for example, 'resampling=NN'). For the current release, the only supported keyword is resampling, and its value must be one of the following:

  • NN: value of the nearest neighbor cell in the original GeoRaster object

  • BILINEAR: distance-weighted average of the 4 nearest cells in the original GeoRaster object

  • AVERAGE4: simple average of the 4 nearest cells in the original GeoRaster object

  • AVERAGE16: simple average of the 16 nearest cells in the original GeoRaster object

  • CUBIC: cubic convolution of the 16 nearest cells in the original GeoRaster object

storageParam

A string specifying storage parameters, as explained in Section 1.4.1.

outGeoraster

The new SDO_GEORASTER object that reflects the results of the scaling operation.

Usage Notes

Use this procedure to create a new GeoRaster object reflecting the specified scaling, without changing the original object. To change the original GeoRaster object to reflect a specified scaling, use the SDO_GEOR.scale procedure.

This procedure does not scale along the band dimension.

Any pyramid data in the input GeoRaster object is not included in the output GeoRaster object.

After the operation, the row and column ULT coordinates are always set to 0 (zero), even if no scaling is performed (that is, even if scaleFactor=1).

If the metadata contains spatial reference information and if the GeoRaster object is georeferenced with a valid affine transformation, the spatial reference and georeferencing information is updated accordingly; otherwise, the spatial reference information is removed.

An exception is raised if one or more of the following are true:

Examples

The following example reduces an image to three-fourths (0.75) size, specifies AVERAGE4 resampling, and specifies a block size of 32 for each dimension in the storage parameters.

DECLARE
  gr1 sdo_georaster;
  gr2 sdo_georaster;
BEGIN
  INSERT INTO landsat VALUES (21, '21', sdo_geor.init('T21'), null)
    returning tmimage INTO gr2;

  SELECT tmimage INTO gr1 FROM landsat WHERE id=2;

  sdo_geor.scaleCopy(gr1, 'scaleFactor=0.75', resampling=AVERAGE4',
                     'blocksize=(32,32)', gr2);
  UPDATE landsat SET tmimage=gr2 WHERE id=21;
  COMMIT;
END;
/

SDO_GEOR.schemaValidate

Format

SDO_GEOR.schemaValidate(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Validates a GeoRaster object's metadata against the GeoRaster XML schema.

Parameters

georaster

GeoRaster object.

Usage Notes

This function returns TRUE if the metadata is valid, NULL if the GeoRaster object or its metadata is null, or one or more Oracle error codes indicating why the metadata is not valid and the exact location of the errors.

Use this function with the SDO_GEOR.validateGeoraster function. If the SDO_GEOR.validateGeoraster function identifies a GeoRaster object as invalid with an error code of 13454, the object's metadata is not valid according to the GeoRaster XML schema. If this happens, call the SDO_GEOR.schemaValidate function to get specific information, including the location in the metadata, about the errors.

Examples

The following example validates a GeoRaster object's metadata.

SELECT t.georid,
       sdo_geor.schemavalidate(t.georaster)
  from georaster_table t 
  where t.georid = 1;

SDO_GEOR.setBeginDateTime

Format

SDO_GEOR.setBeginDateTime(

     georaster IN OUT SDO_GEORASTER,

     beginTime TIMESTAMP WITH TIME ZONE);

Description

Sets the beginning date and time for raster data collection in the metadata for a GeoRaster object, or deletes the existing value if you specify a null beginTime parameter.

Parameters

georaster

GeoRaster object.

beginTime

Time specification.

Usage Notes

To see the current beginning date and time (if any) in the metadata for the GeoRaster object, use the SDO_GEOR.getBeginDateTime function.

An exception is raised if beginTime is later than the ending date and time specified in the metadata for the GeoRaster object (see the SDO_GEOR.setEndDateTime procedure).

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the beginning and ending dates and times for raster data collection in the metadata for a GeoRaster object.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setBeginDateTime(grobj, timestamp '2002-11-15 15:00:00');
  sdo_geor.setEndDateTime(grobj, timestamp '2002-11-15 15:00:10');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setBinTable

Format

SDO_GEOR.setBinTable(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     tableName IN VARCHAR2);

Description

Sets the name of the bin table associated with a layer, or deletes the existing value if you specify a null tableName parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to set the bin table name. A value of 0 (zero) indicates the object layer.

tableName

Name of the bin table associated with a layer.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

This procedure is relevant only if the bin type is EXPLICIT. To retrieve the bin type, use the SDO_GEOR.getBinType function.

To return the bin table for a layer, use the SDO_GEOR.getBinTable function.

See also the information in the Usage Notes for the SDO_GEOR.getBinType function.

Examples

The following example sets BINT1 as the name of the bin table for layer number 3 of a specified GeoRaster object in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setBinTable(grobj, 3, 'BINT1');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setBlankCellValue

Format

SDO_GEOR.setBlankCellValue(

     georaster IN OUT SDO_GEORASTER,

     value IN NUMBER);

Description

Sets (modifies) the cell value to be used for all cells if a specified GeoRaster object is a blank GeoRaster object, or deletes the existing value if you specify a null value parameter.

Parameters

georaster

GeoRaster object.

value

Cell value to be used for the blank GeoRaster object. Cannot be a null value.

Usage Notes

In a blank GeoRaster object, all cells have the same cell value.

The GeoRaster object is automatically validated after the operation completes.

To return the blank cell value of a blank GeoRaster object, use the SDO_GEOR.getBlankCellValue function. To determine if a specified GeoRaster object is a blank GeoRaster object, use the SDO_GEOR.isBlank function.

Examples

The following example specifies a value of 255 to be used for all cells in the GeoRaster object column (TMIMAGE) in the LANDSAT table for the row with an ID column value of 1.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=1 FOR UPDATE;
  sdo_geor.setBlankCellValue(grobj, 255);
  UPDATE landsat SET tmimage = grobj WHERE id=1;
  COMMIT;
END;
/

SDO_GEOR.setColorMap

Format

SDO_GEOR.setColorMap

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     colorMap IN MYSYS.SDO_GEOR_COLORMAP);

Description

Sets the colormap for a layer in a GeoRaster object, or deletes the existing value if you specify a null colorMap parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

colorMap

Colormap object of type SDO_GEOR_COLORMAP, which is described in Section 2.3.2.

Usage Notes

The following must be true of the specified colormap object:

The GeoRaster object is automatically validated after the operation completes.

You can create a colormap or retrieve a colormap from an existing GeoRaster object for use. To return the colormap for a layer in a GeoRaster object, use the SDO_GEOR.getColorMap function.

Examples

The following example sets the colormap for layer 2 of the GeoRaster object (IMAGE column) in the row with the ID column value of 4 in the IMAGES table. It assumes that the GeoRaster object is a bitmap.

DECLARE
  grobj sdo_georaster;
  cmobj sdo_colormap;
BEGIN
  cmobj := sdo_colormap(sdo_number_array(0, 1),
                        sdo_number_array(0, 255),
                        sdo_number_array(0, 0),
                        sdo_number_array(0, 0),
                        sdo_number_array(255, 255));

  SELECT image INTO grobj FROM images WHERE id=4 FOR UPDATE;
  sdo_geor.setColorMap(grobj, 2, cmobj);
  UPDATE images SET image = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setColorMapTable

Format

SDO_GEOR.setColorMapTable(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     tableName IN VARCHAR2);

Description

Sets the colormap table for a layer in a GeoRaster object, or deletes the existing value if you specify a null tableName parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

tableName

Name of the user-defined colormap table. Section 2.3.2 describes colormaps.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

To return the colormap table for a layer in a GeoRaster object, use the SDO_GEOR.getColorMapTable function.

Examples

The following example sets the colormap table to be null for layer 2 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setColorMapTable(grobj, 2, null);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setDefaultBlue

Format

SDO_GEOR.setDefaultBlue(

     georaster IN OUT SDO_GEORASTER,

     defaultBlue NUMBER);

Description

Sets the number of the layer to be used for the blue color component (in the RGB color space) for displaying a GeoRaster object, or deletes the existing value if you specify a null defaultBlue parameter.

Parameters

georaster

GeoRaster object.

defaultBlue

Number of the layer to be used for the blue color component (in the RGB color space) for displaying the specified GeoRaster object. Must be greater than 0 (zero) and less than or equal to the highest layer number in the GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the default red, green, and blue color layers for the GeoRaster objects (GROBJ column) in the LANDSAT table, and it returns an array with the layer numbers for the red, green, and blue color components for displaying these GeoRaster objects.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setDefaultRed(grobj, 5);
  sdo_geor.setDefaultGreen(grobj, 4);
  sdo_geor.setDefaultBlue(grobj, 3);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SELECT sdo_geor.getDefaultColorLayer(tmimage) FROM landsat WHERE id=4;
 
SDO_GEOR.GETDEFAULTCOLORLAYER(TMIMAGE)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(5, 4, 3)
 
1 row selected.

SDO_GEOR.setDefaultColorLayer

Format

SDO_GEOR.setDefaultColorLayer(

     georaster IN OUT SDO_GEORASTER,

     defaultRGB SDO_NUMBER_ARRAY);

Description

Sets the default numbers of the layers to be used for the red, green, and blue color components, respectively, for displaying a GeoRaster object, or deletes the existing values if you specify a null defaultRGB parameter.

Parameters

georaster

GeoRaster object.

defaultRGB

Array of three numbers identifying the red, green, and blue color components, respectively, for displaying the specified GeoRaster object. Each number must be greater than 0 (zero) and less than or equal to the highest layer number in the GeoRaster object.

Usage Notes

The RGB layer numbers specified are used for true-color displays, not for pseudocolor or grayscale displays.

The GeoRaster object is automatically validated after the operation completes.

You can set the layer number for each color component (RGB) by using the SDO_GEOR.setDefaultRed, SDO_GEOR.setDefaultGreen, and SDO_GEOR.setDefaultBlue procedures.

Examples

The following example specifies that layer number 1 is to be used for the red, green, and blue color components for displaying the GeoRaster object (TMIMAGE column) in the row with an ID column value of 2 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=2 FOR UPDATE;
  sdo_geor.setDefaultColorLayer(grobj, sdo_number_array(1,1,1));
  UPDATE landsat SET tmimage = grobj WHERE id=2;
  COMMIT;
END;
/

SDO_GEOR.setDefaultGreen

Format

SDO_GEOR.setDefaultGreen(

     georaster IN OUT SDO_GEORASTER,

     defaultGreen NUMBER);

Description

Sets the number of the layer to be used for the green color component (in the RGB color space) for displaying a GeoRaster object, or deletes the existing value if you specify a null defaultGreen parameter.

Parameters

georaster

GeoRaster object.

defaultGreen

Number of the layer to be used for the green color component (in the RGB color space) for displaying the specified GeoRaster object. Must be greater than 0 (zero) and less than or equal to the highest layer number in the GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the default red, green, and blue color layers for the GeoRaster objects (GROBJ column) in the LANDSAT table, and it returns an array with the layer numbers for the red, green, and blue color components for displaying these GeoRaster objects.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setDefaultRed(grobj, 5);
  sdo_geor.setDefaultGreen(grobj, 4);
  sdo_geor.setDefaultBlue(grobj, 3);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SELECT sdo_geor.getDefaultColorLayer(tmimage) FROM landsat WHERE id=4;
 
SDO_GEOR.GETDEFAULTCOLORLAYER(TMIMAGE)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(5, 4, 3)
 
1 row selected.

SDO_GEOR.setDefaultRed

Format

SDO_GEOR.setDefaultRed(

     georaster IN OUT SDO_GEORASTER,

     defaultRed IN NUMBER);

Description

Sets the number of the layer to be used for the red color component (in the RGB color space) for displaying a GeoRaster object, or deletes the existing value if you specify a null defaultRed parameter.

Parameters

georaster

GeoRaster object.

defaultRed

Number of the layer to be used for the red color component (in the RGB color space) for displaying the specified GeoRaster object. Must be greater than 0 (zero) and less than or equal to the highest layer number in the GeoRaster object.

Usage Notes

The default red, green, and blue values are used for true-color displays, not for pseudocolor or grayscale displays. These values are optional, and they are intended for use only when visualizing multilayer or hyperspectral GeoRaster objects.

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the default red, green, and blue color layers for the GeoRaster objects (GROBJ column) in the LANDSAT table, and it returns an array with the layer numbers for the red, green, and blue color components for displaying these GeoRaster objects.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setDefaultRed(grobj, 5);
  sdo_geor.setDefaultGreen(grobj, 4);
  sdo_geor.setDefaultBlue(grobj, 3);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SELECT sdo_geor.getDefaultColorLayer(tmimage) FROM landsat WHERE id=4;
 
SDO_GEOR.GETDEFAULTCOLORLAYER(TMIMAGE)
--------------------------------------------------------------------------------
SDO_NUMBER_ARRAY(5, 4, 3)
 
1 row selected.

SDO_GEOR.setEndDateTime

Format

SDO_GEOR.setEndDateTime(

     georaster IN OUT SDO_GEORASTER,

     endTime TIMESTAMP WITH TIME ZONE);

Description

Sets the ending date and time for raster data collection in the metadata for a GeoRaster object, or deletes the existing value if you specify a null endTime parameter.

Parameters

georaster

GeoRaster object.

endTime

Time specification.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

To see the current ending date and time (if any) in the metadata for the GeoRaster object, use the SDO_GEOR.getEndDateTime function.

An exception is raised if endTime is earlier than the beginning date and time specified in the metadata for the GeoRaster object (see the SDO_GEOR.setBeginDateTime procedure).

Examples

The following example sets the beginning and ending dates and times for raster data collection in the metadata for a GeoRaster object.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setBeginDateTime(grobj, timestamp '2002-11-15 15:00:00');
  sdo_geor.setEndDateTime(grobj, timestamp '2002-11-15 15:00:10');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setGrayScale

Format

SDO_GEOR.setGrayScale(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     grayScale IN SDO_GEOR_GRAYSCALE);

Description

Sets the grayscale mappings for a layer in a GeoRaster object, or deletes the existing values if you specify a null grayScale parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to set the grayscale mappings. A value of 0 (zero) indicates the object layer.

grayScale

An object of type SDO_GEOR_GRAYSCALE, which is described in Section 2.3.3.

Usage Notes

The following must be true of the specified colormap object:

The GeoRaster object is automatically validated after the operation completes.

To return the grayscale mappings for a layer in a GeoRaster object, use the SDO_GEOR.getGrayScale function.

Examples

The following example sets the grayscale mappings for layer 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
  gsobj sdo_grayscale;
BEGIN
  gsobj := sdo_grayscale(sdo_number_array(1, 10, 20, 30, 255),
                         sdo_number_array(0, 180, 210, 230, 250));
  
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setGrayScale(grobj, 3, gsobj);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setGrayScaleTable

Format

SDO_GEOR.setGrayScaleTable(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     tableName IN VARCHAR2);

Description

Sets the grayscale mapping table for a layer in a GeoRaster object, or deletes the existing value if you specify a null tableName parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to set the grayscale mapping table. A value of 0 (zero) indicates the object layer.

tableName

Name of the grayscale mapping table for a layer in the specified GeoRaster object.

Usage Notes

Section 2.3.3 describes grayscale display.

The GeoRaster object is automatically validated after the operation completes.

To return the grayscale mapping table for a layer in a GeoRaster object, use the SDO_GEOR.getGrayScaleTable function.

Examples

The following example sets GST1 as the grayscale mapping table for layer 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setGrayScaleTable(grobj, 3, 'GST1');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setHistogramTable

Format

SDO_GEOR.setHistogramTable(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER

     tableName IN VARCHAR2);

Description

Sets the histogram table for a layer in a GeoRaster object.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to set the name of the histogram table. A value of 0 (zero) indicates the object layer.

tableName

Name of the histogram table. If this parameter is null, the metadata information for any existing histogram table (but not the actual table) is deleted. If there is no statistics information for the layer, this parameter must be null. The parameter value cannot be an empty string (that is, it cannot be '').

Usage Notes

This procedure specifies a user-defined histogram table. Section 2.3.1 briefly discusses histograms.

To return the name of the histogram table for a layer, use the SDO_GEOR.getHistogramTable function.

Examples

The following example sets HIST1 as the histogram table for layer 3 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setHistogramTable(grobj, 3, 'HIST1');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setID

Format

SDO_GEOR.setID(

     georaster IN OUT SDO_GEORASTER,

     id IN VARCHAR2);

Description

Sets a user-defined identifier to be associated with a GeoRaster object, or deletes the existing value if you specify a null id parameter.

Parameters

georaster

GeoRaster object.

id

ID value to be associated with the GeoRaster object.

Usage Notes

This procedure is useful for assigning unique meaningful alphanumeric identifiers to GeoRaster objects, so that users and applications can easily identify the objects.

The GeoRaster object is automatically validated after the operation completes.

To return the user-defined identifier value for a GeoRaster object, use the SDO_GEOR.getID function.

Examples

The following example sets newid as the user-defined identifier value of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 2 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=2 FOR UPDATE;
  sdo_geor.setID(grobj, 'newid');
  UPDATE landsat SET tmimage = grobj WHERE id=2;
  COMMIT;
END;
/

SDO_GEOR.setLayerID

Format

SDO_GEOR.setLayerID(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     id IN VARCHAR2);

Description

Sets a user-defined identifier to be associated with a layer in a GeoRaster object, or deletes the existing value if you specify a null id parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

id

ID value to be associated with the specified layer in the GeoRaster object.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

To return the user-defined identifier value for a layer in a GeoRaster object, use the SDO_GEOR.getLayerID function.

Examples

The following example sets TM_Band_2 as the user-defined identifier value of layer 2 in the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setLayerID(grobj, 2, 'TM_Band_2');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setLayerOrdinate

Format

SDO_GEOR.setLayerOrdinate(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     ordinate IN NUMBER);

Description

Sets the band ordinate value for a specified layer in a GeoRaster object, or deletes the existing value if you specify a null ordinate parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

ordinate

Band ordinate value of the layer along the band dimension.

Usage Notes

The band ordinate of the layer refers to the physical band that a layer (layerNumber parameter value) is associated with. For the current release, the associations must be as shown in Figure 1-4 in Section 1.5: layer 1 is band 0, layer 2 is band 1, and so on.

The band ordinate for the object layer is ignored by GeoRaster.

The GeoRaster object is automatically validated after the operation completes.

To return the band ordinate value for a layer, use the SDO_GEOR.getLayerOrdinate function.

Examples

The following example sets the band ordinate value for layer 1 to be 0 (zero) in the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setLayerOrdinate(grobj, 1, 0);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setModelSRID

Format

SDO_GEOR.setModelSRID(

     georaster IN OUT SDO_GEORASTER,

     srid IN NUMBER);

Description

Sets the coordinate system (SDO_SRID value) for the model (ground) space for a GeoRaster object, or deletes the existing value if you specify a null srid parameter.

Parameters

georaster

GeoRaster object.

srid

Coordinate system. Must be either a value from the SRID column of the MDSYS.CS_SRS table, or null to have no coordinate system associated with the model space.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

If the original GeoRaster object had a different model space SRID value, this procedure does not change the raster data itself. In other words, this procedure does not cause any reprojection or resampling on the cell data of the GeoRaster object.

To return the coordinate system (SDO_SRID value) associated with the model space for a GeoRaster object, use the SDO_GEOR.getModelSRID function.

Examples

The following example changes the coordinate system for a GeoRaster object to Longitude / Latitude (WGS 66), which is the coordinate system associated with SRID value 8305 in the MDSYS.CS_SRS system table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setModelSRID(grobj, 8305);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setOrthoRectified

Format

SDO_GEOR.setOrthoRectified(

     georaster IN OUT SDO_GEORASTER,

     isOrthoRectified IN VARCHAR2);

Description

Specifies whether or not a GeoRaster object is orthorectified, or deletes the existing value if you specify a null isOrthoRectified parameter.

Parameters

georaster

GeoRaster object.

isOrthoRectified

Specify TRUE to specify that the GeoRaster object is orthorectified, FALSE to specify that the GeoRaster object is not orthorectified, or null if it is not certain whether or not the GeoRaster object is orthorectified.

Usage Notes

This procedure modifies the GeoRaster metadata for the object. It does not actually orthorectify the object. Users are responsible for ensuring that orthorectification is performed.

The GeoRaster object is automatically validated after the operation completes.

To be set as orthorectified, a GeoRaster object must be spatially referenced and rectified.

Examples

The following example identifies the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table as orthorectified.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setOrthoRectified(grobj, 'TRUE');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setRasterType

Format

SDO_GEOR.setRasterType(

     georaster IN OUT SDO_GEORASTER,

     rasterType IN NUMBER);

Description

Sets the raster type of a GeoRaster object.

Parameters

georaster

GeoRaster object.

rasterType

Numeric value to be set as the rasterType attribute of the GeoRaster object. Must be a valid 5-digit numeric value, in the format described in Section 2.1.1.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the rasterType attribute value of a GeoRaster object to 20001.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=2 FOR UPDATE;
  sdo_geor.setRasterType(grobj, 20001);
  UPDATE landsat SET tmimage = grobj WHERE id=2;
  COMMIT;
END;
/

SDO_GEOR.setRectified

Format

SDO_GEOR.setRectified(

     georaster IN OUT SDO_GEORASTER,

     isRectified IN VARCHAR2);

Description

Specifies whether or not a GeoRaster object is rectified, or deletes the existing value if you specify a null isRectified parameter.

Parameters

georaster

GeoRaster object.

isRectified

Specify TRUE to specify that the GeoRaster object is rectified, FALSE to specify that the GeoRaster object is not rectified, or null if it is not certain whether or not the GeoRaster object is rectified.

Usage Notes

This procedure modifies the GeoRaster metadata for the object. It does not actually rectify the object. Users are responsible for ensuring that rectification is performed.

The GeoRaster object is automatically validated after the operation completes.

A GeoRaster object must be spatially referenced if you want to set isRectified to TRUE (see the SDO_GEOR.setSpatialReferenced procedure).

Examples

The following example identifies the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table as not rectified.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setRectified(grobj, 'false');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setScaling

Format

SDO_GEOR.setScaling(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     scalingFunc IN SDO_NUMBER_ARRAY);

Description

Sets the scaling function associated with a layer, or deletes the existing value if you specify a null scalingFunc parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

scalingFunc

An array of numeric values, with one value for each coefficient in the scaling function. The scaling function is as follows:

value = (a0 + a1 * cellvalue) / (b0 + b1 * cellvalue)

The order of the coefficients is: a0, a1, b0, b1.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the coefficients of the scaling function for layer 2 of a GeoRaster object.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setScaling(grobj, 2, sdo_number_array(1, 0.5, 1, 0));
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setSpatialReferenced

Format

SDO_GEOR.setSpatialReferenced(

     georaster IN OUT SDO_GEORASTER,

     isReferenced IN VARCHAR2);

Description

Specifies whether or not a GeoRaster object is spatially referenced, or deletes the existing value if you specify a null isReferenced parameter.

Parameters

georaster

GeoRaster object.

isReferenced

Specify TRUE to specify that the GeoRaster object is spatially referenced, or FALSE to specify that the GeoRaster object is not spatially referenced.

Usage Notes

This procedure sets the GeoRaster object to be spatially referenced or not spatially referenced.

The GeoRaster object is automatically validated after the operation completes.

Examples

The following example sets the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table as not spatially referenced.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setSpatialReferenced(grobj, 'FALSE');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setSpatialResolutions

Format

SDO_GEOR.setSpatialResolutions(

     georaster IN OUT SDO_GEORASTER,

     resolutions IN SDO_NUMBER_ARRAY);

Description

Sets the spatial resolution value along each spatial dimension of a GeoRaster object, or deletes the existing values if you specify a null resolutions parameter.

Parameters

georaster

GeoRaster object.

resolutions

An array of numeric values, one for each spatial dimension. Each value indicates the number of units of measurement associated with the data area represented by that spatial dimension of a pixel. For example, if the spatial resolution values are (10,10) and the unit of measurement for the ground data is meters, each pixel represents an area of 10 meters by 10 meters.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

See also the Usage Notes for the SDO_GEOR.getSpatialResolutions function.

Examples

The following example sets the spatial resolution values along the row and column dimensions of a GeoRaster object.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setSpatialResolutions(grobj, sdo_number_array(28.5,28.5));
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setSpectralResolution

Format

SDO_GEOR.setSpectralResolution(

     georaster IN OUT SDO_GEORASTER,

     resolution IN NUMBER);

Description

Sets the spectral resolution of a GeoRaster object if it is a hyperspectral or multiband image, or deletes the existing value if you specify a null resolution parameter.

Parameters

georaster

GeoRaster object.

resolution

Spectral resolution value.

Usage Notes

Taken together, the spectral unit and spectral resolution identify the wavelength interval for a band. For example, if the spectral resolution value is 2 and the spectral unit value is MILLIMETER, the wavelength interval for a band is 2 millimeters.

The GeoRaster object is automatically validated after the operation completes.

To return the spectral resolution for a GeoRaster object, use the SDO_GEOR.getSpectralResolution function.

Examples

The following example sets 0.5 as the spectral resolution value for the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setSpectralResolution(grobj, 0.5);
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setSpectralUnit

Format

SDO_GEOR.setSpectralUnit(

     georaster IN OUT SDO_GEORASTER,

     unit IN VARCHAR2);

Description

Sets the unit of measurement for identifying the wavelength interval for a band, or deletes the existing value if you specify a null unit parameter.

Parameters

georaster

GeoRaster object.

unit

Spectral unit. Must be one of the following values: METER, MILLIMETER, MICROMETER, NANOMETER.

Usage Notes

Taken together, the spectral unit and spectral resolution identify the wavelength interval for a band. For example, if the spectral resolution value is 2 and the spectral unit value is MILLIMETER, the wavelength interval for a band is 2 millimeters.

The GeoRaster object is automatically validated after the operation completes.

To return the spectral unit for a GeoRaster object, use the SDO_GEOR.getSpectralUnit function.

Examples

The following example sets MICROMETER as the spectral unit for the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setSpectralUnit(grobj, 'micrometer');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setSRS

Format

SDO_GEOR.setSRS(

     georaster IN OUT SDO_GEORASTER,

     srs IN SDO_GEOR_SRS);

Description

Sets the spatial reference information of a GeoRaster object, or deletes the existing information if you specify a null srs parameter.

Parameters

georaster

GeoRaster object.

srs

An object of type SDO_GEOR_SRS, which is described in Section 2.3.5.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

To return the SDO_GEOR_SRS information for a GeoRaster object, use the SDO_GEOR.getSRS function.

Examples

The following example specifies changes to several spatial reference attributes of a GeoRaster object, calls the setSRS procedure to update the spatial reference information, and then updates the GeoRaster object.

DECLARE
  grobj sdo_georaster;
  srs   sdo_geor_srs;
 
BEGIN
 
SELECT tmimage INTO grobj FROM landsat WHERE id=4;
srs := sdo_geor.getSRS(grobj);
srs.isReferenced := 'TRUE';
srs.isRectified := 'TRUE';
srs.isOrthoRectified := null;
srs.srid := 82262;
srs.spatialResolution := sdo_number_array(28.5, 28.5);
srs.rowOff := 0;
srs.columnOff := 0;
srs.xOff := 0;
srs.yOff := 0;
srs.zOff := 0;
srs.rowScale := 1;
srs.columnScale := 1;
srs.xScale := 1;
srs.yScale := 1;
srs.zScale := 1;
srs.rowNumerator := SDO_NUMBER_ARRAY(1, 2, 1, 3, 32631.5614, 0, -.03508772);
srs.rowDenominator := SDO_NUMBER_ARRAY(1, 0, 0, 1, 1);  
srs.columnNumerator := SDO_NUMBER_ARRAY(1, 2, 1, 3, -7894.7544, .035087719, 0);
srs.columnDenominator := SDO_NUMBER_ARRAY(1, 0, 0, 1, 1);
 
sdo_geor.setSRS(grobj, srs);
 
UPDATE landsat SET tmimage = grobj WHERE id=4;
COMMIT;
END;/

SDO_GEOR.setStatistics

Format

SDO_GEOR.setStatistics(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     statistics IN SDO_NUMBER_ARRAY);

Description

Sets statistical data associated with a layer.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to set the statistics. A value of 0 (zero) indicates the object layer.

statistics

An array with the following numeric values: MIN, MAX, MEAN, MEDIAN, MODEVALUE, STD. You must specify non-null values for all values in the array.

If this parameter is null, all statistical information associated with the layer is deleted.

Usage Notes

This procedure sets statistical data described by the <statisticDatasetType> element in the GeoRaster metadata XML schema, which is described in Appendix A.

To retrieve the statistical data associated with a layer, use the SDO_GEOR.getStatistics function.

Examples

The following example sets the statistical data for layer 0 of the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setStatistics(grobj, 0, SDO_NUMBER_ARRAY(0, 255, 100, 127, 95, 25));
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.setULTCoordinate

Format

SDO_GEOR.setULTCoordinate(

     georaster IN OUT SDO_GEORASTER,

     ultCoord IN SDO_NUMBER_ARRAY);

Description

Sets the cell coordinate values of the upper-left corner of a GeoRaster object, or deletes the existing values if you specify a null ultCoord parameter.

Parameters

georaster

GeoRaster object.

ultCoord

An array of two numbers (row and column ordinates) or three numbers (row, column, and band ordinates).

Usage Notes

If the metadata contains spatial reference information and the GeoRaster object is georeferenced, the spatial reference information is checked for validity. If it is valid, the spatial reference information including the georeferencing information is updated and adjusted according to the new ULT coordinates; otherwise, an exception is raised.

To return the upper-left coordinate values for a GeoRaster object, use the SDO_GEOR.getULTCoordinate function.

Examples

The following example sets the row and column ordinates of the upper-left corner of a GeoRaster object.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=1 FOR UPDATE;
  sdo_geor.setULTCoordinate(grobj, sdo_number_array(100, 100));
  UPDATE landsat SET tmimage = grobj WHERE id=1;
  COMMIT;
END;
/

SDO_GEOR.setVAT

Format

SDO_GEOR.setVAT(

     georaster IN OUT SDO_GEORASTER,

     layerNumber IN NUMBER,

     vatName IN VARCHAR2);

Description

Sets the name of the value attribute table (VAT) associated with a layer of a GeoRaster object, or deletes the existing value if you specify a null vatName parameter.

Parameters

georaster

GeoRaster object.

layerNumber

Number of the layer for which to perform the operation.

vatName

Name of the value attribute table.

Usage Notes

The GeoRaster object is automatically validated after the operation completes.

For more information about value attribute tables, see Section 1.2.3.

To return the name of the value attribute table associated with a layer of a GeoRaster object, use the SDO_GEOR.getVAT function.

Examples

The following example specifies VATT1 as the value attribute table to be associated with layer 3 of the GeoRaster object (GROBJ column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setVAT(grobj, 3, 'VATT1');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/ 

SDO_GEOR.setVersion

Format

SDO_GEOR.setVersion(

     georaster IN OUT SDO_GEORASTER,

     majorVersion IN VARCHAR2,

     minorVersion IN VARCHAR2);

Description

Sets the user-specified version of a GeoRaster object.

Parameters

georaster

GeoRaster object.

majorVersion

String representing the major version of the GeoRaster object. For example, if the complete version string is 15a.beta1, specify the majorVersion value as 15a.

If the parameter value is null, any existing majorVersion value in the GeoRaster object is deleted.

minorVersion

String representing the minor version of the GeoRaster object. For example, if the complete version string is 15a.beta1, specify the minorVersion value as beta1.

If the parameter value is null, any existing minorVersion value in the GeoRaster object is deleted.

Usage Notes

The major and minor version strings can reflect any versioning scheme that you choose. The majorVersion and minorVersion values can be any string, except that neither can be an empty string (that is, neither can be '').

To retrieve the version string for a GeoRaster object, use the SDO_GEOR.getVersion function, which returns the version in the format major-version.minor-version.

Examples

The following example sets 15a.beta1 as the version for the GeoRaster object (TMIMAGE column) in the row with the ID column value of 4 in the LANDSAT table.

DECLARE
  grobj sdo_georaster;
BEGIN
  SELECT tmimage INTO grobj FROM landsat WHERE id=4 FOR UPDATE;
  sdo_geor.setVersion(grobj, '15a', 'beta1');
  UPDATE landsat SET tmimage = grobj WHERE id=4;
  COMMIT;
END;
/

SDO_GEOR.subset

Format

SDO_GEOR.subset(

     inGeoraster IN SDO_GEORASTER,

     cropArea IN SDO_GEOMETRY,

     layerNumbers IN VARCHAR2,

     storageParam IN VARCHAR2,

     outGeoraster IN OUT SDO_GEORASTER);

or

SDO_GEOR.subset(

     inGeoraster IN SDO_GEORASTER,

     cropArea IN SDO_NUMBER_ARRAY,

     bandNumbers IN VARCHAR2,

     storageParam IN VARCHAR2,

     outGeoraster IN OUT SDO_GEORASTER);

Description

Performs either or both of the following operations: (1) spatial crop, cut, or clip, or (2) layer or band subset or duplicate.

Parameters

inGeoraster

The SDO_GEORASTER object on which the operation or operations are to be performed.

cropArea

Crop area definition. 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 crop area; see also the Usage Notes for SDO_SRID requirements.

If cropArea is of type SDO_GEOMETRY, use the layerNumbers parameter to specify one or more layer numbers; if cropArea is of type SDO_NUMBER_ARRAY, use the bandNumbers parameter to specify one or more band numbers.

layerNumbers

A string identifying the logical layer numbers on which the operation or operations are 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).

bandNumbers

A string identifying the physical band numbers on which the operation or operations are 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).

storageParam

A string specifying storage parameters, as explained in Section 1.4.1.

outGeoraster

The new SDO_GEORASTER object.

Usage Notes

This procedure has a variety of possible uses. For example, you can call it to crop a small area or obtain a subset of a few layers of a GeoRaster object, you can duplicate layers, and you can specify storage parameters such as blocking and interleaving for the resulting object.

If the cropArea parameter data type is SDO_GEOMETRY, the SDO_SRID value must be one of the following:

Any pyramid data in the input GeoRaster object is not copied to the output GeoRaster object.

An exception is raised if one or more of the following are true:

Examples

The following example creates a GeoRaster object that contains only specified bands from a specified window from the original object.

-- Subset: Band change
DECLARE
  gr1 sdo_georaster;
  gr2 sdo_georaster;
BEGIN
  INSERT INTO landsat VALUES (41, '41', sdo_geor.init('T41'), null)
    returning tmimage INTO gr2;

  SELECT tmimage INTO gr1 FROM landsat WHERE id=4;

  sdo_geor.subset(gr1, sdo_geometry(2003, NULL, NULL,
                               sdo_elem_info_array(1, 1003, 3),
                               sdo_ordinate_array(0,256,255,511)),
                  '3,1-2', null, gr2);
  UPDATE landsat SET tmimage=gr2 WHERE id=41;
  COMMIT;
END;
/

SDO_GEOR.validateGeoraster

Format

SDO_GEOR.validateGeoraster(

     georaster IN SDO_GEORASTER

     ) RETURN VARCHAR2;

Description

Validates a GeoRaster object, checking its raster data and metadata.

Parameters

georaster

GeoRaster object to be checked for validity.

Usage Notes

This function returns TRUE if the GeoRaster object is valid, NULL if the GeoRaster object is null, an Oracle error code if the error is known, or FALSE for an unknown error.You should use this function after you create, load, or modify a GeoRaster object, to ensure that it is valid before you process it further.

If this function identifies a GeoRaster object as invalid with an error code of 13454, this means that the object's metadata is not valid according to the GeoRaster XML schema. If this happens, call the SDO_GEOR.schemaValidate function to find specific locations and other information about the errors.

This function not only validates GeoRaster metadata against the GeoRaster XML schema, but it also enforces restrictions and requirements in the current release that are not described in the XML schema. The following are some of the restrictions and requirements enforced by this function:

Examples

The following example validates the GeoRaster objects in a table.

SELECT t.georid,
       sdo_geor.validategeoraster(t.georaster) isvalid
  from georaster_table t order by georid;

    GEORID ISVALID                                                              
---------- ----------                                                           
         3 TRUE                                                                 
         4 TRUE