栅格存储环境

您可使用栅格存储环境调整默认压缩类型、金字塔创建和计算统计数据的默认设置、默认切片大小、默认重采样方法以及处理栅格的地理处理工具的 NoData 映射方法。

扩展模块工具箱(例如 3D AnalystGeostatistical AnalystArcGIS Image Analyst)不支持所有栅格存储设置。 有关受支持环境的详细信息,请参阅各工具的帮助主题。

并非所有环境都适用于所有存储类型。 有关详细信息,请参阅下方的栅格存储矩阵。 文件组 2 由 ERDAS IMAGINE 文件组成。 所有其余受 ArcGIS 支持的栅格文件格式都属于文件组 1。

栅格存储矩阵

存储设置文件组 1文件组 2文件地理数据库企业级地理数据库

金字塔

yes

OVR 文件

yes

RRD 类型

yes

yes

重采样

yes

yes

yes

yes

Levels

yes

yes

yes

yes

跳过第一个

yes

no

yes

yes

栅格统计

yes

yes

yes

yes

跳跃因子

yes

yes

yes

yes

忽略值

yes

yes

yes

yes

压缩

yes

yes

RLE 压缩

yes

yes

LZ77

yes

no

yes

yes

JPEG

yes

no

yes

yes

JPEG 2000

yes

no

yes

yes

切片大小

仅限于 TIFF

no

yes

yes

栅格存储矩阵
注:

压缩取决于文件格式的类型。 有关支持压缩的文件格式,请参阅栅格文件格式

文件和企业级地理数据库仅支持 LZ77、JPEG、JPEG2000 和 NONE 压缩类型。

金字塔环境

金字塔采用分辨率递减的形式表示数据集。 它们可以通过仅检索指定分辨率所需的数据来加快栅格数据集的显示。 默认情况下,通过对原始数据重采样来为栅格数据集创建金字塔。 有三种重采样方法可供使用:最邻近法、双线性和三次卷积。

如果取消选中构建金字塔复选框,将不会使用输出栅格创建金字塔。 不构建金字塔可以节省存储空间,但这将导致显示速度变慢,在使用较大的栅格数据集时更是如此。

您可以跳过第一个金字塔等级。 跳过第一个金字塔等级将节省一些磁盘空间,但在查看小比例时,会降低显示速度。 或者,可以定义等级的数量,但是这可能会影响以非常大的比例进行查看时的速度。

默认重采样方法为最邻近法。 此方法适用于任何类型的栅格数据集。 最邻近法用于包含色彩映射表的名目数据或栅格数据集,例如,土地利用数据、扫描地图与假彩色图像。 对于卫星影像或航空摄影等连续数据,请使用双线性插值法或三次卷积插值法。

如果将栅格金字塔构建为概视图 (OVR),则可以使用 LZ77 或 JPEG 来压缩金字塔。 如果只能将金字塔构建为分辨率递减的数据集,则没有其他可用的压缩选项。

栅格统计数据环境

借助栅格统计数据环境,可以为输出栅格数据集构建统计数据。 使用栅格数据集在 ArcGIS Pro 中执行某些任务(例如应用对比度拉伸或分类数据)时,需要为栅格数据集构建统计数据。 如果尚未计算统计数据,也不必构建统计数据,因为会在首次需要时进行计算。 但是,如果您希望使用某些需要统计数据的要素,建议您在使用之前计算栅格数据集的统计数据。 在大多数情况下,如果已计算统计数据,则栅格的默认显示会得到改进,因为如果存在统计数据,则会应用标准差拉伸。

通过设置跳跃因子,可以跳过一些像素,从而可加快统计数据的计算过程。 跳跃因子不适用于格网数据集。

设置为忽略的值不会参与统计数据计算。 通常,可以忽略背景的值。

压缩环境

压缩环境用于输出为栅格数据集的工具。 存在 9 种可用于地理处理工具的压缩方法。 当将栅格加载到地理数据库时,可采用其中的四种压缩方法:LZ77、JPEG、JPEG 2000 和 NONE。

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

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

LZ77

任何像素深度。

LERC

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

JPEG

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

JPEG_YCbCr

JPEG2000

PackBits

1 位到 8 位数据。

LZW

任何像素深度。

RLE

任何像素深度。

CCITT_G3

仅适用于 1 位数据。

CCITT_G4

仅适用于 1 位数据。

CCITT_1D

仅适用于 1 位数据。

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

LZ77(默认值)为保留所有栅格像元值的无损压缩。 它将使用与 PNG 图像格式相同的压缩算法以及一种类似于 ZIP 压缩的算法。 由于像素在进行压缩时不会更改其值,因此,请使用 LZ77 执行视觉或算法分析。

JPEG 是一种有损压缩,因此使用 JPEG 是因为在压缩和解压缩后可能无法保留栅格像元值。 它将使用公共域 JPEG (JFIF) 压缩算法,仅适用于无符号 8 位栅格数据(单波段灰度或三波段栅格数据)。

JPEG_YCbCr 是一种使用亮度 (Y) 和色度(Cb 和 Cr)颜色空间组件的有损压缩。

由于 JPEG 2000 采用小波压缩技术压缩栅格,因此栅格在视觉上是无损的。这意味着尽管像元值经过处理,但是很难对原始栅格与压缩栅格进行分辨。 对作为图片或背景影像的栅格使用 JPEG 或 JPEG 2000。

如果选择 JPEG 或 JPEG 2000,则您还可以通过设置压缩质量来控制压缩算法所造成的影像质量损失。 一个压缩质量较高的压缩影像的像素值会接近于原始影像的像素值。 JPEG 压缩质量的有效值范围介于 5 到 95 之间。 JPEG 2000 的有效值范围介于 1 到 100 之间。 默认的压缩质量是 75。 压缩量取决于数据和压缩质量。 同类数据越多,压缩比就越高。 压缩质量越低,压缩比越高。 与无损压缩相比,有损压缩通常会得到更高的压缩比。

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

切片大小环境

创建栅格数据集并存储在块中的工具使用切片大小环境。

默认切片大小为 128 x 128,适用于大多数情况。 但是,如果切片大小过大,则每次访问数据时,都将显示比所需数据更多的数据。 例如,您希望显示一个 100 x 100 的窗口,该窗口仅覆盖一个切片。 如果将切片大小设置为 512,则需要获得一个 512 x 512 像素的切片。 当切片大小设置为 128 x 128 时,如果显示窗口为 100 x 100,则将显示较少的额外数据。

重采样方法环境

重采样是在变换栅格数据集时内插像素值的过程。 将在以下情况下使用重采样:输入和输出排列不对应、像素大小发生变化、数据被平移或以上原因的综合。

  • 最邻近 - 执行最邻近分配法,是速度最快的插值方法。 此选项主要用于离散数据(如土地利用分类),因为它不会更改像元的值。 最大空间误差将是像元大小的一半。
  • 双线性 - 执行双线性插值并基于四个最邻近的输入像元中心的加权平均距离来确定像元的新值。 这对连续数据非常有用并且会对数据进行一些平滑处理。
  • 三次卷积 - 执行三次卷积插值法,可通过拟合穿过 16 个最邻近输入像元中心的平滑曲线确定像元的新值。 此选项适用于连续数据,尽管所生成的输出栅格可能会包含输入栅格范围以外的值。 如果无法接受此结果,请转而使用 Bilinear 选项。 与通过运行最邻近重采样算法获得的栅格相比,三次卷积插值法的输出的几何变形程度较小。 三次卷积选项的缺点是需要更多的处理时间。

NoData 环境

当必须将来自输入的 NoData 值传递到输出栅格时,可使用此环境。 可以通过该设置指定在输出中用作 NoData 值的值。

  • - 将不存在任何 NoData 值规则。 如果输入和输出具有相同的值范围,则将传输 NoData 且不进行任何更改。 但是,如果值范围有所改变,则 NoData 在输出中将没有值。 这是默认方法。
  • 最大值 - 输出数据范围中的最大值可用作 NoData 值。
  • 最小值 - 输出数据范围中的最小值可用作 NoData 值。
  • 向上映射值 - 提升范围中的最低值,且最低值将变为 NoData。 如果数据无符号,零值会变为一、NoData 值将为零,其余值保持不变。 如果数据有符号,则会提升范围中的最低值,且最低值将变为 NoData。 例如,对于 8 位有符号的整型数据,-127 会变为 -126 且 NoData 值将为 -127。
  • 向下映射值 - NoData 值将为数据范围中的最大值,数据范围中的最高值会变为一个较低的值,而其余的值保持不变。 例如,对于 8 位无符号的整型数据,NoData 值将为 255,值 255 会变为 254,其余值保持不变。
  • 提升 - 如果 NoData 值超出了输入的数据范围,输出的像素深度可能会提升到下一个可用级别,NoData 会采用新数据范围内的最大值。 例如,需要将值 256 作为 NoData 的 8 位无符号的整数数据集,将提升到 16 位数据集,并且最大值将变为 NoData。 如果要写入到输出的 NoData 值位于输入的数据范围内,或没有任何 NoData,则不会提升像素深度。

    如果 NoData 值超出输入的数据范围,则像素深度会提升到下一个可用级别,且 NoData 值将为已指定的值。 例如,需要 256 作为 NoData 的 8 位无符号整型数据集会提升为 16 位数据集,且 256 会变为 NoData 值。 如果指定的 NoData 值位于输入数据范围内,则不会提升输出的像素深度。