Oracle Spatial GeoRaster

This driver supports reading and writing data in Oracle Spatial (10g or later) Object-Relational format. The Oracle Spatial GeoRaster driver is optionally built as a GDAL plugin, but it requires Oracle client libraries.

When opening a GeoRaster, it's name should be specified in the form:

georaster:<user>,<pwd>,[db],[table],[column],[where]
georaster:<user>,<pwd>,[db],<rdt>,<rid>

Where:

user   = Oracle server user's name login
pwd    = user password
db     = Oracle server identification (optional, uses default if it is omitted)
table  = name of a GeoRaster table (table that contains GeoRaster columns)
column = name of a column data type MDSYS.SDO_GEORASTER
where  = a simple where clause to identify one or multiples GeoRaster
rtd    = name of a raster data table
rid    = numeric identification of one GeoRaster (must be unique on rtd)

The separator between the above fields can be any combination of the characters ",","/","@" and ":".

Examples:

geor:scott,tiger,demodb,table,column,id=1
"georaster:scott/tiger@demodb,table,column,gain>10"
"georaster:scott/tiger@demodb,table,column,city=london"
georaster:scott,tiger,,rdt_10$,10
geor:scott/tiger,,rdt_10$,10

Browsing the database for GeoRasters

By providing some basic information the GeoRaster driver is capable of listing the existing rasters stored on the server:

To list all the GeoRaster table on the server that belongs to that user name and database:

% gdalinfo georasters:scott/tiger@db1

To list all the GeoRaster columns on that table:

% gdalinfo georasters:scott/tiger@db1,table_name

That will list all the GeoRaster existing on that table.

% gdalinfo georasters:scott/tiger@db1,table_name,georaster_column

That will list all the GeoRaster existing on that table occording to a Where clause.

% gdalinfo georasters:scott/tiger@db1,table_name,georaster_column,city='Brasilia'

Note that the result of those queries are returned as GDAL metadata sub-datasets, e.g.:

% gdalinfo georaster:scott/tiger
Driver: GeoRaster/Oracle Spatial GeoRaster
Subdatasets:

SUBDATASET_1_NAME=georaster:scott,tiger,,LANDSAT
SUBDATASET_1_DESC=Table:LANDSAT
SUBDATASET_2_NAME=georaster:scott,tiger,,GDAL_IMPORT
SUBDATASET_2_DESC=Table:GDAL_IMPORT

Creation Options

Importing GeoRaster

During the process of importing rastet into a GeoRaster it is possible to give the driver a simple SQL table definition and also a SQL insert/values clause to informe the driver about the table to be create and the values to be added to the new create row. The following example does that:

% gdal_translate -of georaster landsat_1.tif georaster:scott/tiger,,landsat,scene \
  -co "DESCRIPTION=(ID NUMBER, SITE VARCHAR2(45), SCENE MDSYS.SDO_GEORASTER)" \
  -co "INSERT=VALUES(1,'West fields', *)"

Note that the create option DESCRIPTION requires to inform table name (in bold) and column name (underlined) should match the description:

% gdal_translate -of georaster landsat_1.tif georaster:scott/tiger,,landsat,scene \
  -co "DESCRIPTION=(ID NUMBER, SITE VARCHAR2(45), SCENE MDSYS.SDO_GEORASTER)" \
  -co "INSERT=VALUES(1,'West fields', *)"

If the table "landsat" exist, the option "DESCRIPTION" is ignored. The asterix "*" on the INSERT option indicate where is the GeoRaster column that will be update. The driver can only update one GeoRaster column per run of gdal_translate. Oracle create default names and values for RDT and RID during the initialization of the SDO_GEORASTER object but user are also able to specify a name and value of their choice.

% gdal_translate -of georaster landsat_1.tif georaster:scott/tiger,,landsat,scene \
  -co "INSERT=VALUES(10,'Main building', *)" \
  -co "RDT=ST_RDT_10" -co "RID=10"

If no information is given about where to store the raster the driver will create (if doesn't exist already) a default table named GDAL_IMPORT with just one GeoRaster column named RASTER, example:

% gdal_translate -of georaster input.tif “geor:scott/tiger@dbdemo”

Exporting GreoRaster

A GeoRaster can be identified by a Where clause or by a pair RDT & RID:

% gdal_translate -of gtiff geor:scott/tiger@dbdemo,landsat,scene,id=54 output.tif
% gdal_translate -of gtiff geor:scott/tiger@dbdemo,st_rdt_1,130 output.tif