构建金字塔和统计数据 (数据管理)

摘要

遍历文件夹结构,从而为其所包含的所有栅格数据集构建金字塔并计算统计数据。 也可以为镶嵌数据集中的所有项目构建金字塔并计算统计值。

使用情况

  • 将处理所有支持的栅格格式。

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

参数

标注说明数据类型
包括子目录
(可选)

指定是否包含子目录。

  • 未选中 - 不包括子目录。
  • 选中 - 加载时包括子目录中的所有栅格数据集。 这是默认设置。
Boolean
构建金字塔
(可选)

指定是否构建金字塔。

  • 未选中 - 不构建金字塔。
  • 选中 - 将构建金字塔。 这是默认设置。
Boolean
计算统计数据
(可选)

指定是否计算统计数据。

  • 未选中 - 不计算统计数据。
  • 选中 - 计算统计数据。这是默认设置。
Boolean
包含源数据集
(可选)

指定是为源栅格数据集计算统计数据还是为镶嵌数据集中的栅格条目构建金字塔并计算统计数据。 此选项仅适用于镶嵌数据集。

  • 未选中 - 为镶嵌数据集中的每个栅格条目(对应于属性表中的每一行)计算统计数据。 在生成统计数据前,将应用为栅格条目添加的所有函数。 这是默认设置。
  • 选中 - 计算镶嵌数据集源数据的统计数据。
Boolean
块字段
(可选)

镶嵌数据集属性表中的字段名称,用于标识在执行某些计算和操作时应被视为单一项目的多个项目。

String
估算镶嵌数据集统计数据
(可选)

指定是否计算镶嵌数据集(不是其中的栅格)的统计数据。 统计数据派生于已为镶嵌数据集中每个栅格计算的现有统计数据。

  • 未选中 - 不计算镶嵌数据集的统计数据。 这是默认设置。
  • 选中 - 为镶嵌数据集计算统计数据。
Boolean
X 跳跃因子
(可选)

样本之间水平像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的列数。默认值为 1 或者为上次使用的跳跃因子。

Long
Y 跳跃因子
(可选)

样本之间垂直像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的行数。默认值为 1 或者为上次使用的 y 跳跃因子。

Long
忽略值
(可选)

排除在统计值计算之外的像素值。

默认情况下没有值。

Long
金字塔等级
(可选)

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

可以指定的最大金字塔等级数为 29。 任何等于或大于 30 的值都将创建一组完整的金字塔。

Long
跳过第一个等级
(可选)

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

  • 未选中 - 不会跳过第一个金字塔等级,将构建该等级。 这是默认设置。
  • 选中 - 将跳过第一个金字塔等级,不会构建该等级。

Boolean
金字塔重采样技术
(可选)

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

  • 最邻近重采样时,将使用最邻近像素的值将为输出像素分配值。 这是默认设置。
  • 双线性将基于四个最邻近的输入像素中心的加权平均距离确定像素的新值。
  • 三次卷积将通过拟合穿过 16 个最邻近输入像素中心的平滑曲线确定像素的新值。
String
金字塔压缩类型
(可选)

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

  • 默认值如果使用小波压缩方法对源数据进行压缩,则将使用 JPEG 压缩类型构建金字塔;否则,将使用 LZ77。 这是默认设置。
  • LZ77 压缩用于构建金字塔的 LZ77 压缩算法。 此压缩类型可用于任意数据类型。
  • JPEG 压缩将使用 JPEG 压缩算法构建金字塔。 只有符合 JPEG 压缩规范的数据才能使用此压缩类型。 如果指定了此压缩类型,则可以设置压缩质量参数值。
  • JPEG 亮度和色度将使用有损压缩使用亮度 (Y) 和色度(Cb 和 Cr)颜色空间组件。
  • 不压缩构建金字塔时不使用任何压缩方法。
String
压缩质量(1-100)
(可选)

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

Long
跳过现有的
(可选)

指定在缺少统计数据的位置进行计算,还是重新计算全部统计数据(即使已经存在仍重新计算)。

  • 选中 - 只有当统计数据不存在时才会计算统计数据。 这是默认设置。
  • 取消选中 - 即使统计数据已经存在仍要重新计算;现有统计数据将被覆盖。
Boolean
查询定义
(可选)

用于选择要处理的栅格数据集的 SQL 表达式。

SQL Expression

派生输出

标注说明数据类型
更新的输入数据

更新的输出工作空间。

Text File; Workspace; Raster Layer; Mosaic Layer

arcpy.management.BuildPyramidsandStatistics({include_subdirectories}, {build_pyramids}, {calculate_statistics}, {BUILD_ON_SOURCE}, {block_field}, {estimate_statistics}, {x_skip_factor}, {y_skip_factor}, {ignore_values}, {pyramid_level}, {SKIP_FIRST}, {resample_technique}, {compression_type}, {compression_quality}, {skip_existing}, {where_clause})
名称说明数据类型
include_subdirectories
(可选)

指定是否包含子目录。

  • NONE不包括子目录。
  • INCLUDE_SUBDIRECTORIES加载时包括子目录中的所有栅格数据集。 这是默认设置。
Boolean
build_pyramids
(可选)

指定是否构建金字塔。

  • NONE不构建金字塔。
  • BUILD_PYRAMIDS将构建金字塔。 这是默认设置。
Boolean
calculate_statistics
(可选)

指定是否计算统计数据。

  • NONE不计算统计数据。
  • CALCULATE_STATISTICS计算统计数据。这是默认设置。
Boolean
BUILD_ON_SOURCE
(可选)

指定是为源栅格数据集计算统计数据还是为镶嵌数据集中的栅格条目构建金字塔并计算统计数据。 此选项仅适用于镶嵌数据集。

  • NONE为镶嵌数据集中的每个栅格条目(对应于属性表中的每一行)计算统计数据。 在生成统计数据前,将应用为栅格条目添加的所有函数。 这是默认设置。
  • BUILD_ON_SOURCE计算镶嵌数据集源数据的统计数据。
Boolean
block_field
(可选)

镶嵌数据集属性表中的字段名称,用于标识在执行某些计算和操作时应被视为单一项目的多个项目。

String
estimate_statistics
(可选)

指定是否计算镶嵌数据集(不是其中的栅格)的统计数据。 统计数据派生于已为镶嵌数据集中每个栅格计算的现有统计数据。

  • NONE不计算镶嵌数据集的统计数据。 这是默认设置。
  • ESTIMATE_STATISTICS将为镶嵌数据集计算统计数据。
Boolean
x_skip_factor
(可选)

样本之间水平像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的列数。默认值为 1 或者为上次使用的跳跃因子。

Long
y_skip_factor
(可选)

样本之间垂直像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的行数。默认值为 1 或者为上次使用的 y 跳跃因子。

Long
ignore_values
[ignore_value,...]
(可选)

排除在统计值计算之外的像素值。

默认情况下没有值。

Long
pyramid_level
(可选)

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

可以指定的最大金字塔等级数为 29。 任何等于或大于 30 的值都将创建一组完整的金字塔。

Long
SKIP_FIRST
(可选)

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

  • NONE不会跳过第一个金字塔等级,将构建该等级。 这是默认设置。
  • SKIP_FIRST将跳过第一个金字塔等级,不会构建该等级。
Boolean
resample_technique
(可选)

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

  • NEAREST重采样时,将使用最邻近像素的值将为输出像素分配值。 这是默认设置。
  • BILINEAR将基于四个最邻近的输入像素中心的加权平均距离确定像素的新值。
  • CUBIC将通过拟合穿过 16 个最邻近输入像素中心的平滑曲线确定像素的新值。
String
compression_type
(可选)

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

  • DEFAULT如果使用小波压缩方法对源数据进行压缩,则将使用 JPEG 压缩类型构建金字塔;否则,将使用 LZ77。 这是默认设置。
  • LZ77用于构建金字塔的 LZ77 压缩算法。 此压缩类型可用于任意数据类型。
  • JPEG将使用 JPEG 压缩算法构建金字塔。 只有符合 JPEG 压缩规范的数据才能使用此压缩类型。 如果指定了此压缩类型,则可以设置压缩质量参数值。
  • JPEG_YCBCR将使用有损压缩使用亮度 (Y) 和色度(Cb 和 Cr)颜色空间组件。
  • NONE构建金字塔时不使用任何压缩方法。
String
compression_quality
(可选)

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

Long
skip_existing
(可选)

指定在缺少统计数据的位置进行计算,还是重新计算全部统计数据(即使已经存在仍重新计算)。

  • SKIP_EXISTING只有当统计数据不存在时才会计算统计数据。 这是默认设置。
  • OVERWRITE即使统计数据已经存在仍要重新计算;现有统计数据将被覆盖。
Boolean
where_clause
(可选)

用于选择要处理的栅格数据集的 SQL 表达式。

SQL Expression

派生输出

名称说明数据类型
out_workspace

更新的输出工作空间。

Text File; Workspace; Raster Layer; Mosaic Layer

代码示例

BuildPyramidsAndStatistics 示例 1(Python 窗口)

这是 BuildPyramidsAndStatistics 工具的 Python 示例。

import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.env.pyramid = "PYRAMIDS 3 BILINEAR JPEG"
arcpy.env.rasterStatistics = "STATISTICS 4 6 (0)"
arcpy.BuildPyramidsandStatistics_management("folder", "INCLUDE_SUBDIRECTORIES",
                                            "BUILD_PYRAMIDS", "CALCULATE_STATISTICS")
BuildPyramidsAndStatistics 示例 2(独立脚本)

这是 BuildPyramidsAndStatistics 工具的 Python 脚本。

##====================================
##Build Pyramids and Statistics
##Usage: BuildPyramidsandStatistics_management in_workspace {INCLUDE_SUBDIRECTORIES
##                                                 | NONE} {BUILD_PYRAMIDS | NONE}
##                                                 {CALCULATE_STATISTICS | NONE}
    
try:
    import arcpy
    arcpy.env.workspace = r"C:/Workspace"

    ##Define parameters for build pyramids and calculate statitics in environment setting
    arcpy.env.pyramid = "PYRAMIDS 3 BILINEAR JPEG"
    arcpy.env.rasterStatistics = "STATISTICS 4 6 (0)"
    
    ##Build pyramids and calculate statistics for all raster in a folder
    arcpy.BuildPyramidsandStatistics_management("folder", "INCLUDE_SUBDIRECTORIES",
                                                "BUILD_PYRAMIDS", "CALCULATE_STATISTICS")
    
    ##Build pyramids and calculate statistics for all raster in a GDB
    arcpy.BuildPyramidsandStatistics_management("fgdb.gdb", "INCLUDE_SUBDIRECTORIES",
                                                "BUILD_PYRAMIDS", "CALCULATE_STATISTICS")
    
    ##Build pyramids and calculate statistics for all raster in a Mosaic Dataset
    arcpy.BuildPyramidsandStatistics_management("fgdb.gdb/md", "INCLUDE_SUBDIRECTORIES",
                                                "BUILD_PYRAMIDS", "CALCULATE_STATISTICS")

except:
    print "Build Pyramids and Statistics example failed."
    print arcpy.GetMessages()

相关主题