What is a mosaic dataset?
A mosaic dataset allows you to store, manage, view, and query small to vast collections of raster and image data. It is a data model within the geodatabase used to manage a collection of raster datasets (images) stored as a catalog and viewed as a mosaicked image. Mosaic datasets have advanced raster querying capabilities and processing functions and can also be used as a source for serving image services.
A mosaic dataset consists of
- A catalog that provides the source of the pixels and footprints of the rasters
- A feature class that defines the boundary
- A set of mosaicking rules that are used to dynamically mosaic the rasters
- A set of properties used to control the mosaicking and any image extraction
- A table for logging during data loading and other operations
- Optionally, a seamline feature class for seamline mosaicking
- Optionally, a color correction table that defines the color mapping for each raster in the raster catalog
A mosaic dataset is created in a geodatabase and can have raster datasets added to it directly, or it can be created—wholly or using a selection—from a raster catalog or mosaic dataset. A mosaic dataset manages its raster data in the same way as an unmanaged raster catalog; therefore, the tables will be similar, datasets will be indexed, and queries can be performed on the collections. There are geoprocessing tools in the Data Management toolbox to create and edit mosaic datasets.
The raster data in a mosaic dataset does not have to be adjoining or overlapping but can exist as unconnected, discontinuous datasets. For example, you can have images that completely cover an area or you can have many strips of images that may not join together to form a continuous image (such as along pipelines).
Types of mosaic datasets
There are two types of mosaic datasets—one allows you to add all types of raster data and modify the properties and functions applied per raster and on the mosaic dataset. This is created using the Create Mosaic Dataset tool. There are no limitations to this mosaic dataset.
The other mosaic dataset only references either another mosaic dataset or raster catalog. It is created using the Create Referenced Mosaic Dataset tool. The referenced mosaic dataset behaves similarly to a regular mosaic dataset; however, it is read only, for example, you cannot add additional rasters to the mosaic dataset, you cannot build overviews, and you cannot calculate the pixel size ranges. It is used to serve conventional raster catalogs or mosaic datasets with different mosaic dataset-level functions. For example, you could create a mosaic dataset to manage all your DEM data, then create a referenced mosaic dataset to produce a hillshade or a slope product from the source mosaic dataset. Or, you could manage all your image data in one mosaic dataset but create a referenced mosaic dataset to distribute the image data according to a particular date or type of image. Sharing access to a referenced mosaic dataset also ensures that those accessing it cannot make modifications to the source mosaic dataset, which could impact other users. Or, if you have a raster catalog you want to serve as an image service, you can create a referenced mosaic dataset that will serve the raster catalog. In this case, the existing raster catalog can be either a standard raster catalog or a Military Analyst raster catalog created using the Military Analyst extension. The referenced mosaic dataset can also be stored outside the geodatabase as a *.amd file.
Mosaic datasets and raster types
Mosaic datasets utilize raster types to read and ingest the required information from raster datasets. It identifies metadata, such as georeferencing, acquisition date, and sensor type, along with a raster format. A raster type can read raster data in its simplest way by just using a raster format, such as TIFF or JPEG. The Raster Dataset raster type reads all raster formats; however, you may want to use a specific raster type that has been created specifically to read and display the pixel data and apply the spatial reference associated with particular raster datasets.
Many specific raster types have sophisticated capabilities and can recognize that a particular image, such as one provided by a satellite imaging company, includes a raster dataset with several bands, varying spatial resolutions, and other metadata that affect the spatial reference. Therefore, if the product has four bands of data at a 1-meter resolution and one band with a 30-cm resolution, the raster type knows to create a product that sharpens the lower-resolution data with the higher-resolution dataset (also known as pan-sharpening). Additionally, if the correct rational polynomial coefficient (RPC) information is provided, this raster type could be used to improve on the fused data product by performing an orthorectification. By using the correct raster type, you can automatically define functions that will be applied on-the-fly when the raster datasets are accessed.
Applying raster functions with mosaic datasets
Functions are a key component to every mosaic dataset. They allow the mosaic dataset to deliver a dynamically mosaicked image and they can be used to enhance the mosaicked image product by applying on-the-fly processing operations such as orthorectification, image enhancements, and image algebra. You can add functions to the mosaic dataset or to individual rasters within the mosaic dataset, or they may be added when the data is added to the mosaic dataset. For example, when specific raster data products (such as from a satellite sensor) are added to a mosaic dataset, some functions are automatically added to the raster data. As mentioned above, you can add raster datasets that are used to generate an orthorectified, pan-sharpened image. To generate this image, both a pan-sharpen function and orthorectification function would be applied to the raster data when it is accessed. This is advantageous, because it saves disk space, since you aren't required to store both source and preprocessed datasets. Additionally, if you wanted to process the same data differently, you can add the same data to a different mosaic dataset and apply different functions. You may still want the orthorectification function used, but you may want to generate a vegetative index. For this, you could use the Band Algebra function or the NDVI function.
Managing multiple resolutions with mosaic datasets
Mosaic datasets are designed to handle data with varying resolutions—spectral, spatial, temporal, and radiometric. The raster types and functions in a mosaic dataset play a strong role in how all this data is handled and displayed. Additionally, the mosaic dataset is particularly aware of the spatial and temporal information as attributes of the raster data. Based on the cell sizes, the mosaic dataset will display the imagery at the most appropriate scales. With some additional display control properties, called mosaic methods, a user can control the temporal information, allowing them to view the images for the dates they require.
You use mosaic methods in a mosaic dataset to control what raster data is presented each time a mosaic (from the mosaic dataset) is displayed. By default, the mosaic is generated by displaying the raster dataset that is the closest to the center of the image. Another mosaic method lets you define a query based on attributes such as acquisition date or cloud cover. These mosaic methods and querying capabilities allow users to access every raster dataset within the mosaic dataset, even when there is overlap.
There is no pixel data loss or metadata loss when using mosaic datasets, as the source pixels are never altered or converted, and the files are never moved; therefore, any metadata files remain in their location. Because the mosaic dataset does not alter the source data or its location, the pixel values are not altered. Additionally, the mosaicking performed by the mosaic dataset occurs dynamically when the mosaic dataset accessed. Users have access to the mosaicked image as well as the source data; therefore, there is no data loss occurring for overlapping datasets.
Overviews, which are like raster pyramids, can be generated for a mosaic dataset. Overviews are reduced resolution datasets that are generated to improve the speed at which the mosaic is displayed. You can allow the default overviews to be generated over the entire mosaic dataset. Alternatively, you can control how they're created by defining the downsampling ratio, the extent, a specific spatial resolution, and so on.
Advantages of mosaic datasets
Mosaic datasets are excellent data models for storing and managing data. Mosaic datasets are ideal for distributing data because they can be directly accessed by users and easily served. A server administrator can modify many properties of a mosaic dataset, such as the maximum image size, the level of metadata, the compression method, or the maximum number of downloads, to get the maximum performance out of their server and meet user needs. When clients connect to a server to see the mosaicked image, their application can control the same mosaic methods and other properties that a directly connected user will have, along with the ability to select raster datasets and download them to their local disk. Not only does a mosaic dataset manage and visualize data, it is also a tool for disseminating imagery.