支持“压缩”环境设置的工具将在存储输出栅格数据集时设置压缩类型。
压缩数据的主要优点是压缩后的数据所需的存储空间较小,并且因为传输的信息更少,会加快数据的显示。
ArcGIS 可以存储以下几种格式的压缩数据:IMG、JPEG、JPEG 2000、TIFF、Esri Grid 或地理数据库中的压缩数据。在地理数据库中存储数据时,会在存储之前对数据块进行压缩。
数据压缩的方式可以为有损压缩(JPEG 和 JPEG 2000)或无损压缩(LZ77、PackBits 和 CCITT)。无损压缩意味着栅格数据集中的像元值不会发生更改或丢失。如果栅格数据集的像素值将用于分析或派生其他数据产品,则应选择无损压缩或无压缩。
压缩量取决于数据和压缩质量。同类数据越多,压缩比就越高。压缩质量越低,压缩比越高。与无损压缩相比,有损压缩通常会产生较高的压缩比。
用法说明
- 在地理数据库中存储数据时,先进行压缩再将数据存储到地理数据库中。
- JPEG 压缩仅用于 8 位无符号栅格数据和 12 位无符号栅格数据(以 16 位数据形式存储)。
- 如果选择 JPEG、JPEG_YCbCr 或 JPEG 2000,还可以通过设置压缩质量来控制压缩算法所造成的影像质量损失。一个压缩质量较高的压缩影像的像素值会接近于原始影像的像素值。压缩质量的有效值范围是 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) - 选择 JPEG、JPEG_YCbCr 或 JPEG2000 压缩方式时,还需要指定压缩质量。压缩质量的有效值范围是 1 到 100,其中 75 是默认值。
脚本语法
arcpy.env.compression = "compression_type {value}"
参数 | 说明 |
---|---|
compression_type(必选) |
|
value(可选) | 当选择 JPEG 或 JPEG2000 压缩方式时,还需要指定压缩质量。压缩质量的有效值范围是 1 到 100,其中 75 是默认值。 |
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"