压缩(环境设置)

支持“压缩”环境的工具将在存储输出栅格数据集时设置压缩类型

压缩数据的主要优点是压缩后的数据所需的存储空间较小,并且因为传输的信息更少,会加快数据的显示。

ArcGIS 可以存储以下几种格式的压缩数据:IMG、JPEG、JPEG 2000、TIFF、Esri Grid 或地理数据库中的压缩数据。在地理数据库中存储数据时,会在存储之前对数据块进行压缩。

数据压缩的方式可以为有损压缩(JPEG 和 JPEG 2000)或无损压缩(LZ77、PackBits 和 CCITT)。无损压缩意味着栅格数据集中的像元值不会发生更改或丢失。如果栅格数据集的像素值将用于分析或派生其他数据产品,则应选择无损压缩或无压缩。

压缩量取决于数据和压缩质量。 同类数据越多,压缩比就越高。 压缩质量越低,压缩比越高。 与无损压缩相比,有损压缩通常会产生较高的压缩比。

用法说明

  • 在地理数据库中存储数据时,压缩发生于在地理数据库中进行存储之前。
  • 文件和企业级地理数据库仅支持 LZ77、JPEG、JPEG2000 和 NONE 压缩类型。
  • JPEG 压缩仅用于 8 位无符号栅格数据和 12 位无符号栅格数据(以 16 位数据形式存储)。
  • 如果选择 JPEG、JPEG_YCbCr 或 JPEG2000,您也可以设置压缩质量来控制影像由于压缩算法而损失的画质。 一个压缩质量较高的压缩影像的像素值会接近于原始影像的像素值。 压缩质量的有效值范围是 1 到 100。 默认的压缩质量是 75。 如果未明确设置压缩质量的值,将使用默认值。
  • 默认的压缩类型是 LZ77,该类型适用于所有类型的栅格数据。
  • LERC 压缩是一种图像压缩方法,可根据众多块统计(包括最大允许误差)将栅格分为多个像素块,其中每个像素均可进行量化并按位填充。 最大误差代表适用于每个像素的容差值(并非图像的平均值)。
  • 下表汇总了每种像素深度的有效压缩类型:

    每种像素深度的有效压缩类型

    压缩像素深度(8 位)像素深度(16 位)其他信息

    LZ77

    任何像素深度。

    LERC

    随着像素深度的增加,压缩算法的效率也将增加。

    JPEG

    仅限以 16 位数据形式存储的 12 位数据

    JPEG_YCbCr

    JPEG2000

    PackBits

    1 位到 8 位数据。

    LZW

    任何像素深度。

    RLE

    任何像素深度。

    CCITT_G3

    仅适用于 1 位数据。

    CCITT_G4

    仅适用于 1 位数据。

    CCITT_1D

    仅适用于 1 位数据。

    每种像素深度的有效压缩类型
  • 此设置用于在 ArcGIS 中创建栅格数据集的工具。

对话框语法

  • 压缩 - 选择存储数据时要使用的压缩方法。
    • LZ77 - 保留所有栅格像元值的无损压缩。 这是默认设置。
    • LERC - 是一种无损或有损压缩,可根据众多块统计(包括最大允许误差)将栅格分为多个像素块,其中每个像素均可进行量化并按位填充。
    • JPEG - 使用公共 JPEG 压缩算法的有损压缩。 如果选择 JPEG,还可以指定压缩质量。 压缩质量的有效值范围是 0 到 100,其中 75 是默认值。 这种压缩方式可用于 .jpeg 文件、.tiff 文件和地理数据库。
    • JPEG2000 - 采用了小波技术,因此栅格在外观上看没有损失。 如果选择 JPEG2000,还可以指定压缩质量。 压缩质量的有效值范围是 0 到 100,其中 75 是默认值。 这种压缩方式可用于 JPEG 2000 文件和地理数据库。
    • PackBits - 用于 .tiff 文件的 PackBits 压缩。
    • LZW - 保留所有栅格像元值的无损压缩。
    • RLE - 用于 .img 文件的游程编码。
    • CCITT_G3 - 用于 1 位数据的无损压缩。
    • CCITT_G4 - 用于 1 位数据的无损压缩。
    • CCITT_1D - 用于 1 位数据的无损压缩。
    • JPEG_YCbCr - 使用亮度 (Y) 和色度(Cb 与 Cr)颜色空间组件进行的无损压缩。 如果选择 JPEG_YCbCr,还可以指定压缩质量。 压缩质量的有效值范围是 0 到 100,其中 75 是默认值。
    • NONE - 不进行压缩。
  • 压缩质量 (1-100) - 选择 JPEGJPEG_YCbCrJPEG2000 压缩方式时,还必须指定压缩质量。 压缩质量的有效值范围是 1 到 100,其中 75 是默认值。
  • 最大错误 - 选择 LERC 压缩方式时,还必须指定最大错误,其单位与栅格分辨率相同。 最大错误为 0.000000 意味着将使用无损压缩。

脚本语法

arcpy.env.compression = "compression_type {value}"

参数说明

compression_type(必填)

  • LZ77 - 保留所有栅格像元值的无损压缩。 这是默认设置。
  • LERC - 是一种无损或有损压缩,可根据众多块统计(包括最大允许误差)将栅格分为多个像素块,其中每个像素均可进行量化并按位填充。
  • JPEG - 使用公共 JPEG 压缩算法的有损压缩。 如果选择 JPEG,还可以指定压缩质量值。 这种压缩方式可用于 .jpeg 文件、.tiff 文件和地理数据库。

    压缩质量的有效值范围是 0 到 100,其中 75 是默认值。

  • JPEG2000 - 采用了小波技术,因此栅格在外观上看没有损失。 如果选择 JPEG2000,还可以指定压缩质量值。 这种压缩方式可用于 JPEG 2000 文件和地理数据库。

    压缩质量的有效值范围是 0 到 100,其中 75 是默认值。

  • PackBits - 用于 .tiff 文件的 PackBits 压缩。
  • LZW - 保留所有栅格像元值的无损压缩。
  • RLE - 用于 .img 文件的游程编码。
  • CCITT_G3 - 用于 1 位数据的无损压缩。
  • CCITT_G4 - 用于 1 位数据的无损压缩。
  • CCITT_1D - 用于 1 位数据的无损压缩。
  • JPEG_YCbCr - 使用亮度 (Y) 和色度(Cb 与 Cr)颜色空间组件进行的无损压缩。 如果选择 JPEG_YCbCr,还可以指定压缩质量。 压缩质量的有效值范围是 0 到 100,其中 75 是默认值。
  • NONE - 不进行压缩。

value(可选)

当选择 JPEGJPEG2000 压缩方式时,还必须指定压缩质量。 压缩质量的有效值范围是 1 到 100,其中 75 是默认值。

选择 LERC 压缩方式时,还必须指定最大错误,其单位与栅格分辨率相同。 最大错误为 0.000000 意味着将使用无损压缩。

compression 语法

脚本示例

import arcpy

# Set the compression environment to LZ77
arcpy.env.compression = "LZ77"

# Set the compression environment to JPEG with a quality of 80
arcpy.env.compression = "JPEG 80"