Oracle Spatial GeoRaster
Driver short name
Oracle client libraries
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, its name should be specified in the form:
Note: do note use space around the field values and the commas.
Note: like in the last two examples, the database name field could be left empty (“,,”) and the TNSNAME will be used.
Note: If the query results in more than one GeoRaster it will be treated as a GDAL metadata’s list of sub-datasets (see below)
This driver supports the
This driver supports the
This driver supports georeferencing
This driver supports virtual I/O operations (/vsimem/, etc.)
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 georaster:scott/tiger@db1
% gdalinfo georaster:scott/tiger@db1,table_name
That will list all the GeoRaster objects stored in that table.
% gdalinfo georaster:scott/tiger@db1,table_name,georaster_column
That will list all the GeoRaster existing on that table according to a Where clause.
% gdalinfo georaster:scott/tiger@db1,table_name,georaster_column,city=’Brasilia’
BLOCKXSIZE: The number of pixel columns on raster block.
BLOCKYSIZE: The number of pixel rows on raster block.
BLOCKBSIZE: The number of bands on raster block.
BLOCKING: Decline the use of blocking (NO) or request an automatic blocking size (OPTIMUM).
SRID: Assign a specific EPSG projection/reference system identification to the GeoRaster.
INTERLEAVE: Band interleaving mode, BAND, LINE, PIXEL (or BSQ, BIL, BIP) for band sequential, Line or Pixel interleaving. Starting with GDAL 3.5, when copying from a source dataset with multiple bands which advertises a INTERLEAVE metadata item, if the INTERLEAVE creation option is not specified, the source dataset INTERLEAVE will be automatically taken into account, unless the COMPRESS creation option is specified.
DESCRIPTION: A simple description of a newly created table in SQL syntax. If the table already exist, this create option will be ignored, e.g.:
% gdal_translate -of georaster landsat_823.tif geor:scott/tiger@orcl,landsat,raster \ -co DESCRIPTION=”(ID NUMBER, NAME VARCHAR2(40), RASTER MDSYS.SDO_GEORASTER)” \ -co INSERT=”VALUES (1,’Scene 823’,SDO_GEOR.INIT())”
INSERT: A simple SQL insert/values clause to inform the driver what values to fill up when inserting a new row on the table, e.g.:
COMPRESS: Compression options, JPEG-F, JP2-F, DEFLATE or NONE. The JPEG-F options is lossy, meaning that the original pixel values are changed. The JP2-F compression is lossless if JP2_QUALITY=100.
GENPYRAMID: Generate pyramid after a GeoRaster object have been loaded to the database. The content of that parameter must be the resampling method of choice NN (nearest neighbor) , BILINEAR, BIQUADRATIC, CUBIC, AVERAGE4 or AVERAGE16. If GENPYRLEVELS is not informed the PL/SQL function sdo_geor.generatePyramid will calculate the number of levels to generate.
GENPYRLEVELS: Define the number of pyramid levels to be generated. If GENPYRAMID is not informed the resample method NN (nearest neighbor) will apply.
QUALITY: Quality compression option for JPEG ranging from 0 to 100. The default is 75.
JP2_QUALITY=float_value,float_value,… Only if COMPRESS=JP2-f : Percentage between 0 and 100. A value of 50 means the file will be half-size in comparison to uncompressed data, 33 means 1/3, etc.. Defaults to 25 (unless the dataset is made of a single band with color table, in which case the default quality is 100).
JP2_REVERSIBLE=YES/NO Only if COMPRESS=JP2-f : YES means use of reversible 5x3 integer-only filter, NO use of the irreversible DWT 9-7. Defaults to NO (unless the dataset is made of a single band with color table, in which case reversible filter is used).
JP2_RESOLUTIONS=int_value Only if COMPRESS=JP2-f : Number of resolution levels. Default value is selected such the smallest overview of a tile is no bigger than 128x128.
JP2_BLOCKXSIZE=int_value Only if COMPRESS=JP2-f : Tile width. Defaults to 1024.
JP2_BLOCKYSIZE=int_value Only if COMPRESS=JP2-f : Tile height. Defaults to 1024.
JP2_PROGRESSION=LRCP/RLCP/RPCL/PCRL/CPRL Only if COMPRESS=JP2-f : Progession order. Defaults to LRCP.
NBITS: Sub byte data type, options: 1, 2 or 4.
SPATIALEXTENT: Generate Spatial Extents. The default for that options is TRUE, that means that this option only need to be informed to force the Spatial Extent to remain as NULL. If EXTENTSRID is not informed the Spatial Extent geometry will be generated with the same SRID as the GeoRaster object.
EXTENTSRID: SRID code to be used on the Spatial Extent geometry. If the table/column has already a spatial index, the value informed should be the same as the SRID on the Spatial Extents of the other existing GeoRaster objects, on which the spatial index is built.
OBJECTTABLE: To create RDT as SDO_RASTER object inform TRUE otherwise, the default is FALSE and the RDT will be created as regular relational tables. That does not apply for Oracle version older than 11.
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:
Note that the create option DESCRIPTION requires to inform table name (in bold). And column name (underlined) should match the description:
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.
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 and a table GDAL_RDT as the RDT, the RID will be given automatically by the server, example: