Mosaic (Data Management)
Summary
Mosaics multiple input rasters into an existing raster dataset.
Illustration
Usage
-
The target raster must be an existing raster dataset, which can be an empty raster dataset or one already containing data.
-
Mosaic is useful when two or more adjacent raster datasets need to be merged into one entity. Some mosaic techniques can help minimize the abrupt changes along the boundaries of the overlapping rasters.
-
The overlapping areas of the mosaic can be handled in several ways; for example, you can set the tool to keep only the first raster dataset's data, or you can blend the overlapping cell values. There are also several options to determine how to handle a color map, if the raster dataset uses one. For example, you can keep the color map of the last raster dataset used in the mosaic.
-
The Target layer is considered the first raster in the list of Input Rasters.
-
For mosaicking of discrete data, First, Minimum, or Maximum Mosaic Operator options will provide the most meaningful results. The Blend and Mean Mosaic Operator options are best suited for continuous data.
-
Whenever possible, use the Last Mosaic Operator to mosaic raster datasets to an existing raster dataset in a file geodatabase or ArcSDE geodatabase; it is by far the most effective way to mosaic.
-
The pixel type will be the same as the target raster dataset.
-
For file-based rasters and personal geodatabase rasters, the Ignore Background Value must be set to the same value as NoData in order for the background value to be ignored. File geodatabase rasters and ArcSDE rasters will work without this extra step.
When mosaicking with raster datasets containing color maps, it is important to note differences across the color maps for each raster dataset you choose to mosaic. You are still able to use the Mosaic tool even if the raster datasets have different color maps; however, you must choose the proper color map mode. If an improper color map mode is chosen, your output might not turn out as you expected.
-
The Color Matching Method allows you to choose an algorithm to color match the datasets in your mosaic.
-
For floating-point input raster datasets of different resolutions or when cells are not aligned, it is recommended to resample all the data using bilinear interpolation or cubic convolution before running Mosaic; otherwise, Mosaic will automatically resample the raster datasets using nearest neighbor resampling, which is not appropriate for continuous data types.
-
The Mosaic tool doesn't use the output extent because the tool tends to create very large raster datasets and the output extent setting might accidentally clip your data. If the output extent does need to be adjusted, the Clip tool can achieve that operation.
Syntax
Parameter | Explanation | Data Type |
inputs [input,...] |
The input raster datasets. | Mosaic Dataset ; Composite Layer ; Raster Dataset ; Raster Layer |
target |
The target raster dataset. This raster dataset must already exist. The Target layer is considered the first raster in the list of Input Rasters. | Raster Dataset |
mosaic_type (Optional) |
The method used to mosaic overlapping areas.
The Target layer is considered the first raster in the list of Input Rasters. For more information about each mosaic operator, refer to Mosaic Operator. | String |
colormap (Optional) |
The method used to choose which color map from the input rasters will be applied to the mosaic output.
The Target layer is considered the first raster in the list of Input Rasters. For more information about each colormap mode, refer to Mosaic colormap mode. | String |
background_value (Optional) |
Use this option to remove the unwanted values created around the raster data. The value specified will be distinguished from other valuable data in the raster dataset. For example, a value of zero along the raster dataset's borders will be distinguished from zero values within the raster dataset. The pixel value specified will be set to NoData in the output raster dataset. For file-based rasters and personal geodatabase rasters, the Ignore Background Value must be set to the same value as NoData in order for the background value to be ignored. ArcSDE and file geodatabase rasters will work without this extra step. | Double |
nodata_value (Optional) |
All the pixels with the specified value will be set to NoData in the output raster dataset. | Double |
onebit_to_eightbit (Optional) |
Choose whether the input 1-bit raster dataset will be converted to an 8-bit raster dataset. In this conversion the value 1 in the input raster dataset will be changed to 255 in the output raster dataset. This is useful when importing a 1-bit raster dataset to ArcSDE. One-bit raster datasets have 8-bit pyramid layers when stored in a file system, but in ArcSDE, 1-bit raster datasets can only have 1-bit pyramid layers, which makes the display unpleasant. By converting the data to 8 bit in ArcSDE, the pyramid layers are built as 8 bit instead of 1 bit, resulting in a proper raster dataset in the display.
| Boolean |
mosaicking_tolerance (Optional) |
When mosaicking takes place, the target and the source pixels do not always line up exactly. When there is a misalignment of pixels, a decision needs to be made whether resampling takes place or whether the data should be shifted. The mosaicking tolerance controls whether resampling of the pixels take place or if the pixels should be shifted. If the difference in pixel alignment (of the incoming dataset and the target dataset) is greater than the tolerance, resampling will take place. If the difference in pixel alignment (of the incoming dataset and the target dataset) is less than the tolerance, resampling will not take place (instead, a shift is performed). The unit of tolerance is a pixel, where the valid value range is 0 to 0.5. A tolerance of 0.5 will guarantee a shift takes place. A tolerance of zero guarantees resampling, if there is a misalignment in pixels. For example, the source and target pixels have a misalignment of 0.25. If the mosaicking tolerance is set to 0.2, then resampling will take place since the pixel misalignment is greater than the tolerance. If the mosaicking tolerance is set to 0.3, then the pixels will be shifted. | Double |
MatchingMethod (Optional) |
Choose the color matching method to apply to the rasters.
| String |
Code Sample
This is a Python sample for the Mosaic tool.
import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.Mosaic_management("land2.tif;land3.tif","land1.tif","LAST","FIRST",
"0", "9", "", "", "")
This is a Python script sample for the Mosaic tool.
##==================================
##Mosaic
##Usage: Mosaic_management inputs;inputs... target {LAST | FIRST | BLEND | MEAN | MINIMUM | MAXIMUM} {FIRST | REJECT | LAST | MATCH}
## {background_value} {nodata_value} {NONE | OneBitTo8Bit} {mosaicking_tolerance}
## {NONE | STATISTIC_MATCHING | HISTOGRAM_MATCHING
## | LINEARCORRELATION_MATCHING}
try:
import arcpy
arcpy.env.workspace = r"\\workspace\PrjWorkspace\RasGP"
##Mosaic two TIFF images to a single TIFF image
##Background value: 0
##Nodata value: 9
arcpy.Mosaic_management("landsatb4a.tif;landsatb4b.tif","Mosaic\\landsat.tif","LAST","FIRST","0", "9", "", "", "")
##Mosaic several 3-band TIFF images to FGDB Raster Dataset with Color Correction
##Set Mosaic Tolerance to 0.3. Mismatch larget than 0.3 will be resampled
arcpy.Mosaic_management("rgb1.tif;rgb2.tif;rgb3.tif", "Mosaic.gdb\\rgb","LAST","FIRST","", "", "", "0.3", "HISTOGRAM_MATCHING")
except:
print "Mosaic example failed."
print arcpy.GetMessages()