In ArcSDE,
rasters are stored in a series of business and user tables. When a raster
is inserted into ArcSDE, ArcSDE adds a record to the Raster_Columns system
table and also creates four system tables to store the raster images and
metadata associated with each one. These tables are managed by ArcSDE
and should not be directly modified by the user.
The following is the database schema used by ArcSDE for storing a raster object and its information in a database.
Database
Schema
Diagram
When a raster is imported into a DBMS, ArcSDE adds a raster column to the business table. The raster column can be given any name,
as long
as it conforms to the underlying DBMS column naming convention. ArcSDE restricts one raster column per business table.
The raster
column is a foreign key reference to the raster_id column of the Raster table created during the addition of the raster column. Also joined to
the raster table's raster_id primary key is the Raster Bands table, which stores the bands of the image. The Raster Auxiliary
table joins one-to-one
to the raster bands table by rasterband_id and stores the metadata of each raster band. The rasterbands_id also joins the Raster Band
table
to the Raster Blocks table in a many-to-one relationship. The Raster Blocks table rows store blocks of pixels, determined by the dimensions of the
block.
The two metadata tables are used to store information about a raster and a raster band, such as the image dimensions and the pixel depth. The auxiliary table
is used to save additional information about a raster band such as a color map and raster statistics. The block table is where the actual pixel blocks are stored.
Contains user's raster object and is stored in the user's schema. Example
columns are shown here.
house_id |
INT32 |
NOT NULL |
The table's primary key |
house_footprint |
INT32 |
NOT NULL |
A spatial column and foreign key reference
to a feature table containing the house footprints |
house_picture |
INT32 |
NOT NULL |
A raster column and foreign key
reference to a raster table containing the images of the rooms located in the
house |
Contains reference to raster data in the band, block, and auxiliary tables. This
table is an ArcSDE system table, owned by the ArcSDE administrator.
rastercolumn_id |
SE_INTEGER_TYPE |
NOT NULL |
The primary key of the raster column table |
description |
SE_STRING_TYPE(65) |
NULL |
The description of the raster
table |
database_name |
SE_INTEGER_TYPE(32) |
NULL |
The database that stores the
table (Field is always NULL for Oracle) |
owner |
SE_STRING_TYPE(32) |
NOT NULL |
The owner of the raster column's business table |
table_name |
SE_STRING_TYPE( 160 in Oracle;
128 in all other DBMSs) |
NOT NULL |
The business table name |
raster_column |
SE_STRING_TYPE(32 in Oracle and
SQL Server; 128 in all other DBMSs) |
NOT NULL |
The raster column name |
cdate |
SE_DATE_TYPE |
NOT NULL |
The date the raster column was added to the business table |
config_keyword |
SE_STRING_TYPE(32) |
NULL |
The DBTUNE configuration keyword
whose storage parameters determine how the tables and indexes of the raster are
stored in the database. For more information, see the ArcGIS Server or ArcGIS
Desktop help topic
DBTUNE configuration keywords. |
minimum_id |
SE_INTEGER_TYPE |
NULL |
Defined during the creation of the raster, establishes value of the raster table's raster_id
column |
Contains metadata table for raster
raster_id |
SE_INTEGER_TYPE |
NOT NULL |
The primary
key of the raster table and unique sequential identifier of each image
stored in the raster table |
raster_flags |
SE_INTEGER_TYPE |
NOT NULL |
A bit map set according to the
characteristics of stored image |
description |
SE_STRING_TYPE(65) |
NULL |
A text description of the image |
Contains band metadata for the raster
rasterband_id |
SE_INTEGER_TYPE |
NOT NULL |
The primary key of the raster band table that uniquely identifies each raster band |
sequence_nbr |
SE_INTEGER_TYPE |
NOT NULL |
An optional
sequential number that can be combined with the raster_id as a composite key as
a second way to uniquely identify the raster band |
raster_id |
SE_INTEGER_TYPE |
NOT NULL |
The foreign
key reference to the raster tables primary key Uniquely identifies the
raster band when combined with the sequence_nbr as a composite key |
name |
SE_STRING_TYPE(65) |
NULL |
The name of the raster band |
band_flags |
SE_INTEGER_TYPE |
NOT NULL |
A bit map set according to the
characteristics of the raster band |
band_width |
SE_INTEGER_TYPE |
NOT NULL |
The pixel
width of the band |
band_height |
SE_INTEGER_TYPE |
NOT NULL |
The pixel height of the band |
band_types |
SE_INTEGER_TYPE |
NOT NULL |
A bitmap band compression data |
block_width |
SE_INTEGER_TYPE |
NOT NULL |
The pixel width of the band's tiles |
block_height |
SE_INTEGER_TYPE |
NOT NULL |
The pixel height of the band's tiles |
block_origin_x |
SE_FLOAT_TYPE |
NOT NULL |
The left-most pixel |
block_origin_y |
SE_FLOAT_TYPE |
NOT NULL |
The bottom-most pixel |
eminx (optional) |
SE_FLOAT_TYPE |
NOT NULL |
The band's minimum X-coordinate |
eminy (optional) |
SE_FLOAT_TYPE |
NOT NULL |
The band's minimum Y-coordinate |
emaxx (optional) |
SE_FLOAT_TYPE |
NOT NULL |
The band's maximum X-coordinate |
emaxy (optional) |
SE_FLOAT_TYPE |
NOT NULL |
The band's maximum Y-coordinate |
cdate (optional) |
SE_DATE_TYPE |
NOT NULL |
The creation date |
mdate (optional) |
SE_DATE_TYPE |
NOT NULL |
The last modification date |
Contains statistics and colormap info for a raster
rasterband_id |
SE_INTEGER_TYPE |
NOT NULL |
The foreign key reference to the raster band table's primary key |
type |
SE_INTEGER_TYPE |
NOT NULL |
A bit map set according to the characteristics of data stored in the object column. |
object |
SE_BLOB_TYPE |
NOT NULL |
May contain such things as the image color map
and image statistics. |
Contains pixel data
rasterband_id |
SE_INTEGER_TYPE |
NOT NULL |
The foreign key reference
to the raster band tables primary key |
rrd_factor |
SE_INTEGER_TYPE |
NOT NULL |
The reduced resolution dataset factor, determines the position of the raster band
block within the resolution pyramid The resolution pyramid begins at
0 for the highest resolution and increases until the raster bands' lowest
resolution level has been reached |
row_nbr |
SE_INTEGER_TYPE |
NOT NULL |
The block's row number |
col_nbr |
SE_INTEGER_TYPE |
NOT NULL |
The block's column number |
block_data |
SE_BLOB_TYPE |
NOT NULL |
The block's tile of pixel
data |
|
|