支持“压缩”环境的工具将在存储输出栅格数据集时设置压缩类型
压缩数据的主要优点是压缩后的数据所需的存储空间较小,并且因为传输的信息更少,会加快数据的显示。
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) - 选择 JPEG、JPEG_YCbCr 或 JPEG2000 压缩方式时,还必须指定压缩质量。 压缩质量的有效值范围是 1 到 100,其中 75 是默认值。
- 最大错误 - 选择 LERC 压缩方式时,还必须指定最大错误,其单位与栅格分辨率相同。 最大错误为 0.000000 意味着将使用无损压缩。
脚本语法
arcpy.env.compression = "compression_type {value}"
参数 | 说明 |
---|---|
compression_type(必填) |
|
value(可选) | 当选择 JPEG 或 JPEG2000 压缩方式时,还必须指定压缩质量。 压缩质量的有效值范围是 1 到 100,其中 75 是默认值。 选择 LERC 压缩方式时,还必须指定最大错误,其单位与栅格分辨率相同。 最大错误为 0.000000 意味着将使用无损压缩。 |
脚本示例
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"