Pyramids are used to improve performance. They are a downsampled version of the original raster dataset and can contain many downsampled layers. Each successive layer of the pyramid is downsampled at a scale of 2:1. Below is an example of two levels of pyramids created for a raster dataset:
Pyramids can speed up the display of raster data by retrieving only the data at a specified resolution that is required for the display. With pyramids, a lower-resolution copy of the data displays quickly when drawing the entire dataset. As you zoom in, levels with finer resolutions are drawn; performance is maintained because you're drawing successively smaller areas. The database server chooses the most appropriate pyramid level automatically based on the user's display scale. Without pyramids, the entire dataset must be read from disk and resampled to a smaller size. This is called display resampling and occurs when the ArcGIS display is refreshed.
Pyramids only need to be built once per raster dataset; after that, they are accessed each time the raster dataset is viewed. The larger the raster dataset, the longer it takes to create the set of pyramids. However, this also means you will save more time in the long run.
Although you are not able to build pyramids on raster catalogs, it is possible to build pyramids for each raster dataset within the raster catalog. Mosaic datasets are similar to raster catalogs. You can build pyramids for each raster dataset within the mosaic dataset; you can build overviews for a mosaic dataset but only using specific tools in the Mosaic Dataset toolset.
Pyramid files
Pyramids are stored in a single file that generally resides next to the source rasters. There are two types of pyramid files: an overview (.ovr) and a reduced resolution dataset (.rrd). ArcGIS can read both type of pyramid files, but it will only write .ovr files—with a few exceptions (described below).
A .rrd file is created for ERDAS IMAGINE files.
The .ovr file is created and used by ArcGIS starting at version 10. One advancement of the .ovr file is it can be compressed with either LZ77 or JPEG compression. Keep in mind, JPEG compression can only be used with file types that can store data according to JPEG specifications. If JPEG pyramids are selected, the compression quality of the JPEG pyramids can also be specified.
The overview file is approximately 8 percent the size of the original uncompressed file. If the pyramids are compressed, the .ovr file may be even smaller (such as 2 percent). An .ovr file size is difficult to estimate since the compression will depend on the homogeneity of the data.
Below is an example of the increase in the storage size of a raster dataset due to pyramid levels based on the various compression types. Level 0 is the original raster dataset.
Level | No compression | LZ77 compression | JPEG compression |
---|---|---|---|
0 | 1.0 GB | 1.0 GB | 1.0 GB |
1 | 1.0655 GB | 1.0483 GB | 1.0133 GB |
2 | 1.0824 GB | 1.0606 GB | 1.0169 GB |
3 | 1.0866 GB | 1.0637 GB | 1.0179 GB |
4 | 1.0877 GB | 1.0645 GB | 1.0182 GB |
5 | 1.0880 GB | 1.0647 GB | 1.0183 GB |
6 | 1.0881 GB | 1.0647 GB | 1.0183 GB |
Pyramid resampling methods
There are three pyramid resampling methods available: nearest neighbor, bilinear, and cubic convolution. Nearest neighbor is the default and typically works for any type of raster dataset. However, it is recommended that you use nearest neighbor for discrete (nominal) data or raster datasets with color maps, such as land-use data, scanned maps, and pseudo color images. Bilinear interpolation or cubic convolution should be used for continuous data such as satellite imagery or aerial photography. Although bilinear interpolation is performed more quickly, the result is not as sharp as the result of cubic convolution. Bilinear interpolation is recommended for 1-bit TIFFs or IMGs.
Mosaicking and the raster dataset origin
When mosaicking raster data in ArcSDE or in a file geodatabase, pyramids can be built on a raster dataset as raster data is being mosaicked into the raster dataset, or they can be built when the loading is complete. ArcGIS allows for partial pyramid construction, which rebuilds only the part of the pyramid overlapped by the source data during a mosaic operation. This helps when updating a mosaicked raster dataset, because if a new raster dataset is added, the entire raster dataset does not need to rebuild pyramids. However, if you update the data at the raster dataset's origin (pyramid reference point), the pyramid needs to be rebuilt for the entire raster dataset.
The raster dataset's origin is the raster dataset's upper leftmost coordinate. The construction of the pyramid begins at this coordinate and proceeds to the right and down. Mosaicking data to the left or above the raster dataset's origin requires ArcSDE to shift it so that it remains the upper leftmost point. Shifting the existing raster dataset's origin requires ArcSDE to rebuild the pyramid. Rebuilding the pyramid can be a costly operation in terms of time, especially if the raster dataset has grown because of a number of raster dataset source files (or other raster datasets) that have already been mosaicked to it.
Since rebuilding the pyramid is such a costly operation in terms of time, you should identify the raster dataset's upper left raster coordinate through analysis of your source data and enter it when you create the raster dataset. You set the x- and y-coordinates for the pyramid reference point when you create your raster dataset (see Create Raster Dataset), rather than using the upper left coordinate of the first raster dataset that is inserted. Therefore, it is possible to avoid shifting the raster dataset's origin by setting a pyramid reference point when you create the raster dataset.