This driver supports reading and writing raster data in Oracle Spatial GeoRaster format (10g or later). 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 (database name)
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
Examples:
geor:scott,tiger,demodb,table,column,id=1
geor:scott,tiger,demodb,table,column,"id = 1"
"georaster:scott/tiger@demodb,table,column,gain>10"
"georaster:scott/tiger@demodb,table,column,city='Brasilia'"
georaster:scott,tiger,,rdt_10$,10
geor:scott/tiger,,rdt_10$,10
Note: do note use space around the field values and the commas.
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 type columns that exist in that table:That will list all the GeoRaster objects stored in that table.
That will list all the GeoRaster existing on that table occording to a Where clause.
%
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
During the process of importing raster into a GeoRaster object it is possible to give the driver a simple SQL table definition and also a SQL insert/values clause to inform the driver about the table to be created and the values to be added to the newly created 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', SDO_GEOR.INIT())"
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', SDO_GEOR.INIT())"
If the table "landsat" exist, the option "DESCRIPTION" is ignored. 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', SDO_GEOR.INIT("RDT", 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”