ArcSDE and the Oracle Spatial raster type

The Oracle Spatial raster data type SDO_GEORASTER is implemented using Oracle's extensible object-relational type system. It was introduced with the release of Oracle 10g. The SDO_GEORASTER type stores information about a raster including its pixel type, spatial reference ID, and pixel values.

The SDO_GEORASTER type supports all ESRI pixel types: 1 bit through 64 bit, signed, unsigned, and floating point. ArcSDE supports Oracle Spatial's SDO_ GEORASTER data type as an option to store raster data.

NoteNote:

Application programs are responsible for properly inserting, updating, and fetching the contents of the SDO_GEORASTER type using Oracle's object-relational structured query language (SQL) interface. Applications are also responsible for ensuring that the content of each raster adheres to the rules defined in the Oracle documentation.

Upon creating a table containing an Oracle SDO_GEORASTER column, ArcSDE populates the required Oracle metadata schema. It is the responsibility of applications such as ArcSDE to perform this task, since it is not performed automatically by Oracle. Should you register a table containing an Oracle SDO_GEORASTER column that was created by a third-party product, it is the responsibility of that product to properly populate the Oracle metadata schema for the SDO_GEORASTER column.

Storing rasters as SDO_GEORASTER

The settings for ArcSDE geodatabase storage are defined in the DBTUNE table; the RASTER_STORAGE parameter controls the storage of raster data. To create a table in an ArcSDE geodatabase that contains an SDO_GEORASTER column and, therefore, stores raster as SDO_GEORASTER, you must use a configuration keyword that contains a RASTER_STORAGE parameter set to SDO_GEORASTER when you create the raster dataset or catalog.

When you first install the ArcSDE 9.3 component, the default setting for RASTER_STORAGE in the DBTUNE table is BLOB and the default GEOMETRY_STORAGE is ST_GEOMETRY. Below is a partial list of the DEFAULTS keyword parameters:

##DEFAULTS

GEOMETRY_STORAGE    "ST_GEOMETRY"
ATTRIBUTE_BINARY    "BLOB"
RASTER_STORAGE	    "BLOB"

If you plan to store the majority of your raster data in SDO_GEORASTER format, you need to alter the RASTER_STORAGE parameter of the DEFAULTS keyword. In addition, you cannot use a GEOMETRY_STORAGE type of ST_GEOMETRY or SDO_GEOMETRY if you are using SDO_GEORASTER for your raster storage; therefore, you must change your GEOMETRY_STORAGE to either SDELOB or SDEBINARY and set RASTER_STORAGE to SDO_GEORASTER in your DEFAULTS configuration keyword to make SDO_GEORASTER the default storage for your raster data.

NoteNote:

It is recommended you not use SDEBINARY geometry storage, which stores the data as LONG RAW, for new data because Oracle will be deprecating support for LONG RAW at its 11g release.

In the following example, the DEFAULTS keyword is altered to create vector data using SDELOB storage and raster data using SDO_GEORASTER storage.

##DEFAULTS

GEOMETRY_STORAGE    "SDELOB"
ATTRIBUTE_BINARY    "BLOB"
RASTER_STORAGE	    "SDO_GEORASTER"

Following the change, ArcSDE creates raster catalogs and raster datasets with SDO_GEORASTER columns by default.

Although there can only be one default raster schema (one setting for RASTER_STORAGE under the DEFAULTS configuration keyword), you can use the existing SDO_GEOMETRY configuration keyword to specify SDO_GEORASTER for RASTER_STORAGE when you create a raster catalog or dataset. Do this if you only need to store a minority of your raster data in SDO_GEORASTER format.

Before the SDO_GEORASTER keyword can be used, you need to edit the tablespace information for the RDT_STORAGE and RDT_INDEX_COMPOSITE parameters. By default, the tablespace information is not included with the SDO_GEORASTER keyword. In the dbtune.sde file, the SDO_GEORASTER keyword appears as follows:

##SDO_GEORASTER
GEOMETRY_STORAGE    "SDELOB"
RASTER_STORAGE      "SDO_GEORASTER"
ATTRIBUTE_BINARY    "BLOB"
RDT_STORAGE         "PCTFREE 0 INITRANS 4"
#                    TABLESPACE <RDT Table tablespace name>
RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4
#                    TABLESPACE <RDT Composite index tablespace name>
                     STORAGE ( INITIAL 409600) NOLOGGING"
UI_TEXT             "User Interface text description for SDO_GEORASTER"
COMMENT             "Any general comment for SDO_GEORASTER keyword"
END

To change the information in the DBTUNE table for this keyword, use the sdedbtune administration command. You can find details on how to use this command in the ArcSDE Administration Command Reference, installed in the SDEHOME directory.

Alternatively, you can create a new configuration keyword to use to store raster datasets as SDO_GEORASTER; for example:

##GEORASTER
RASTER_STORAGE	"SDO_GEORASTER"
SDO_COMMIT_INTERVAL	1000
UI_TEXT		"Use to create raster catalogs and datasets with GEORASTER storage"

END

Notice that the preceding examples do not have a complete set of storage parameters associated with them. That is because any parameters not specified in a keyword are picked up from the DEFAULTS keyword. That means there is no need to include parameters that have the same values as those specified under the DEFAULTS keyword. In the examples above, parameters such as BND_STORAGE and AUX_STORAGE are not included; they are read from the DEFAULTS keyword. For the new configuration keyword example (GEORASTER), this means the GEOMETRY_STORAGE parameter is also being read from DEFAULTS. If you do not include the GEOMETRY_STORAGE parameter in your custom SDO_GEORASTER configuration keyword, be sure the GEOMETRY_STORAGE under DEFAULTS is not set to SDO_GEOMETRY or ST_GEOMETRY.

For more information on geometry storage keywords, see DBTUNE configuration parameters in Oracle . For general information on the DBTUNE table or configuration keywords, see What is the DBTUNE table? and What are DBTUNE configuration keywords and parameters?.

Adding a third-party table

You can use the ArcSDE administration command sderaster –o add to register a table containing an SDO_GEORASTER column that was created by a third-party application. For example:

sderaster –o add –l landforms,raster –u gis –p gis

For a table to be added to ArcSDE, it must meet the following criteria:

Known limits of using SDO_GEORASTER with an ArcSDE geodatabase

The following is a list of limits to keep in mind when storing raster data in your ArcSDE geodatabase as SDO_GEORASTER.


11/18/2013