复制栅格 (数据管理)

摘要

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

使用情况

  • 您可以将输出保存为 BIL、BIP、BMP、BSQ、COG、CRF、ENVI DAT、ERDAS IMAGINE、GIF、JPEG、JPEG 2000、MRF、NetCDF、PNG、TIFF 或 Esri Grid 格式或任意地理数据库栅格数据集。

  • 将栅格数据集存储到地理数据库时,请勿向栅格数据集的名称添加文件扩展名。 以文件格式存储栅格数据集时,请将文件扩展名指定如下:

    • 对于 Esri BIL,为 .bil
    • 对于 Esri BIP,为 .bip
    • 对于 BMP,为 .bmp
    • 对于 Esri BSQ,为 .bsq
    • 对于 CRF,为 .crf
    • 对于 ENVI DAT,为 .dat
    • 对于 ERDAS IMAGINE,为 .img
    • 对于 GIF,为 .gif
    • 对于 JPEG,为 .jpg
    • 对于 JPEG 2000,为 .jp2
    • 对于 MRF,为 .mrf
    • 对于 NetCDF,为 .nc
    • 对于 PNG,为 .png
    • 对于 TIFF 和 Cloud Optimized GeoTIFF,为 .tif
    • 对于 Zarr,为 .zarr
    • Esri Grid 无扩展名

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

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

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

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

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

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

  • 创建后,不能在 ArcGIS AllSource 中复制、重命名或删除 .mrf 文件。 .mrf 文件可以指向位于其他位置的数据,并且无法始终确定文件的读写状态。

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

  • 通过该工具从任何栅格创建 Cloud Optimized GeoTIFF (COG) 格式文件过程包括两个步骤,其涉及使用 COG 规范对 GeoTIFF 内部结构进行正确排序。 第一步是从包含金字塔、统计数据和其他元数据的输入栅格生成临时 GeoTIFF 格式文件。 然后复制此临时 GeoTIFF 格式文件以生成 COG 格式文件。

    COG 格式生成所需的磁盘空间至少是源图像空间的两倍,这也取决于输入栅格和输出 COG 格式文件的压缩程度。

  • 输出支持的 NetCDF 格式类型遵循 NetCDF 气候和预测 (CF) 元数据约定

  • NetCDF 格式仅支持单波段数据。 对于多维和多波段数据(例如卫星数据),将使用第一个波段。

  • 构建多维转置参数用于数据访问优化。 默认情况下,.crf 文件会将每个多维切割片存储在单独的文件夹中,并将每个剖切片分块为多个切片。 执行转置时,数据将沿维度进行分块,而不是通过剖切片或切片进行分块,从而加快时态分析等分析的速度。

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

参数

标注说明数据类型
输入栅格

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

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
输出栅格数据集

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

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

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

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

Raster Dataset
配置关键字
(可选)

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

String
忽略背景值
(可选)

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

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

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

Double
NoData 值
(可选)

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

String
将 1 位数据转换为 8 位
(可选)

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

  • 未选中 - 不发生任何转换。 这是默认设置。
  • 选中 - 将转换输入栅格。
Boolean
色彩映射表至 RGB 转换
(可选)

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

  • 未选中 - 不发生任何转换。 这是默认设置。
  • 选中 - 将转换输入数据集。
Boolean
像素类型
(可选)

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

  • 1 位像素类型为 1 位无符号整数。 值可以为 0 或 1。
  • 2 位像素类型为 2 位无符号整数。 受支持的值范围为 0 到 3。
  • 4 位像素类型为 4 位无符号整数。 受支持的值范围为 0 到 15。
  • 8 位无符号像素类型为 8 位无符号数据类型。 受支持的值范围为 0 到 255。
  • 8 位带符号像素类型为 8 位有符号数据类型。 受支持的值范围为 -128 到 127。
  • 16 位无符号像素类型为 16 位无符号数据类型。 取值范围为 0 到 65,535。
  • 16 位带符号像素类型为 16 位有符号数据类型。 取值范围为 -32,768 到 32,767。
  • 32 位无符号像素类型为 32 位无符号数据类型。 取值范围为 0 到 4,294,967,295。
  • 32 位带符号像素类型为 32 位有符号数据类型。 取值范围为 -2,147,483,648 到 2,147,483,647。
  • 32 位浮点像素类型为支持小数的 32 位数据类型。
  • 64 位像素类型为支持小数的 64 位数据类型。
String
缩放像素值
(可选)

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

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

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

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

  • 未选中 - 将不会转换 RGB 栅格数据集。
  • 选中 - 可将 RGB 栅格数据集转换为色彩映射表。
Boolean
格式
(可选)

指定输出栅格格式。

  • TIFF 格式输出格式将为 TIFF。
  • Cloud Optimized GeoTIFF输出格式将为 Cloud Optimized GeoTIFF。
  • ERDAS IMAGINE 格式输出格式将为 ERDAS IMAGINE。
  • BMP 格式输出格式将为 BMP。
  • GIF 格式输出格式将为 GIF。
  • PNG 格式输出格式将为 PNG。
  • JPEG 格式输出格式将为 JPEG。
  • JPEG 2000 格式输出格式将为 JPEG 2000。
  • Esri Grid 格式输出格式将为 Esri Grid。
  • Esri BIL 格式输出格式将为 Esri BIL。
  • Esri BSQ 格式输出格式将为 Esri BSQ。
  • Esri BIP 格式输出格式将为 Esri BIP。
  • ENVI DAT 格式输出格式将为 ENVI DAT。
  • 云栅格格式输出格式将为 CRF。
  • 元栅格格式输出格式将为 MRF。
  • NetCDF 格式输出格式将为 NetCDF。
  • Zarr 格式输出格式将为 Zarr。
String
应用变换
(可选)

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

  • 未选中 - 不会将任何关联的变换应用于输出。
  • 选中 - 会将任何关联的变换应用于输出。

  • 不应用变换。不会将任何关联的变换应用于输出。
  • 应用变换会将任何关联的变换应用于输出。
Boolean
以多维方式处理
(可选)

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

  • 未选中 - 输入不会作为多维栅格数据集进行处理。 如果输入是多维的,则仅处理当前显示的切片。 这是默认设置。
  • 选中 - 输入将作为多维栅格数据集进行处理,并对所有剖切片进行处理以生成新的多维栅格数据集。 将格式参数设置为云栅格格式 以使用此选项。
Boolean
构建多维转置
(可选)

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

  • 未选中 - 不会构建转置。 这是默认设置。
  • 选中 - 将构建输入多维栅格数据集的转置。 要使用此选项,必须选中以多维方式处理参数。
Boolean

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
  • .crf - CRF
  • .dat - ENVI DAT
  • .img - ERDAS IMAGINE
  • .gif - GIF
  • .jpg - JPEG
  • .jp2 - JPEG 2000
  • .mrf - MRF
  • .nc - NetCDF
  • .png - PNG
  • .tif - TIFF 和 Cloud Optimized GeoTIFF
  • .zarr—Zarr
  • 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_BIT像素类型为 1 位无符号整数。 值可以为 0 或 1。
  • 2_BIT像素类型为 2 位无符号整数。 受支持的值范围为 0 到 3。
  • 4_BIT像素类型为 4 位无符号整数。 受支持的值范围为 0 到 15。
  • 8_BIT_UNSIGNED像素类型为 8 位无符号数据类型。 受支持的值范围为 0 到 255。
  • 8_BIT_SIGNED像素类型为 8 位有符号数据类型。 受支持的值范围为 -128 到 127。
  • 16_BIT_UNSIGNED像素类型为 16 位无符号数据类型。 取值范围为 0 到 65,535。
  • 16_BIT_SIGNED像素类型为 16 位有符号数据类型。 取值范围为 -32,768 到 32,767。
  • 32_BIT_UNSIGNED像素类型为 32 位无符号数据类型。 取值范围为 0 到 4,294,967,295。
  • 32_BIT_SIGNED像素类型为 32 位有符号数据类型。 取值范围为 -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 DAT。
  • CRF输出格式将为 CRF。
  • MRF输出格式将为 MRF。
  • NetCDF输出格式将为 NetCDF。
  • ZARR输出格式将为 Zarr。
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.management.CopyRaster('SeaSurfaceTemp.nc',"https://s3.amazonaws.com/S3Storage/seasurfacetemp","","","","","","","","", format = "CRF",'NONE',process_as_multidimensional = 'ALL_SLICES', build_multidimensional_transpose='TRANSPOSE')
    
    ##Copy 1 BIT 
    arcpy.management.CopyRaster("1bit.tif","SDE94.sde\\bit8","DEFAULTS","","","OneBitTo8Bit","","")
    
    ##Copy File RasterDataset to GDB Dataset with Background and Nodata setting
    arcpy.management.CopyRaster("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.management.CopyRaster(
	"SeaSurfaceTemp.nc", "SST_Transpose.crf","","",-3.402823e+38,"NONE","NONE","","NONE","NONE", "CRF", "NONE", "ALL_SLICES", "TRANSPOSE")

相关主题