栅格金字塔
金字塔可用于改善性能。它们是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。金字塔的各个连续图层均以 2:1 的比例进行缩减采样。以下是为栅格数据集创建的两级金字塔示例:
金字塔通过仅检索使用指定分辨率(取决于显示要求)的数据,可以加快栅格数据的显示速度。利用金字塔,可在绘制整个数据集时快速显示较低分辨率的数据副本。而随着放大操作的进行,各个更精细的分辨率等级将逐渐得到绘制;但性能将保持不变,因为您在连续绘制更小的各个区域。数据库服务器会根据用户的显示比例自动选择最适合的金字塔等级。如果不使用金字塔 (pyramid),则必须从磁盘中读取整个数据集,然后将其重采样为更小的大小。这便称为“显示重采样”,发生在刷新 ArcGIS 显示内容时。
每个栅格数据集只需构建一次金字塔,之后每次查看栅格数据集时都会访问这些金字塔。栅格数据集越大,创建金字塔集所花费的时间就越长。但是,这也就意味着可以为将来节省更多的时间。
尽管无法为栅格目录构建金字塔,但是可以为栅格目录中的每个栅格数据集构建金字塔。镶嵌数据集与栅格目录类似。您可以为镶嵌数据集中的每个栅格数据集构建金字塔;而为镶嵌数据集构建金字塔时只能使用镶嵌数据集工具集中的特定工具。
金字塔文件
金字塔存储在单独的文件中,该文件通常位于源栅格旁边。金字塔文件共有两种类型:金字塔 (.ovr) 和分辨率降低的数据集 (.rrd)。这两种类型的金字塔文件 ArcGIS 均可读取,但是只能写入 .ovr 文件(少数例外情况将在下文中予以介绍)。
.rrd 文件针对 ERDAS IMAGINE 文件而创建。
.ovr 文件由 ArcGIS 版本 10 或更高版本创建和使用。.ovr 文件的一个增强功能是可以使用 LZ77 或 JPEG 压缩方案进行压缩。请切记,JPEG 压缩只适用于可根据 JPEG 规范存储数据的文件类型。如果选择 JPEG 金字塔,还可以指定 JPEG 金字塔的压缩质量。
金字塔 (overview) 文件的大小大约是原始未压缩文件的 8%。如果金字塔文件经过压缩,.ovr 文件可能会更小(如 2%)。由于压缩依赖于数据的类似程度,因此很难估算 .ovr 文件的大小。
以下是各金字塔等级下栅格数据集存储大小增加情况的示例(根据不同的压缩类型)。等级 0 表示原始栅格数据集。
级别 |
无压缩 |
LZ77 压缩 |
JPEG 压缩 |
---|---|---|---|
0 |
1.0 GB |
1.0 GB |
1.0 GB |
1 |
1.0655 GB |
1.0483 GB |
1.0133 GB |
2 |
1.0824 GB |
1.0606 GB |
1.0169 GB |
3 |
1.0866 GB |
1.0637 GB |
1.0179 GB |
4 |
1.0877 GB |
1.0645 GB |
1.0182 GB |
5 |
1.0880 GB |
1.0647 GB |
1.0183 GB |
6 |
1.0881 GB |
1.0647 GB |
1.0183 GB |
小波压缩栅格文件格式(如 JPEG 2000、ECW 和 MrSID)具有内部金字塔。这通常意味着无法使用 ArcGIS 创建金字塔;但是,您可以为 JPEG 2000 创建金字塔。另外,采用小波压缩的地理数据库栅格也可以构建金字塔。
通常不建议对军事数据构建金字塔。有关详细信息,请参阅创建军事数据并将其添加至镶嵌数据集。
金字塔重采样方法
有三种金字塔重采样方法可供使用:最邻近法、双线性和双三次卷积。最邻近法是默认采用的方法,通常适用于任意类型的栅格数据集。但是,建议对带有色彩映射表的离散(标称)数据或栅格数据集(如土地利用数据、经过扫描的地图和伪彩色图像)应用最邻近法。对于连续数据(如卫星影像或航空摄影),应使用双线性插值法或双三次卷积法。尽管双线性插值法执行速度更快,但是得到的结果却不如双三次卷积法的结果锐利。对于 1 位 TIFF 或 IMG,建议使用双线性插值法。
镶嵌和栅格数据集原点
在 ArcSDE 地理数据库或文件地理数据库中镶嵌栅格数据时,可在栅格数据镶嵌到栅格数据集的过程中为栅格数据集构建金字塔,也可以在加载完成后构建金字塔。ArcGIS 允许构造部分金字塔,即在执行镶嵌操作期间仅重新构建与源数据重叠的那部分金字塔。这在更新已镶嵌栅格数据集时大有裨益,因为添加新栅格数据集后,无需为整个栅格数据集重新构建金字塔。但是,如果更新的是栅格数据集原点(金字塔的参考点)处的数据,则需要为整个栅格数据集重新构建金字塔。
栅格数据集的原点即为栅格数据集左上角的坐标。金字塔的构造始于该坐标,然后向右、向下持续进行。如果从栅格数据集的原点开始向左或向上镶嵌数据,ArcSDE 需要变换原点,以使原点仍位于左上角。变换现有栅格数据集的原点后,ArcSDE 需要重新构建金字塔。重新构建金字塔的操作可能非常耗时,尤其是在大量栅格数据集源文件(或其他栅格数据集)已经镶嵌到栅格数据集中从而使该栅格数据集变大的情况下更是如此。
由于重新构建金字塔操作非常耗时,因此应该通过分析源数据来识别出栅格数据集左上角栅格的坐标,然后在创建栅格数据集时输入该坐标。您在创建栅格数据集时自行设置了金字塔参考点的 x 坐标和 y 坐标(请参阅创建栅格数据集),而并没有使用所插入第一个栅格数据集的左上角坐标。因此便可以通过在创建栅格数据集时设置金字塔的参考点来避免变换栅格数据集的原点。