复制栅格 (Data Management)
摘要
生成栅格数据集副本、将栅格数据集加载到栅格目录中或将镶嵌数据集转换为栅格数据集。
用法
-
可将输出结果保存为 BIL、BIP、BMP、BSQ、DAT、GIF、Esri Grid、IMG、JPEG、JPEG 2000、PNG、TIFF 格式或任意地理数据库栅格数据集。
-
以地理数据库形式存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。以文件格式存储栅格数据集时,需要指定文件扩展名,具体如下:
- .bil 适用于 Esri BIL
- .bip 适用于 Esri BIP
- .bmp 适用于 BMP
- .bsq 适用于 Esri BSQ
- .dat for ENVI DAT
- .gif 适用于 GIF
- .img 适用于 ERDAS IMAGINE
- .jpg 适用于 JPEG
- .jp2 适用于 JPEG 2000
- .png 适用于 PNG
- .tif 适用于 TIFF
- 无扩展名适用于 Esri Grid
此工具可用于将像素类型从一个位深度缩放到另一个位深度。缩放像素深度时,栅格会显示相同的位深度,而值却缩放到指定的新的位深度。
-
即使正在将栅格数据集加载到栅格目录中,该工具的输出也始终是栅格数据集。该工具将接受镶嵌数据集作为输入,但输出仍为栅格数据集 - 镶嵌数据集的内容将被镶嵌以创建栅格数据集。
-
此工具可将栅格数据集加载到栅格目录中。如果希望将栅格数据集加载到栅格目录中,则需要打出栅格目录的完整路径作为输出位置,或者将栅格目录拖放到输出文本框中。
-
如果将此工具用于将栅格数据集加载到栅格目录中,则在加载完成后需要运行计算默认空间格网索引工具。
-
对于基于文件的栅格和个人地理数据库栅格,为了忽略背景值,忽略背景值必须设置为与 NoData 相同的值。文件地理数据库栅格和 ArcSDE 栅格无需经过此额外步骤即可忽略背景值。
-
将栅格数据集存储到 JPEG 文件、JPEG 2000 文件或地理数据库时,可在“环境设置”中指定压缩类型和压缩质量。
-
GIF 格式仅支持单波段栅格数据集。
-
像素类型参数将决定输出栅格数据集的位深度。当选择不同像素类型时,会重设栅格值的比例。如果像素类型的范围被降级(降低),则在此像素深度的有效范围外的栅格值将被截断并丢失。要了解有关支持的导出格式的位深度容量的信息,请参阅支持的栅格数据集文件格式。
语法
参数 | 说明 | 数据类型 |
in_raster |
要复制的栅格数据集的名称和位置。 | Mosaic Dataset; Mosaic Layer; Raster Dataset; Raster Layer |
out_rasterdataset |
要创建的栅格数据集的名称和位置。 以文件格式存储栅格数据集时,需要指定文件扩展名,具体如下:
以地理数据库形式存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。 将栅格数据集存储到 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时,可以指定压缩类型和压缩质量。 | Raster Dataset; Raster Catalog |
config_keyword (可选) |
可用于指定文件地理数据库和 ArcSDE 地理数据库的存储参数(配置)。个人地理数据库不使用配置关键字。 ArcSDE 配置关键字由数据库管理员进行设置。 | String |
background_value (可选) |
使用此选项移除在栅格数据周围创建的不需要的值。指定的值与栅格数据集中的其他有用数据不同。例如,栅格边界上为零的值不同于栅格数据集内的零值。 指定的像素值在输出栅格数据集中将被设置为 NoData。 对于基于文件的栅格和个人地理数据库栅格,为了忽略背景值,“忽略背景值”必须设置为与 NoData 相同的值。ArcSDE 和文件地理数据库栅格无需经过此额外步骤即可忽略背景值。 | Double |
nodata_value (可选) |
具有指定值的所有像素将在输出栅格数据集中被设置为 NoData。 | String |
onebit_to_eightbit (可选) |
选择是否将输入 1 位栅格数据集转换为 8 位栅格数据集。使用这种转换方法时,输入栅格数据集中的值 1 将在输出栅格数据集中更改为 255。这在将 1 位栅格数据集导入 ArcSDE 时很有帮助。1 位栅格数据集存储在文件系统中时包含 8 位金字塔图层,但在 ArcSDE 中,1 位栅格数据集只能包含 1 位金字塔图层,这使得显示画面看起来没有吸引力。通过在 ArcSDE 中将数据转换为 8 位,可将金字塔图层构建为 8 位而非 1 位,从而在显示画面中生成适合的栅格数据集。
| Boolean |
colormap_to_RGB (可选) |
如果输入栅格数据集具有色彩映射表,则可将输出栅格数据集转换为三波段输出栅格数据集。这在镶嵌包含不同色彩映射表的栅格时很有用。
| Boolean |
pixel_type (可选) |
确定输出栅格数据集的位深度。如果未指定,则输出位深度将与输入位深度相同。 当选择不同像素类型时,不会重设栅格值的比例。如果像素类型的范围被降级(降低),则在此像素深度的有效范围外的栅格值将被截断并丢失。
| String |
scale_pixel_value (可选) | 当输出的像素类型不同于输入像素类型时(如从 16 位到 8 位),可选择将值缩放到符合新的范围;否则,会丢弃不符合新的像素范围的值。 如果进行放大(如从 8 位到 16 位),8 位值的最小值和最大值会放大到 16 位范围中的最小值和最大值。如果进行缩小(如从 16 位到 8 位),16 位值的最小值和最大值会缩小到 8 位范围中的最小值和最大值。
| Boolean |
RGB_to_Colormap (可选) | 可将 8 位 3 波段 (RGB) 栅格数据集转换为带色彩映射表的单波段栅格数据集。 此操作通过检查栅格数据集的统计数据并将值分类为 255 个分位数,抑制经常出现在扫描图像中的噪声点。 这非常适用于屏幕捕获、扫描的地图或扫描的文档。但并不建议将其用于卫星、航空影像或专题栅格数据。
| Boolean |
代码实例
这是复制栅格 (CopyRaster) 工具的 Python 示例。
import arcpy
arcpy.CopyRaster_management("c:/data/background.tif",
"c:/fdgb/CpRaster.gdb/fgdbRD","DEFAULTS",
"0","9","","","8_BIT_UNSIGNED")
这是复制栅格 (CopyRaster) 工具的 Python 脚本示例。
##====================================
##Copy Raster
##Usage: CopyRaster_management in_raster out_rasterdataset {config_keyword} {background_value} {nodata_value} {NONE | OneBitTo8Bit}
## {NONE | ColormapToRGB} {1_BIT | 2_BIT | 4_BIT | 8_BIT_UNSIGNED | 8_BIT_SIGNED | 16_BIT_UNSIGNED
## | 16_BIT_SIGNED | 32_BIT_UNSIGNED | 32_BIT_SIGNED | 32_BIT_FLOAT | 64_BIT}
try:
import arcpy
arcpy.env.workspace = r"C:\PrjWorkspace"
##Copy File RasterDataset to GDB Dataset with Background and Nodata setting
arcpy.CopyRaster_management("background.tif","CpRaster.gdb\\background","DEFAULTS","0","9","","","8_BIT_UNSIGNED")
##Copy 1 BIT
arcpy.CopyRaster_management("1bit.tif","SDE94.sde\\bit8","DEFAULTS","","","OneBitTo8Bit","","")
except:
print "Copy Raster example failed."
print arcpy.GetMessages()