Home    |    Concepts   |   API   |   Samples
Concepts > Rasters > Data Retrieval
Accessing Raster Data Store

What is a raster data store?

Raster Data Store = Raster Bands Table + Raster Band Aux Table + Raster Block Table.

Thus, the raster bands table stores the metadata of raster bands. Each raster stored in the raster table is related to one or more raster bands stored in the raster bands table. The most common types of images loaded into ArcSDE are single band or three band. Although the ArcSDE C-API will support approximately two billion raster bands per raster, creating such a raster is impractical. However, there are practical uses for rasters with more than three bands.

Accessing the raster band auxiliary table

The raster band auxiliary table stores the metadata of raster bands. Each band stored in the raster bands table can be related to one or more raster band auxiliary table records. The raster band auxiliary table stores the band's image statistics, color map, and list of coordinate transformation. All of these properties are optional.

Also, it should be noted that color mapped images are restricted to single band rasters that have a pixel depth of 8 or 16 bits.

The image statistics are fetched with the SE_rasbandinfo_get_stats_min, SE_rasbandinfo_get_stats_max, SE_rasbandinfo_get_stats_mean, SE_rasbandinfo_get_stats_stddev, and SE_rasbandinfo_get_stats_histogram. The image statistics are set with the SE_rasbandinfo_set_bin_function. The calculation of image statistics requires the presence of raster data. Therefore, the image statistics are calculated after the band data has been loaded by calling the SE_rasbandinfo_set_bin_function and altering the raster band with a call to SE_rasterband_alter.

The image color map is fetched with a call to the SE_rasbandinfo_get_colormap function and set with a call to SE_rasbandinfo_set_colormap.

The image coordinate transformation list is fetched with a call to the SE_rasbandinfo_get_transform_list and set with a call to SE_rasbandinfo_set_transform_list.

Accessing the raster blocks table

ArcSDE stores raster data as an array of pixels subdivided into blocks. Blocking the pixels facilitates performance by eliminating excessive I/O that would otherwise occur if the pixels were stored together as a single unit. ArcSDE returns only those blocks of pixels that intersect the application's area of interest. This method of storage requires a schema to contain the pixel blocks and functionality that manipulates the raster data in a block-by-block or piece-wise fashion. ArcSDE C-API allows you to accomplish piece-wise editing of the raster blocks by iteratively passing execution from the SE_stream_execute function to a call-out function.

The blocks are also referred to as tiles, and the words are used interchangeably when discussing the blocks or tiles of pixels. The origin of each block is the upper left hand corner. To reference a portion of the raster dataset, specify the extent as a minimum and maximum range of tile coordinates. In the figure below, the tile coordinate extent that is overlapped by the gray area of interest is (1,1) to (3,4).

feedback | privacy | legal