定义镶嵌数据集 NoData (数据管理)
摘要
用于为镶嵌数据集指定一个或多个 NoData 值。
用法
-
可以使用 NoData 定义图像周围的像素值;但是,如果通过重新计算覆盖区移除这些边界区域,可更有效地创建镶嵌数据集。要重新计算覆盖区,可通过手动方式或使用“构建覆盖区”工具来编辑它们。
此工具会为镶嵌数据集内的每个栅格项插入函数链中的“掩膜”函数。
使用此工具插入的“掩膜”函数将被插入到函数链中“波段合成”函数的前面。因此,如果镶嵌数据集内每个栅格的函数链都包含“波段合成”函数,或者如果添加的栅格数据的栅格类型会向每个栅格的函数链添加“波段合成”函数,则所有指定的值都将应用于所有波段。
语法
参数 | 说明 | 数据类型 |
in_mosaic_dataset |
镶嵌数据集的路径和名称。 | Mosaic Layer |
num_bands |
定义镶嵌数据集内的波段数。 将根据添加的镶嵌数据集自动填充此值,但可以覆盖它。 | Long |
bands_for_nodata_value [band {value},...] (可选) |
为每个波段或所有波段定义单个值。每个波段都可定义唯一的 NoData 值,也可为所有波段指定相同的值。 使用此工具插入的“掩膜”函数将被插入到函数链中“波段合成”函数的前面。因此,如果镶嵌数据集内每个栅格的函数链都包含“波段合成”函数,或者如果添加的栅格数据的栅格类型会向每个栅格的函数链添加“波段合成”函数,则所有指定的值都将应用于所有波段。 | Value Table |
bands_for_valid_data_range [band {minimum value} {maximum value},...] (可选) |
有效数据的波段号以及最小和最大像素值。NoData 值为范围之外的那些值。例如,对于 8 位图像,如果指定 band1=10–200,则值 0–9 和 201–255 将被指定为 NoData。 使用此工具插入的“掩膜”函数将被插入到函数链中“波段合成”函数的前面。因此,如果镶嵌数据集内每个栅格的函数链都包含“波段合成”函数,或者如果添加的栅格数据的栅格类型会向每个栅格的函数链添加“波段合成”函数,则所有指定的值都将应用于所有波段。 | Value Table |
where_clause (可选) |
可以使用 SQL 定义查询,或者使用查询构建器构建查询。 | SQL Expression |
代码示例
这是 DefineMosaicDatasetNoData 的 Python 示例。
import arcpy arcpy.DefineMosaicDatasetNoData_management("c:/workspace/fgdb.gdb/NoData", \ "OBJECTID=2", "3", \ "ALL_BANDS 0 9", #")
这是 DefineMosaicDatasetNoData 的 Python 脚本示例。
##=========================== ##Define Mosaic Dataset Nodata ##Usage: DefineMosaicDatasetNodata_management in_mosaic_dataset num_bands ## {Band {Value};Band {Value}...} {Band {Minimum ## Value} {Maximum Value};Band {Minimum Value} ## {Maximum Value}...} {where_clause} try: import arcpy arcpy.env.workspace = "C:/Workspace" # Specify multiple Nodata values for all bands in one Catalog item arcpy.DefineMosaicDatasetNoData_management("Nodata.gdb/md", "3", "ALL_BANDS 0 9",\ "#", "OBJECTID=2") # Specify Nodata values for each individual band arcpy.DefineMosaicDatasetNodata_management("Nodata.gdb/md", "3",\ "BAND_1 0;BAND_2 10;BAND_3 255", "#",\ "#") # Specify valid value range for each band arcpy.DefineMosaicDatasetNodata_management("Nodata.gdb/md", "3", "", \ "BAND_1 0 255;BAND_2 10 100;BAND_3 1 200",\ "#") except: print "Define Mosaic Dataset Nodata example failed." print arcpy.GetMessages()