复制栅格 (数据管理)

描述

保存栅格数据集的副本或将镶嵌数据集转换成单个栅格数据集。

使用方法

  • 可将输出结果保存为 BIL、BIP、BMP、BSQ、CRF、DAT、Esri Grid、GIF、IMG、JPEG、JPEG 2000、MRF、PNG、TIFF 格式或任意地理数据库栅格数据集。

  • 以地理数据库形式存储栅格数据集时,不应向栅格数据集的名称添加文件扩展名。以文件格式存储栅格数据集时,需要指定文件扩展名,具体如下:

    • Esri BIL 为 .bil
    • Esri BIP 为 .bip
    • BMP 为 .bmp
    • Esri BSQ 为 .bsq
    • ENVI DAT 为 .dat
    • GIF 为 .gif
    • ERDAS IMAGINE 为 .img
    • JPEG 为 .jpg
    • JPEG 2000 为 .jp2
    • PNG 为 .png
    • TIFF 为 .tif
    • MRF 为 .mrf
    • CRF 为 .crf
    • Esri Grid 无扩展名

  • 此工具可用于将像素类型从一个位深度缩放到另一个位深度。在缩放像素深度时,栅格会显示相同的位深度,而值却缩放到指定的新的位深度。

  • 此工具的输出始终是栅格数据集。该工具将接受镶嵌数据集作为输入,但输出将为栅格数据集 - 镶嵌数据集的内容将被镶嵌以创建栅格数据集。

  • 如果已选中选项中的使用坐标定位文件定义栅格坐标,将写出一个坐标定位文件。如果存在相应的坐标定位文件,则会覆盖该文件。也可能在输出空间参考中偏移半个像素。

  • 对于基于文件的栅格,要忽略背景值,必须将其设置为与 NoData 相同的值。文件地理数据库栅格和企业级地理数据库栅格无需经过此额外步骤即可忽略背景值。

  • 将栅格数据集存储到 JPEG 文件、JPEG 2000 文件或地理数据库时,可在环境中指定压缩类型压缩质量

  • GIF 格式仅支持单波段栅格数据集。

  • 像素类型参数将决定输出栅格数据集的位深度。当选择不同像素类型时,会重设栅格值的比例。如果像素类型的范围被降级(降低),则在此像素深度的有效范围外的栅格值将被截断并丢失。要了解有关受支持的导出格式的位深度容量的信息,请参阅受支持的传感器列表

  • 构建多维转置参数可用于数据访问优化。默认情况下,CRF 文件会将每个多维切割片存储在单独的文件夹中,并将每个切割片拆分为多个切片。执行转置时,数据将沿维度进行分段,而不是通过切割片或切片进行分段,从而使分析(例如时态分析)变得更迅速、更简便。

  • 如果指定栅格数据集边界外部的范围,则将使用 NoData 值填充不包含数据的区域。

语法

arcpy.management.CopyRaster(in_raster, out_rasterdataset, {config_keyword}, {background_value}, {nodata_value}, {onebit_to_eightbit}, {colormap_to_RGB}, {pixel_type}, {scale_pixel_value}, {RGB_to_Colormap}, {format}, {transform}, {process_as_multidimensional}, {build_multidimensional_transpose})
参数说明数据类型
in_raster

要复制的栅格数据集或镶嵌数据集。

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
out_rasterdataset

要创建的栅格数据集的名称和格式。

  • .bil - Esri BIL
  • .bip - Esri BIP
  • .bmp - BMP
  • .bsq - Esri BSQ
  • .dat - ENVI DAT
  • .gif - GIF
  • .img - ERDAS IMAGINE
  • .jpg - JPEG
  • .jp2 - JPEG 2000
  • .png - PNG
  • .tif - TIFF
  • .mrf - MRF
  • .crf - CRF
  • Esri Grid 无扩展名

将栅格数据集存储到地理数据库时,请勿向栅格数据集的名称添加文件扩展名。

将栅格数据集存储到 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时,可以指定压缩类型和压缩质量。

Raster Dataset
config_keyword
(可选)

指定地理数据库的存储参数(配置)。配置关键字由数据库管理员进行设置。

String
background_value
(可选)

移除在栅格数据周围创建的不需要的值。指定的值与栅格数据集中的其他有用数据不同。例如,栅格边界上为零的值不同于栅格数据集内的零值。

指定的像素值在输出栅格数据集中将被设置为 NoData。

对于基于文件的栅格,要忽略背景值,必须将其设置为与 NoData 相同的值。企业级和地理数据库栅格无需经过此额外步骤即可忽略背景值。

Double
nodata_value
(可选)

具有指定值的所有像素将在输出栅格数据集中被设置为 NoData

String
onebit_to_eightbit
(可选)

选择是否将输入 1 位栅格数据集转换为 8 位栅格数据集。使用这种转换方法时,输入栅格数据集中的值 1 将在输出栅格数据集中更改为 255。这在将 1 位栅格数据集导入地理数据库时十分有用。1 位栅格数据集存储在文件系统中时包含 8 位金字塔图层,但在地理数据库中,1 位栅格数据集只能包含 1 位金字塔图层,这使得显示画面看起来没有吸引力。通过在地理数据库中将数据转换为 8 位,可将金字塔图层构建为 8 位而非 1 位,从而在显示画面中生成适合的栅格数据集。

  • NONE不执行任何转换。这是默认设置。
  • OneBitTo8Bit将转换输入栅格。
Boolean
colormap_to_RGB
(可选)

如果输入栅格数据集具有色彩映射表,则可将输出栅格数据集转换为三波段输出栅格数据集。这在镶嵌包含不同色彩映射表的栅格时很有用。

  • NONE不发生任何转换。这是默认设置。
  • ColormapToRGB将转换输入数据集。
Boolean
pixel_type
(可选)

指定要用于栅格数据集或镶嵌数据集的位深度或辐射分辨率。如果未定义,则将从第一个栅格数据集获取此值。

  • 1_BIT1 位无符号整数。值可以为 0 或 1。
  • 2_BIT2 位无符号整数。支持的值为 0 到 3。
  • 4_BIT4 位无符号整数。支持的值为 0 到 15。
  • 8_BIT_UNSIGNED8 位无符号数据类型。支持的值为 0 到 255。
  • 8_BIT_SIGNED8 位有符号数据类型。支持的值为 -128 到 127。
  • 16_BIT_UNSIGNED16 位无符号数据类型。取值范围为 0 到 65,535。
  • 16_BIT_SIGNED16 位有符号数据类型。取值范围为 -32,768 到 32,767。
  • 32_BIT_UNSIGNED32 位无符号数据类型。取值范围为 0 到 4,294,967,295。
  • 32_BIT_SIGNED32 位有符号数据类型。取值范围为 -2,147,483,648 到 2,147,483,647。
  • 32_BIT_FLOAT支持小数的 32 位数据类型。
  • 64_BIT支持小数的 64 位数据类型。
String
scale_pixel_value
(可选)

指定是否将缩放像素值。当输出的像素类型不同于输入像素类型时(如从 16 位到 8 位),可将值缩放到符合新的范围;否则,会丢弃不符合新的像素范围的值。

如果进行放大(如从 8 位到 16 位),8 位值的最小值和最大值会放大到 16 位范围中的最小值和最大值。如果进行缩小(如从 16 位到 8 位),16 位值的最小值和最大值会缩小到 8 位范围中的最小值和最大值。

  • NONE像素值保持不变且不会缩放。任何不符合值范围的值都会被丢弃。这是默认设置。
  • ScalePixelValue像素值会缩放到新的像素类型。在缩放像素深度时,栅格会显示相同的位深度,而值却缩放到指定的新的位深度。
Boolean
RGB_to_Colormap
(可选)

指定是否将 8 位 3 波段 (RGB) 栅格数据集转换为带色彩映射表的单波段栅格数据集。此操作会抑制经常出现在扫描图像中的噪声,这非常适用于屏幕捕获、扫描的地图或扫描的文档。但并不建议将其用于卫星、航空影像或专题栅格数据。

  • NONE将不会转换 RGB 栅格数据集。
  • RGBToColormap可将 RGB 栅格数据集转换为色彩映射表。
Boolean
format
(可选)

指定输出栅格格式。

  • TIFF输出格式将为 TIFF。
  • COG输出格式将为 Cloud Optimized GeoTIFF。
  • IMAGINE Image输出格式将为 ERDAS IMAGINE。
  • BMP输出格式将为 BMP。
  • GIF输出格式将为 GIF。
  • PNG输出格式将为 PNG。
  • JPEG输出格式将为 JPEG。
  • JP2输出格式将为 JPEG 2000。
  • GRID输出格式将为 Esri Grid。
  • BIL输出格式将为 Esri BIL。
  • BSQ输出格式将为 Esri BSQ。
  • BIP输出格式将为 Esri BIP。
  • ENVI输出格式将为 ENVI。
  • CRF输出格式将为 CRF。
  • MRF输出格式将为 MRF。
String
transform
(可选)

指定是否将与输入栅格关联的变换应用于输出。输入栅格可以具有与其相关联的变换,该变换未保存在输入中,例如作为坐标定位文件或者作为几何函数。

  • NONE不会将任何关联的变换应用于输出。
  • Transform会将任何关联的变换应用于输出。
Boolean
process_as_multidimensional
(可选)

指定是否将输入镶嵌数据集处理为多维栅格数据集。

  • CURRENT_SLICE输入将不会被处理为多维栅格数据集。如果输入是多维的,则将仅处理当前显示的切割片。这是默认设置。
  • ALL_SLICES输入将被处理为多维栅格数据集,并对所有切割片进行处理以生成新的多维栅格数据集。要使用此选项,请将 format 设置为 CRF
Boolean
build_multidimensional_transpose
(可选)

指定是否为输入多维栅格数据集构建转置,这将沿每个维度对数据进行分段,以优化访问所有切割片的像素值时的性能。

  • NO_TRANSPOSE将不会构建转置。这是默认设置。
  • TRANSPOSE将转置输入多维栅格数据集。要使用此选项,请将 process_as_multidimensional 设置为 ALL_SLICES
Boolean

代码示例

CopyRaster 示例 1(Python 窗口)

这是 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}, 
##			{NONE | ScalePixelValue}, {NONE | RGBToColormap}, {TIFF | IMAGINE Image | 
##			BMP | GIF | PNG | JPEG | JPEG2000 | Esri Grid | Esri BIL | Esri BSQ | 
##			Esri BIP | ENVI | CRF | MRF}, {NONE | Transform}, {CURRENT_SLICE | ALL_SLICES}, {NO_TRANSPOSE | TRANSPOSE})


try:
    import arcpy
    arcpy.env.workspace = r"C:\PrjWorkspace"
    ##Copy Multidimensional Raster Dataset to a new multidimensional dataset in Cloud raster format and with transpose for faster data access
    arcpy.CopyRaster_management('SeaSurfaceTemp.nc',"https://s3.amazonaws.com/S3Storage/seasurfacetemp","","","","","","","","", format = "CRF",'NONE',process_as_multidimensional = 'ALL_SLICES', build_multidimensional_transpose='TRANSPOSE')
    ##Copy 1 BIT 
    arcpy.CopyRaster_management("1bit.tif","SDE94.sde\\bit8","DEFAULTS","","","OneBitTo8Bit","","")
    ##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")
except:
    print "Copy Raster example failed."
    print arcpy.GetMessages()
CopyRaster 示例 2(独立脚本)

这是 CopyRaster 工具的 Python 脚本示例。

##====================================
##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}, 
##			{NONE | ScalePixelValue}, {NONE | RGBToColormap}, {TIFF | IMAGINE Image | 
##			BMP | GIF | PNG | JPEG | JPEG2000 | Esri Grid | Esri BIL | Esri BSQ | 
##			Esri BIP | ENVI | CRF | MRF}, {NONE | Transform}, {CURRENT_SLICE | ALL_SLICES}, {NO_TRANSPOSE | TRANSPOSE})

import arcpy
arcpy.env.workspace = r"C:\PrjWorkspace"

##Copy to new multidimensional dataset in cloud raster format and with transpose for faster data access
arcpy.CopyRaster_management(
	"SeaSurfaceTemp.nc", "SST_Transpose.crf","","",-3.402823e+38,"NONE","NONE","","NONE","NONE", "CRF", "NONE", "ALL_SLICES", "TRANSPOSE")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题