镶嵌 (Data Management)
插图
用法
-
目标栅格必须是一个现有的栅格数据集。该数据集可以是空栅格数据集,也可以是已包含数据的栅格数据集。
-
镶嵌操作在两个或多个相邻栅格数据集需要合并为一个实体时非常有用。某些镶嵌方法有助于减小叠置栅格边界上的突变。
-
镶嵌的叠置区域可采用多种方式处理 - 例如,您可以对该工具进行设置,以仅保留第一个栅格数据集的数据,也可以混合叠置像元值。另外,如果栅格数据集使用色彩映射表,还有多个用于确定如何处理此表的选项供您选择。例如,可以保留用于镶嵌的最后一个栅格数据集的色彩映射表。
-
“目标”图层被视为“输入栅格”列表中的第一个栅格。
-
对于镶嵌离散数据,镶嵌运算符的“第一个值”、“最小值”和“最大值”选项会提供最有意义的结果。镶嵌运算符的“混合”和“平均值”选项最适合连续数据。
-
尽可能使用最后一个镶嵌运算符,将这些栅格数据集镶嵌到文件地理数据库或 ArcSDE 地理数据库中的现有栅格数据集内;这是目前为止最有效的镶嵌方式。
-
像素类型将与目标栅格数据集相同。
-
对于基于文件的栅格和个人地理数据库栅格,为了忽略背景值,忽略背景值必须设置为与 NoData 相同的值。文件地理数据库栅格和 ArcSDE 栅格无需经过此额外步骤即可忽略背景值。
如果使用包含色彩映射表的栅格数据集进行镶嵌,应特别注意选择要镶嵌的各栅格数据集的色彩映射表之间的差异。即使栅格数据集具有不同的色彩映射表,您仍可使用“镶嵌”工具;但必须选择正确的色彩映射模式。如果选择了错误的色彩映射模式,则可能会返回意外的输出结果。
-
色彩匹配方法可用于选择镶嵌数据集的色彩匹配算法。
-
对于不同分辨率的浮点型输入栅格数据集或像元不对齐的情况,建议在运行镶嵌之前,使用双线性插值法或三次卷积插值法对所有数据进行重采样;否则,镶嵌将会使用最邻近重采样法自动对栅格数据集进行重采样(该方法不适用于连续数据类型)。
-
“镶嵌”工具不使用输出范围,因为该工具往往用于创建超大型栅格数据集,而输出范围设置可能会意外裁剪您的数据。如果的确需要调整输出范围,则可使用裁剪工具完成此操作。
语法
参数 | 说明 | 数据类型 |
inputs [input,...] |
输入栅格数据集。 | Mosaic Dataset ; Composite Layer ; Raster Dataset ; Raster Layer |
target |
目标栅格数据集。 此栅格数据集必须已经存在。“目标”图层被视为“输入栅格”列表中的第一个栅格。 | Raster Dataset |
mosaic_type (可选) |
用于镶嵌重叠的方法。
“目标”图层被视为“输入栅格”列表中的第一个栅格。 有关各镶嵌运算符的详细信息,请参阅镶嵌运算符。 | String |
colormap (可选) |
对输入栅格中应用于镶嵌输出的色彩映射表进行选择的方法。
“目标”图层被视为“输入栅格”列表中的第一个栅格。 有关各色彩映射表模式的详细信息,请参阅镶嵌色彩映射表模式。 | String |
background_value (可选) |
使用此选项移除在栅格数据周围创建的不需要的值。指定的值与栅格数据集中的其他有用数据不同。例如,栅格边界上为零的值不同于栅格数据集内的零值。 指定的像素值在输出栅格数据集中将被设置为 NoData。 对于基于文件的栅格和个人地理数据库栅格,为了忽略背景值,“忽略背景值”必须设置为与 NoData 相同的值。ArcSDE 和文件地理数据库栅格无需经过此额外步骤即可忽略背景值。 | Double |
nodata_value (可选) |
具有指定值的所有像素将在输出栅格数据集中被设置为 NoData。 | Double |
onebit_to_eightbit (可选) |
选择是否将输入 1 位栅格数据集转换为 8 位栅格数据集。使用这种转换方法时,输入栅格数据集中的值 1 将在输出栅格数据集中更改为 255。这在将 1 位栅格数据集导入 ArcSDE 时很有帮助。1 位栅格数据集存储在文件系统中时包含 8 位金字塔图层,但在 ArcSDE 中,1 位栅格数据集只能包含 1 位金字塔图层,这使得显示画面看起来没有吸引力。通过在 ArcSDE 中将数据转换为 8 位,可将金字塔图层构建为 8 位而非 1 位,从而在显示画面中生成适合的栅格数据集。
| Boolean |
mosaicking_tolerance (可选) |
发生镶嵌时,目标及源像素并不总是准确地排成直线。当存在像素偏差时,需要决定是否执行重采样,或是否应当平移数据。镶嵌容差可控制是否对像素执行重采样,或者是否应当平移像素。 如果(传入的数据集与目标数据集之间的)像素偏差大于该容差,则执行重采样。如果(传入的数据集与目标数据集之间的)像素偏差小于该容差,则不执行重采样(而是执行平移)。 容差的单位为像素,有效值范围为 0 到 0.5。容差为 0.5 会保证发生平移。存在像素偏差时,容差为零会保证执行重采样。 例如,源像素和目标像素的偏差值为 0.25。如果将镶嵌容差设置为 0.2,由于像素偏差大于该容差,因此将执行重采样。如果将镶嵌容差设置为 0.3,则会平移像素。 | Double |
MatchingMethod (可选) |
选择应用于栅格的色彩匹配方法。
| String |
代码实例
这是“镶嵌”工具的 Python 示例。
import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.Mosaic_management("land2.tif;land3.tif","land1.tif","LAST","FIRST",
"0", "9", "", "", "")
这是“镶嵌”工具的 Python 脚本示例。
##==================================
##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()