Summary
Merges multiple existing raster datasets 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 Raster 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 geodatabase; it is by far the most effective way to mosaic.
For file-based rasters, Ignore Background Value must be set to the same value as NoData for the background value to be ignored. Geodatabase 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 environment setting 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, use the Clip tool to clip the Target Raster after processing.
Syntax
arcpy.management.Mosaic(inputs, target, {mosaic_type}, {colormap}, {background_value}, {nodata_value}, {onebit_to_eightbit}, {mosaicking_tolerance}, {MatchingMethod})
Parameter | Explanation | Data Type |
inputs [input,...] | The raster datasets you want to merge together. | Mosaic Dataset ; Composite Layer ; Raster Dataset ; Raster Layer |
target | The raster to add the input rasters. This raster dataset must already exist. By default, the target raster is considered the first raster in the list of input raster datasets. You can create an empty raster using the Create Raster Dataset tool. | Raster Dataset |
mosaic_type (Optional) | The method used to mosaic overlapping areas.
| String |
colormap (Optional) | The method used to choose which color map from the input rasters will be applied to the mosaic output.
| 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 in the raster dataset. The pixel value specified will be set to NoData in the output raster dataset. For file-based rasters and geodatabase rasters, the Ignore Background Value must be set to the same value as NoData for the background value to be ignored. Enterprise 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 a geodatabase. One-bit raster datasets have 8-bit pyramid layers when stored in a file system, but in a geodatabase, 1-bit raster datasets can only have 1-bit pyramid layers, which makes the display unpleasant. By converting the data to 8 bit in a geodatabase, 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 |
Derived Output
Name | Explanation | Data Type |
output | The updated raster dataset. | Raster Dataset |
Code sample
Mosaic example 1 (Python window)
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", "", "", "")
Mosaic example 2 (stand-alone script)
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}
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")
Environments
This tool does not use any geoprocessing environments.
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes