批量构建金字塔 (数据管理)

描述

为多个栅格数据集构建金字塔。

使用方法

  • 构建金字塔可以改善栅格数据集的显示性能。

  • 如果栅格数据集构成了很大的目录但没有金字塔,或者要对镶嵌数据集的各项构建金字塔(将这些项拖入对话框中),则批量构建金字塔十分有用。

  • 小波压缩栅格数据集(如 ECW 和 MrSID)无需构建金字塔。这些格式具有编码时创建的内部金字塔。

  • 对于行或列中的像素少于 1,024 像素的栅格数据集,将不会为其构建金字塔。由于该栅格数据集足够小,所以无需金字塔;且构建金字塔也将无助于提高性能。

  • 可在栅格存储环境中为金字塔概述文件选择压缩类型。压缩操作将创建一个较小的 .ovr 文件。IMAGINE 格式和较早版本的 ArcGIS 将创建递减分辨率数据集 (.rrd) 文件,这些文件不支持压缩。

  • 默认情况下,金字塔压缩将根据给定的数据类型使用最佳的压缩类型。也可以手动选择压缩方法:LZ77JPEG 或无压缩。

语法

arcpy.management.BatchBuildPyramids(Input_Raster_Datasets, {Pyramid_levels}, {Skip_first_level}, {Pyramid_resampling_technique}, {Pyramid_compression_type}, {Compression_quality}, {Skip_Existing})
参数说明数据类型
Input_Raster_Datasets
[input_raster_dataset,...]

要构建栅格金字塔的栅格数据集。

每个输入数据集的行数和列数都应超过 1024 个。

Raster Dataset
Pyramid_levels
(可选)

选择将构建的递减分辨率数据集图层的数量。默认值为 -1,将构建完整的金字塔。值为 0 时,将不会获得金字塔等级。

Long
Skip_first_level
(可选)

选择是否跳过第一个金字塔等级。跳过第一个等级将略微降低占用的磁盘空间大小,但将降低这些比例的性能。

  • NONE将构建第一个金字塔等级。这是默认设置。
  • SKIP_FIRST不构建第一个金字塔等级。
Boolean
Pyramid_resampling_technique
(可选)

用于构建金字塔的重采样技术。

  • NEAREST重采样时,最邻近重采样法使用最近像元的值作为输出像元的分配值。这是默认设置。
  • BILINEAR双线性插值重采样法基于四个最邻近的输入像元中心的加权平均距离来确定像元的新值。
  • CUBIC三次卷积插值重采样法通过拟合穿过 16 个最邻近输入像元中心的平滑曲线来确定像元的新值。
String
Pyramid_compression_type
(可选)

构建栅格金字塔时使用的压缩类型。

  • DEFAULT如果使用小波压缩方法对源数据进行压缩,则将使用 JPEG 压缩类型构建金字塔;否则,将使用 LZ77。这是默认压缩方法。
  • LZ77将使用 LZ77 压缩算法来构建金字塔。LZ77 可用于任意数据类型。
  • JPEG用于构建金字塔的 JPEG 压缩算法。只有符合 JPEG 压缩规范的数据才能使用此压缩类型。如果选择 JPEG,则可以设置压缩质量。
  • NONE构建金字塔时不使用任何压缩方法。
String
Compression_quality
(可选)

使用 JPEG 压缩方法构建金字塔时使用的压缩质量。该值必须介于 0 到 100 之间 值越接近 100,图像质量越高,但压缩比越低。

Long
Skip_Existing
(可选)

指定是仅在缺少金字塔的地方构建金字塔,还是即使金字塔已存在仍然要重新生成金字塔。

  • OVERWRITE即使金字塔已经存在仍将构建金字塔。因此,将覆盖已有的金字塔。这是默认设置。
  • SKIP_EXISTING仅当金字塔不存在时才构建金字塔。
Boolean

派生输出

名称说明数据类型
Batch_Build_Pyramids_Succeeded

返回工具是否成功执行的消息。

布尔型

代码示例

BatchBuildPyramids 示例 1(Python 窗口)

这是 BatchBuildPyramids 工具的 Python 示例。

import arcpy
arcpy.BatchBuildPyramids_management(
     "C:/data/img1.tif;C:/data/img2.img", "6", "SKIP_FIRST",
      "BILINEAR", "JPEG", "50", "SKIP_EXISTING")
BatchBuildPyramids 示例 2(独立脚本)

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

#Build Pyramids for multiple raster datasets in the workspace
#Skip the dataset that already has pyramid
#Build pyramids with compression and level setting

import arcpy
arcpy.env.workspace = "C:/Workspace"

    
inras = "image1.tif;image2.img;fgdb.gdb/image3"
pylevels = "6"
skipfirst = "SKIP_FIRST"
resample = "BILINEAR"
compress = "JPEG"
quality = "80"
skipexist = "SKIP_EXISTING"

arcpy.BatchBuildPyramids_management(
     inras, pylevels, skipfirst, resample, compress,
     quality, skipexist)

环境

金字塔

金字塔等级、金字塔压缩和重采样方法不适用于 IMG 格式。

许可信息

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

相关主题