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