arcgis中的栅格数据的金字塔详解

  1 栅格金字塔定义

  金字塔可用于改善性能。它们是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。金字塔的各个连续图层均以 2:1 的比例进行缩减采样。以下是为栅格数据集创建的两级金字塔示例:

  

  图 1?1金字塔示例

  金字塔通过仅检索使用指定分辨率(取决于显示要求)的数据,可以加快栅格数据的显示速度。利用金字塔,可在绘制整个数据集时快速显示较低分辨率的数据副本。而随着放大操作的进行,各个更精细的分辨率等级将逐渐得到绘制;但性能将保持不变,因为您在连续绘制更小的各个区域。数据库服务器会根据用户的显示比例自动选择最适合的金字塔等级。如果不使用金字塔 (pyramid),则必须从磁盘中读取整个数据集,然后将其重采样为更小的大小。这便称为“显示重采样”,发生在刷新 ArcGIS 显示内容时。

  每个栅格数据集只需构建一次金字塔,之后每次查看栅格数据集时都会访问这些金字塔。栅格数据集越大,创建金字塔集所花费的时间就越长。但是,这也就意味着可以为将来节省更多的时间。

  尽管无法为栅格目录构建金字塔,但是可以为栅格目录中的每个栅格数据集构建金字塔。镶嵌数据集与栅格目录类似。您可以为镶嵌数据集中的每个栅格数据集构建金字塔;而为镶嵌数据集构建金字塔时只能使用镶嵌数据集工具集中的特定工具。

  2 金字塔文件

  金字塔存储在单独的文件中,该文件通常位于源栅格旁边。金字塔文件共有两种类型:金字塔 (.ovr) 和分辨率降低的数据集 (.rrd)。这两种类型的金字塔文件 ArcGIS 均可读取,但是只能写入 .ovr 文件(少数例外情况将在下文中予以介绍)。

  .rrd 文件针对 ERDAS IMAGINE 文件而创建。

  .ovr 文件由 ArcGIS 版本 10 或更高版本创建和使用。

  通常情况下,对于栅格数据集(rasterdataset)创建rdd文件,对于镶嵌数据集(mosaicdataset)创建ovr文件。

  下面分别来详解两种类型的金字塔文件。

  2.1 OVR文件

  金字塔 (.ovr) 文件是用于存储栅格数据集的金字塔 (pyramid) 图层的最新格式。满足以下条件时,即可创建 .ovr 文件:

  文件格式不是 ERDAS IMAGINE (.img) 文件。

  使用 ArcGIS 10 或更高版本构建金字塔 (pyramid)。

  与 .rrd 文件相比,.ovr 文件的优势之一在于您可以控制压缩类型和金字塔的质量。

  .ovr 文件的一个增强功能是可以使用 LZ77 或 JPEG 压缩方案进行压缩。请切记,JPEG 压缩只适用于可根据 JPEG 规范存储数据的文件类型。如果选择 JPEG 金字塔,还可以指定 JPEG 金字塔的压缩质量。

  金字塔 (overview) 文件的大小大约是原始未压缩文件的 8%。如果金字塔文件经过压缩,.ovr 文件可能会更小(如 2%)。由于压缩依赖于数据的类似程度,因此很难估算 .ovr 文件的大小。

  以下是各金字塔等级下栅格数据集存储大小增加情况的示例(根据不同的压缩类型)。等级 0 表示原始栅格数据集。

  表 1 OVR文件大小

  

  注意:小波压缩栅格文件格式(如 JPEG 2000、ECW 和 MrSID)具有内部金字塔。这通常意味着无法使用 ArcGIS 创建金字塔;但是,您可以为 JPEG 2000 创建金字塔。另外,采用小波压缩的地理数据库栅格也可以构建金字塔。

  注意:通常不建议对军事数据构建金字塔。有关详细信息,请参阅创建军事数据并将其添加至镶嵌数据集。

  在 ArcSDE 地理数据库或文件地理数据库中镶嵌栅格数据时,可在栅格数据镶嵌到栅格数据集的过程中为栅格数据集构建金字塔,也可以在加载完成后构建金字塔。ArcGIS 允许构造部分金字塔,即在执行镶嵌操作期间仅重新构建与源数据重叠的那部分金字塔。这在更新已镶嵌栅格数据集时大有裨益,因为添加新栅格数据集后,无需为整个栅格数据集重新构建金字塔。但是,如果更新的是栅格数据集原点(金字塔的参考点)处的数据,则需要为整个栅格数据集重新构建金字塔。

  2.2 RRD文件

  递减分辨率数据集 (.rrd) 文件是一种用于存储栅格数据集的金字塔图层的方法。可以在以下两种情况下创建 .rrd 文件:

  文件格式为 ERDAS IMAGINE (.img) 文件。

  使用 ArcGIS 10 之前的版本构建金字塔。

  2.2.1 RRD 文件要求

  为栅格数据集构建 .rrd 文件的必要条件是具有对该数据集所在的目录的写入权限。选择构建金字塔 (pyramid) 时,将在源数据集所在目录下创建 .rrd 文件。在下次添加该栅格数据集时,会使用这些金字塔。此规则的一个例外是 ERDAS IMAGINE 文件,因为在该文件中,金字塔的指针存储在图像文件中,而并非像其他格式一样存储在辅助 (.aux) 文件中。在这种情况下,您必须具有对栅格数据集及其所在目录的写入权限。

  2.2.2 RRD 文件大小

  对于已经解压缩的栅格,.rrd 文件大小最低约为原始栅格数据集大小的 8%。但在某些情况下,所创建的 .rrd 文件的大小可以大于原始文件 (33%),这具体要取决于原始栅格文件中使用的压缩技术。如果 .rrd 文件超过两千兆字节,则会创建一个递减分辨率数据集外部 (.rde) 栅格数据文件作为补充文件。

  以下是使用全部各金字塔等级时栅格数据集存储大小增加情况的示例。等级 0 表示原始栅格数据集。

  表 2栅格数据集存储大小与金字塔等级

  

  2.3 OVR&RRD两种类型的比较

  表 3两种文件的比较

  

  2.4 镶嵌数据集与overview

  从上文可以得出,在基础等级,镶嵌数据集金字塔类似于栅格数据集金字塔 (pyramid)。它们是较低分辨率的图像,创建此类图像的目的在于提高显示速度及降低 CPU 使用率,因为测试较少的栅格便可显示镶嵌的图像。但它们差别很大,因为您可以对许多用于创建镶嵌数据集金字塔的参数进行控制。您可以创建只覆盖特定区域的镶嵌数据集金字塔,也可以创建只具有特定分辨率的镶嵌数据集金字塔。通过创建该金字塔,您可以查看包含在整个镶嵌数据集中的所有栅格,而不仅仅是单个栅格。金字塔通常始于栅格金字塔 (pyramid) 停止的位置,但如果您不希望使用所有栅格的金字塔
(pyramid),则可指定生成金字塔的基础像素大小。

  利用金字塔,可在查看整个镶嵌数据集的同时快速显示数据的较低分辨率副本。会在放大时绘制精细分辨率等级,同时会保持性能,因为镶嵌图像是使用依次减小的区域创建的。当以图像服务的形式或在网络上提供镶嵌数据集时,这会很有帮助。应根据显示比例选择最合适的金字塔。如果不使用金字塔,则将以动态方式对整个数据集进行处理。

  镶嵌数据集中存在一个可限制要用于生成镶嵌图像的栅格数量的属性。您可以修改此属性;但如果达到此限制,建议构建金字塔。此项限制的目的在于防止计算机执行过多的像素处理操作及保持良好的显示速度。

  在生成金字塔时,将使用应用于源栅格的函数对其进行处理。但不会使用任何在镶嵌数据集等级应用的函数对其进行处理。因此,修改镶嵌数据集等级函数时,无需重新生成金字塔。

  2.4.1 生成金字塔

  用来生成金字塔的工具有两种。“定义金字塔(Overview)”工具可用于自定义将要生成的金字塔。“构建金字塔(Overview)”工具可定义缺失的金字塔、更新及生成金字塔。

  您可以在利用“添加栅格至镶嵌数据集”工具或“构建金字塔(Overview)”工具添加栅格数据时使用默认设置构建金字塔。使用何种工具将取决于您的工作流。如果正在创建简单镶嵌数据集(例如,一个包含您所在城市的所有正射影像的镶嵌数据集),且未对轮廓线进行任何修改,则可在添加数据时选中工具对话框中用来构建金字塔的选项。这样便会应用“构建金字塔(Overview)”工具的所有可用选项来构建完整的金字塔。如果尚未构建栅格数据集的金字塔 (pyramid) 和统计数据,则可能需要向镶嵌数据集添加正射影像,使用构建金字塔和统计值工具,然后使用“构建金字塔(Overview)”工具。

  许多栅格数据集都具有内部金字塔 (pyramid);您也可以构建金字塔 (pyramid)。栅格数据集上的金字塔 (pyramid) 将减少镶嵌数据集所需的金字塔的数量。

  2.4.2 定义overview

  如果要对金字塔的生成位置、生成方式或生成内容进行更多控制,可使用“定义金字塔(Overview)”工具。

  

  图 2?1定义overview

  1.输出位置(可选),用来存储金字塔的文件夹或地理数据库。在个人地理数据库和文件地理数据库内存储和管理的金字塔具有默认的金字塔文件夹位置,该位置与现有的地理数据库位于同一工作空间中。

  对于 ArcSDE 地理数据库,金字塔位置必须是 ArcSDE 数据库本身。

  2.由数据集确定范围 (可选),一个栅格数据集或面要素类,用来定义金字塔的范围或形状。使用栅格数据集时将使用栅格数据集的范围。使用要素类时将使用面的形状。

  3.范围 (可选),将生成四个用于定义金字塔范围的坐标。如果未定义范围,将使用镶嵌数据集边界来确定金字塔的范围。“清除”按钮会将范围重新设置回栅格目录的范围。

  4.像素大小 (可选),用来生成金字塔的基本像素大小。默认值由软件确定。

  5.级数 (可选),将生成的金字塔等级数。

  如果是大于 0 的数,它将是生成的金字塔等级数。例如,3 表示将生成三个金字塔等级。如果值留空或为 -1,则生成的金字塔最多可达 1500 行(或列)。

  6.行数 (可选),金字塔中的最佳行数。值越大,文件也就越大,下方的任意图像发生变化时需要重新生成文件的可能性也越大。 该数字可能会影响创建的金字塔图像数。如果是一个较大的数字,则会生成较少的金字塔。如果是一个较小的数字,则会生成较多的文件。

  7.列数 (可选),金字塔中的最佳列数。值越大,文件也就越大,下方的任意图像发生变化时需要重新生成文件的可能性也越大。该数字可能会影响创建的金字塔图像数。如果是一个较大的数字,则会生成较少的金字塔。如果是一个较小的数字,则会生成较多的文件。

  8.总览采样系数 (可选),用来确定下一个金字塔大小的比率。例如,如果第一个等级的像元大小为 x,金字塔系数为 3,则下一个金字塔像素大小将为 3x。

  9.强制金字塔(Overview)分块参数 (可选),影响将生成的金字塔所处的等级。 取消选中 - 只会在主栅格金字塔 (pyramid) 等级之上创建金字塔 (overview)。这是默认设置。选中 - 将在所有等级下创建金字塔 (overview),尽管主栅格具有金字塔 (pyramid)。

  10.重采样方法 (可选),创建金字塔 (overview) 时使用的重采样算法。NEAREST—最邻近分配法。BILINEAR—双线性插值法。这是默认设置。 CUBIC—三次卷积插值法。

  11.压缩方法 (可选),此参数用于定义存储金字塔图像时使用的数据压缩类型。JPEG—有损压缩。这是默认设置。无—无数据压缩。LZW—无损压缩。

  12.压缩质量 (可选),JPEG 压缩方法所采用的压缩质量。压缩质量的变化范围是 1 到 100。数字较大,意味着图像的质量较高,但压缩程度较低。

  2.2.3 构建overview

  

  图 2?2构建金字塔

  “构建金字塔(Overview)”工具具有若干适用于对镶嵌数据集进行修改或更新的工作流的选项。

  1. 通过查询定义,可以可以使用 SQL 定义查询,或者使用查询构建器构建查询。

  2.定义缺失总览图分块(可选),可以在定义的金字塔不足或添加新数据而未定义附加金字塔时生成金字塔。其中:选中 - 自动识别需要金字塔的位置并在该处定义金字塔。这是默认设置。 取消选中 - 不会定义新金字塔。

  3.生成金字塔(Overview) (可选),可以生成所有需要创建或重新创建的金字塔。这包括缺失的金字塔和过时的金字塔。选中 - 生成所有类型和所有状态的金字塔。这是默认设置。 取消选中 - 仅构建已经定义但未生成的金字塔。

  4.仅生成缺失金字塔(Overview)图像 (可选),在已经定义但尚未生成金字塔时使用。选中 - 生成已经定义但尚未生成的金字塔。这是默认设置。取消选中 - 不生成已经定义但尚未生成的金字塔。

  5.仅重新生成过时的金字塔(Overview)图像 (可选),如果基础栅格数据集发生更改或其属性进行过修改,会将金字塔识别为过时的金字塔。 选中 - 更新过时的金字塔。这是默认设置。 取消选中 - 不更新过时的金字塔。

  其中再次强调下重新生成过时的金字塔图像这个选项。过时表明用于创建金字塔的源栅格已被修改或缺失。如果在生成金字塔之后从镶嵌数据集中移除了栅格或修改了轮廓线,则请使用此选项。对镶嵌数据集进行了大量修改(包括添加或移除栅格,或者更改栅格的轮廓线)时,用于定义缺失金字塔切片的选项会很有用。该选项将评估镶嵌数据集以确定是否已定义足够的金字塔,或者是否在未定义其他金字塔的情况下添加了新数据,这样您便可以为镶嵌数据集生成完整的金字塔集。

  2.3.4 添加栅格数据时维护overview

  

  图 2?3添加栅格数据

  在往已建立好的镶嵌数据集中添加栅格数据集也可以进行部分overview的设置,具体如下:

  1.更新金字塔(Overview) (可选),定义和生成镶嵌数据集的金字塔。选中 - 将定义和生成金字塔。 取消选中 - 将不会定义或生成金字塔。这是默认设置。

  2. 最大级别 (可选),同上文.

  3.最大像元大小 (可选),同上文.

  4.最小行数或列数 (可选),同上文.

  2.3.5 实例说明

  下面我们结合一个具体的影像数据来讲述镶嵌数据集与overview的关系.

  

  图 2?4 overview示例

  如上图所示,浏览镶嵌数据集,当放大的图像比较少时,一般使用金字塔生成的图像;当缩小视图从而包含了许多影像时,可以看到很多甚至全局的影像,这时候一般会调用overview。图中有三个原始影像,他们每个像素大小为0.5。金字塔针对每个原始影像创建,每一个创建两个层次,重采样了2倍,这是缺省值。Overview在金字塔的上层构建,缺省重采样参数是3。Overview是镶嵌好的影像而且受数据图幅大小的限制。在这个例子中,只有2个在第一层次的overview,即使原始数据是3幅影像,最终只有1个在顶层的overview。

  可以有不同的组合。比如,上面的原始图像可以没有金字塔,这种情况下,overview将开始为1.5像素大小(1:5670)这是3倍,并会继续,直到它达到合适的overview大小显示,从而提升整个影像的速度。如果原始影像已经生成了金字塔,overview将需要得较少,从而生成overview的时间也更少。

  2.2.6 镶嵌数据集中的overview与pyramid

  通常,与显示镶嵌数据集中的每个栅格的金字塔 (pyramid) 相比,执行金字塔 (overview) 的速度会更快。使用以下影像时,您可以考虑在栅格金字塔 (pyramid) 上构建金字塔 (overview):

  预处理的分块影像,例如正射影像象限图

  对接(非重叠)影像,不会通过更改镶嵌方法产生

  动态处理的影像,但参数和镶嵌方法不会更改

  构建更复杂的镶嵌数据集时,尤其是在使用镶嵌方法和动态处理时,在源栅格上构建金字塔 (pyramid) 以及仅在所需位置构建金字塔 (overview) 非常有用,例如:

  栅格数据集大于5000列

  由于影像重叠,将会使用镶嵌方法

  动态处理将会出现在任何比例范围内的源栅格上

  影像不是静态预处理栅格

  另外,如果计划使用“锁定栅格”(举例来说)查看镶嵌数据集中的各个栅格,则本身具有金字塔 (pyramid)(和统计值)的栅格数据集在不同比例下的渲染速度可能更快。在“栅格查看器”窗口(可从属性表的“栅格”列中访问)中预览栅格的速度也将会更快。有时可能会定义金字塔,但不对其进行构建;存储金字塔的位置崩溃,文件丢失;或者由于某种原因导致金字塔缺失,但在镶嵌数据集中对其进行了定义。您可以通过用来生成缺失图像的选项,创建或重新创建缺失的金字塔。

  此外,您还可以使用其他数据集作为金字塔,如 ArcGIS.com 中的图层或为其他镶嵌数据集生成的其他金字塔。通常推荐执行此操作,因为在缩小时,影像中的许多细节会丢失,色彩会退化,而且各要素相互混杂,大型要素也会不易识别,尤其是在使用高分辨率影像或正射影像时。使用“添加栅格至镶嵌数据集”工具可添加这些栅格数据集,并可像处理镶嵌数据集中的其他所有栅格一样对这些栅格数据集进行处理。这些栅格数据集与根据镶嵌数据集生成的金字塔之间的唯一区别是:属性表中的“类别”字段将不是“金字塔”。

  3 金字塔设置

  3.1 重采样

  有三种金字塔重采样方法可供使用:最邻近法、双线性和双三次卷积。最邻近法是默认采用的方法,通常适用于任意类型的栅格数据集。但是,建议对带有色彩映射表的离散(标称)数据或栅格数据集(如土地利用数据、经过扫描的地图和伪彩色图像)应用最邻近法。对于连续数据(如卫星影像或航空摄影),应使用双线性插值法或双三次卷积法。尽管双线性插值法执行速度更快,但是得到的结果却不如双三次卷积法的结果锐利。对于 1 位 TIFF 或 IMG,建议使用双线性插值法。

  3.2 镶嵌和栅格数据集原点

  栅格数据集的原点即为栅格数据集左上角的坐标。金字塔的构造始于该坐标,然后向右、向下持续进行。如果从栅格数据集的原点开始向左或向上镶嵌数据,ArcSDE 需要变换原点,以使原点仍位于左上角。变换现有栅格数据集的原点后,ArcSDE 需要重新构建金字塔。重新构建金字塔的操作可能非常耗时,尤其是在大量栅格数据集源文件(或其他栅格数据集)已经镶嵌到栅格数据集中从而使该栅格数据集变大的情况下更是如此。

  

  由于重新构建金字塔操作非常耗时,因此应该通过分析源数据来识别出栅格数据集左上角栅格的坐标,然后在创建栅格数据集时输入该坐标。您在创建栅格数据集时自行设置了金字塔参考点的 x 坐标和 y 坐标(请参阅创建栅格数据集),而并没有使用所插入第一个栅格数据集的左上角坐标。因此便可以通过在创建栅格数据集时设置金字塔的参考点来避免变换栅格数据集的原点。

  3.3 金字塔的存储位置

  无论在何时或以何种方式生成金字塔,过程的第一步总是定义金字塔(方法是向镶嵌数据集属性表添加金字塔),然后是生成金字塔(即栅格数据集)。默认情况下,会在镶嵌数据集所处位置旁的文件夹中生成和存储金字塔。此文件夹的名称与地理数据库的名称相同,具有 .overview 扩展名。但是,如果镶嵌数据集创建于 ArcSDE 地理数据库,则将在该地理数据库中创建金字塔。

  镶嵌数据集会参考其源栅格,如果金字塔未保存在地理数据库中,则您可能更希望将金字塔与源栅格一起存储。此外,如果打算在某个镶嵌数据集中使用在其他镶嵌数据集中创建的金字塔,则可能需要单独管理金字塔的位置。生成金字塔之前,可使用“定义金字塔(Overview)”工具定义金字塔的输出位置。

  定义在镶嵌数据集中生成金字塔的位置

  有若干参数可控制镶嵌数据集中用于生成金字塔的区域及生成的金字塔等级。默认情况下,将为包含在镶嵌数据集边界内的区域生成金字塔。但在某些情况下,可能要控制生成的区域。可通过在镶嵌数据集的空间参考系统中指定最小、最大 x 和 y 坐标来定义矩形区域。

  此外,还可能要控制生成金字塔的等级或分辨率。可以定义要用于生成金字塔的基础像素大小。使用此选项对栅格执行预处理,以帮助提高显示速度。例如,如果正在对镶嵌数据集中的栅格进行正射校正、全色锐化及色彩平衡,则以应用全部三个函数的分辨率查看镶嵌图像时的计算量会非常大。您可能需要在频繁查看的区域中创建已处理的栅格。要执行此操作,先定义范围,然后定义应用全色锐化函数的位置的像素大小(全色图像的分辨率)。默认情况下,工具将为此区域定义金字塔(从定义的分辨率开始,直到达到最小金字塔大小限制为止)。可以通过定义要生成的等级的数目,对此进行进一步控制。例如,可能只需要以全色图像的分辨率生成一个金字塔。要执行此操作,您可以指定一个金字塔等级。

  您还可以控制是否在金字塔生成中考虑栅格的金字塔 (pyramid)。可能使用您不喜欢的重采样方法生成了原始金字塔 (pyramid),也可能由于某种其他原因而不需要使用任何金字塔 (pyramid)。选中“定义金字塔(Overview)”工具对话框中的“强制金字塔(Overview)切片参数”选项,这样将忽略所有栅格金字塔 (pyramid),并从大于栅格基础像素大小的系数开始定义金字塔。例如,如果系数为 3,而基础像素大小或栅格为 1 米,则将以 3 米开始生成金字塔。

  此外,镶嵌数据集可能由数据源大量混合而成,并且由于某种原因,需要使用最开始的金字塔 (pyramid) 的一部分,而不是全部。您可以定义金字塔开始位置的像素大小。

  3.4 定义金字塔的大小

  建议使用软件确定金字塔的大小;但在某些情况下,可能需要指定具体的大小。可以通过三种方式控制大小:通过行和列、通过系数或通过压缩。通过定义最佳的行数和列数的方式来限制金字塔的物理尺寸时,值越大,文件也就越大,下方的任意图像发生变化时需要重新生成文件的可能性也越大。该数值还会影响创建的金字塔栅格数据集的数目。如果是一个较大的数值,则将生成较小的金字塔。如果是一个较小的数值,则会生成较多的文件。

  您还可以通过修改金字塔系数来控制创建的金字塔栅格数据集的数目。此系数用来确定后续金字塔的大小。例如,如果第一个等级的像元大小为 x,金字塔系数为 3,则下一个金字塔像素大小将为 3x。系数越大,生成的金字塔栅格数据集就越少;但这会影响镶嵌图像的显示速度。通常,金字塔等级越多,显示的速度就越快,因为这减少了重采样的次数。

  有若干压缩方法可用来控制存储金字塔所需的空间。您可以存储未经压缩的金字塔;但这将消耗最多的磁盘空间。建议使用某种格式进行压缩。如果注重于保存金字塔中的像素值,则推荐使用 LZ77 压缩,因为它是一种无损压缩。此外,还可以使用 JPEG 压缩,虽然它是一种有损压缩,但能够提供较高的压缩率。如果使用 JPEG 压缩,则可以对质量进行控制,也会因而影响文件的大小。压缩质量越高,图像质量就越高,但文件大小的压缩量就越小。

  3.5 金字塔图像质量

  “定义金字塔(Overview)”工具中存在若干可用于控制创建金字塔所使用的重采样方法、控制金字塔压缩及压缩质量的图像参数。因此,对于专题数据,可选择最邻近法;而对于航空摄影或卫星影像,则可使用双线性插值法或三次卷积插值法。而且如前文所述,您可以选择质量。因此,可以选择不进行压缩、进行无损压缩或进行可定义总体图像质量的压缩。例如,您可以选择质量为 75 的 JPEG 压缩,因为这可提供最佳的数据质量及文件大小。当然,在创建任何大型镶嵌数据集或任何数据库之前,始终建议首先创建较小的测试案例以定义最佳参数。

  3.6 金字塔生成时间

  向镶嵌数据集添加数据的速度会很快,这是由于未移动任何像素数据。但是,创建大型镶嵌数据集时则需要在规划中考虑金字塔的生成时间。上面提及的大多数选项都会影响生成时间,因此估算时间长度是相当困难的。所需的金字塔越多,花费的时间就越长。这是创建测试案例的另一个原因。

  要使用或提供镶嵌数据集,不必等到金字塔生成完毕。创建镶嵌数据集后即可对该数据集及其基础栅格进行访问,而且在金字塔生成后,可以开始查看在镶嵌数据集中进一步缩小时所影响或创建的镶嵌图像。

  4.实验结果

  结合上面提到的ArcGIS中的金字塔描述,下面进行一系列试验用具体数据来说明原始影像与ovr,rdd文件的关系.

  试验使用4种不同的栅格数据集格式的24幅图像;一些有金字塔一些没有;图像都是标准的瓦片式正射影像,每幅数据都是5000×5000,8位,3波段,下面是24幅数据中的3幅:

  

  下面依次比较下数据模型建立后的压缩,金字塔各方面的具体情况.

  压缩

  原始数据是MrSID格式。 转换其他格式的在ArcGIS Desktop 10.0中使用。下表列出的组合使用。 75%的压缩值,是ArcGIS默认的,这个比例提供了合理的压缩,并保持影像的画质。 (注:压缩值表示的图像质量和压缩%)。

  

  除上述两种格式使用有损压缩,这意味着从原来的像素值可以改变。 TIFF是无压缩的,LZW压缩的TIFF是无损的,这两种格式会消耗磁盘上的大部分空间。使用一种无损压缩通常不会造成很大的压缩,除非有大面积的NODATA或相同的值(如边界)。

  请注意,MrSID文件仍然是最小的,因为其独有的小波压缩的。 有人问,为什么他们的MrSID文件需要很长时间,添加到ArcSDE地理数据库, 这是因为要将高度压缩格式转移到其他不太压缩格式。您可以在栅格数据集属性对话框检查的估计未压缩的大小。

  金字塔

  金字塔是产生一些使用双线性重新取样的TIFF文件。 下面的金字塔前两个例子使用JPEG压缩和其他使用LZ77压缩无损压缩的TIFF文件生成。 在这种情况下,额外所需的存储空间是2.2%至9%,空间大小取决于如何压缩缩略图。第三次试验产生的金字塔,使用相同的压缩的JPEG压缩的TIFF文件。在这里你可以看到额外的存储空间百分比上升到近30%,但你还会注意到,每个金字塔的大小是相同的未压缩的TIFF文件使用相同的金字塔压缩所产生的

  

  接下来,建立了9个镶嵌数据集,并相应地添加24栅格数据集的集合。虽然镶嵌数据集不包含实际的像素数据,并在磁盘上的规模相对较小,但它代表了一个总的镶嵌图像是:

  30,000 columns and 20,000 rows 30,000列和20000行

  3-bands 3波段

  8-bit 8位

  每个镶嵌数据集创建了6-8秒。 这是一个非常简单的操作,不应该需要很长时间才能完成。用添加栅格镶嵌数据集工具和检查选项建立的overview,并记录了以下信息:

  

  由此可以看到,它需要的时间非常少,不到20秒的栅格数据集添加到镶嵌数据集和计算所需的属性,如像素大小的范围和边界,您还可以看到磁盘上的数据的总大小不影响将数据添加到镶嵌数据集所花费的时间。剩余的时间取决于确定需要多少overview并生成它们。对于那些与内部的pyramid,如JPEG 2000和MrSID和外部overview栅格数据集,需要较少的overview。 然而,有更多的overview生成,总时间也随之增加。

  从这些数字可以看到它的需要少得多的时间添加栅格镶嵌数据集,然后建立的overview。这是为什么在创建overview的同一时间还可以将数据添加到镶嵌数据集的原因之一。

  

时间: 2024-10-14 04:49:33

arcgis中的栅格数据的金字塔详解的相关文章

oc中字典的实现方法详解

一:字典的基本概念 Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的. 此外,字典对象的键和值不可以为空(nil),如果需要在字典中加入一个空值,可以加入NSNull对象 二:不可变字典-NSDictionary 1:初始化(以一个元素和多个元素

JDK中的Timer和TimerTask详解

目录结构: Timer和TimerTask 一个Timer调度的例子 如何终止Timer线程 关于cancle方式终止线程 反复执行一个任务 schedule VS. scheduleAtFixedRate 一些注意点 1. Timer和TimerTask Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次. TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务. 2.

Android总结篇系列:Activity中几个主要函数详解

专注Android领域开发. 仰望星空,同时需要脚踏实地. ——好记性不如烂博客 Android总结篇系列:Activity中几个主要函数详解 Activity作为Android系统中四大基本组件之一,包含大量的与其他的各大组件.intent.widget以及系统各项服务等之间的交互的函数.在此,本文主要选取实际项目开发中常用的,但完全理解又需要有一定深入了解的几个函数进行讲解,后续本文会根据需要不断更新. 1. startActivityForResult / onActivityResult

【转载】lucene中Field.Index,Field.Store详解

lucene在doc.add(new Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED)); Field有两个属性可选:存储和索引. 通过存储属性你可以控制是否对这个Field进行存储: 通过索引属性你可以控制是否对该Field进行索引. 事实上对这两个属性的正确组合很重要. Field.Index Field.Store 说明 TOKENIZED(分词) YES 被分词索引且存储 TOKE

【Unity编程】Unity中关于四元数的API详解

Unity中关于四元数的API详解 Quaternion类 Quaternion(四元数)用于计算Unity旋转.它们计算紧凑高效,不受万向节锁的困扰,并且可以很方便快速地进行球面插值. Unity内部使用四元数来表示所有的旋转. Quaternion是基于复数,并不容易直观地理解. 不过你几乎不需要访问或修改单个四元数参数(x,y,z,w); 大多数情况下,你只需要获取和使用现有的旋转(例如来自"Transform"),或者用四元数来构造新的旋转(例如,在两次旋转之间平滑插入). 大

Oracle中常用的to_Char用法详解

Oracle中常用的to_Char用法详解(有FMT的详细列表) The following are number examples for the to_char function. to_char(1210.73, '9999.9') would return '1210.7' to_char(1210.73, '9,999.99') would return '1,210.73' to_char(1210.73, '$9,999.00') would return '$1,210.73'

Swift使用WKWebView在iOS应用中调用Web的方法详解

这篇文章主要介绍了Swift使用WKWebView在iOS应用中调用Web的方法详解,使用WKWebView便等于使用和Safari中相同的JavaScript解释器,用来替代过去的UIWebView,需要的朋友可以参考下 自从iOS8开始,Apple引入了WKWebView欲代替UIWebView.相比而言,WKWebView消耗内从更少,功能也更加强大.让我们来看看WKWebView怎么使用吧! 0.初始化(1)首先需要引入WebKit库 复制代码代码如下: #import <WebKit/

第52讲:Scala中路径依赖代码实战详解

<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第52讲:Scala中路径依赖代码实战详解百度云:http://pan.baidu.com/s/1gdES4hX360云盘:http://yunpan.cn/ccHXX2Wkrrrt4 访问密码 c489腾讯微云:http://url.cn/VV5kx5 记录: Scala中内部类的路径依赖非常适合现在互联网看待事物所属关系,组织关系. 根据依赖的外部实例的不同,内部类类型会有所不同.由

SVN中tag branch trunk用法详解

SVN中tag branch trunk用法详解 2010-05-24 18:32 佚名 字号:T | T 本文向大家简单介绍一下SVN中tag branch trunk用法,SVN中tag branch trunk都属于SVN的子命令,那么他们是如何使用的呢,本文就给大家一一讲解. AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! 本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆.这里就向大