Skip to main content

压缩 (环境设置)

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

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

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-bit pixel depth—LZ77、LERC、JPEG、JPEG_YCbCr、JPEG2000、PackBits、LZW、RLE

    • 16-bit pixel depth—LZ77、LERC、JPEG2000、LZW、RLE。

    注:

    JPEG 支持 16 位,但仅在 12 位数据范围内有效。

    PackBits 支持 1 位到 8 位数据。 LZ77、LZW 和 RLE 支持任何像素深度。 对于 LERC,随着像素深度的增加,压缩算法的效率也将增加。 CCITT_G3、CCITT_G4、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 意味着将使用无损压缩。

Python 语法

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 意味着将使用无损压缩。

value 可选。

脚本语法

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"