影像数据通常需经过处理,以创建支持动态处理或另存为其他更新版本的数据形式。 这些影像数据集和数据集的集合通常很大,因此拥有良好的管理功能十分重要。 ArcGIS Pro 则专为实现这一目的而设计。
影像和栅格数据的结构和存储模型
有三种方法可用于存储影像和栅格数据:存储为文件系统中的文件、存储在地理数据库中,或者通过地理数据库进行管理但存储在文件系统中。 还包括确定是否将所有数据存储在一个单独的数据集中,或者存储在可能具有多个数据集的目录中。 如果将数据存储在文件系统中,则存储的是栅格数据集。 地理数据库既可以存储栅格数据集,也可以存储镶嵌数据集。
栅格数据集
大多数影像数据和栅格数据(例如正射影像或 DEM)均作为栅格数据集提供。 栅格数据集这个术语是指存储在磁盘上或可作为存储在云存储中的单个影像进行访问的一切栅格模型。 栅格数据集是构建其他数据集的最基本的栅格数据存储模型,例如,镶嵌数据集可管理栅格数据集。 它也是许多处理栅格数据的地理处理工具的输出。
栅格数据集是组织成一个或多个波段的所有有效的影像或栅格格式。 每个波段由一系列像素数组组成,每个像素都包含一个值。 影像或栅格数据集至少有一个波段。 ArcGIS Pro 支持超过 70 种栅格数据集文件格式,其中包括 TIFF、JPEG 2000、云栅格格式 (CRF) 和 NITF。
镶嵌数据集
镶嵌数据集是一组以影像集合形式存储并以单个镶嵌影像或单个影像(栅格)的形式供用户查看或访问的栅格数据集(影像)。 这些集合的总文件大小和数据集数量都会很大。 镶嵌数据集中的影像可以采用原生格式保留在磁盘上,也可以存于地理数据库中。 可通过影像记录以及属性表中的属性来管理元数据。 通过将元数据存储为属性,可以更方便地管理诸如传感器方向数据等参数,同时也可以提高对选择内容的查询速度。
镶嵌数据集中的数据不必相邻或重叠,也允许以未连接的不连续数据集的形式存在。 例如,您可以使用完全覆盖某个区域的影像,也可使用没有连接到一起形成连续影像的多条影像(例如,沿管线)。
数据可以完全或部分重叠,但需要在多个日期捕获。 镶嵌数据集是一种用于存储时态数据的理想数据集。 您可以在镶嵌数据集中根据时间或日期查询所需的影像,也可以使用某种镶嵌方法来根据时间或日期属性显示镶嵌影像。
镶嵌数据集并不局限于某种特定类型的影像数据。 您可以从不同的传感器系统中添加不同投影、分辨率、像素深度以及波段数的影像数据。 可以生成整个数据集合的概视图。 这样便可更快速地查看数据,并且可以快速地使用这些数据集。 此外,还提供许多其他用于数据查看(包括设置镶嵌方法)的属性,这些属性使得数据集在各种情况下具有独特性和功能性。 您还可以根据空间和非空间查询约束来查询镶嵌数据集。 查询结果可以是一组您能够依次处理的影像,也可以是一个动态生成的镶嵌影像。
除了影像数据之外,您还可以采用存储影像数据集所使用的方式在镶嵌数据集中存储和管理激光雷达数据,甚至可将其与影像数据集一起存储。 激光雷达数据可以在文件系统中存储为 .las 文件或 LAS 数据集,或者在地理数据库中存储为 terrain 数据集。
注:
镶嵌数据集兼容性取决于用于构建它们的 ArcGIS 版本,且将在特定发布周期内在 ArcGIS 平台中兼容。 通常,可以使用较新版本的 ArcGIS 来读取和处理使用较旧版本 ArcGIS 创建的镶嵌数据集。 但是,使用较新版本的 ArcGIS 创建的镶嵌数据集可能无法向后兼容较旧版本。 有关镶嵌数据集兼容性的信息,请参阅下表:
ArcGIS Pro 版本 | ArcGIS Enterprise、ArcGIS Server 和 ArcMap 版本 | ArcGIS AllSource 版本 |
---|---|---|
Pro 3.3 | 11.3 | AllSource 1.2 |
Pro 3.2 | 11.2 | AllSource 1.1 |
Pro 3.1 | 11.1 | AllSource 1.0 |
Pro 3.0 | 11 | |
Pro 2.9 | 10.9.1 | |
Pro 2.8 | 10.9 | |
Pro 2.7 | 10.9 | |
Pro 2.6 | 10.8.1 | |
Pro 2.5 | 10.8 | |
Pro 2.4 | 10.7.1 | |
Pro 2.3 | 10.7 | |
Pro 2.2 | 10.6.1 | |
Pro 2.1 | 10.6 | |
Pro 2.0 | 10.5.1 | |
Pro 1.4 | 10.5 | |
Pro 1.3 | 10.4.1 | |
Pro 1.2 | 10.4 | |
Pro 1.1 | 10.3.1 | |
Pro 1.0 | 10.3 |
栅格数据存储模型比较
通常,当影像彼此不相邻或者很少在同一个工程中使用时,单独存储影像数据集是最佳方法。 将输入镶嵌在一起以形成单个范围的大型影像数据文件通常适合许多应用项目,但镶嵌数据集在以下情况下可能更合适:
- 影像范围部分或完全叠置,而您需要保留公共区域。
- 影像数据集表示在某个时间序列的不同时间点对同一区域的观察结果的集合。
- 您仅希望显示研究区域,而非整个影像集合。
- 您需要将一组影像作为一个整体进行管理,但同时又需要保留它们独立的状态。
- 您需要记录和管理用来描述各影像的其他属性列。
比较栅格数据存储模型
栅格数据集 | 镶嵌数据集 | |
---|---|---|
描述 | 某个对象的单张图片,或者覆盖某片空间连续区域的无缝影像。 它可以是单张原始影像,也可以是许多影像合并(镶嵌)的结果。 | 一组存储为集合的影像数据集,允许您存储、管理、查看和查询影像和激光雷达数据的集合。 可将它视为镶嵌影像,但集合中的各个数据集可作为项目供您访问。 |
存储 | 存储为磁盘或地理数据库中的文件。 | 存储在地理数据库中,可以进行参考,而源数据存储为磁盘上的文件。 |
同类数据还是异类数据 | 同类数据:单一格式、数据类型和文件。 | 异类数据:多种格式、数据类型、文件大小和坐标系。 |
元数据 | 存储一次,并且应用于完整数据集。 | 可存储在栅格记录中,并且可在属性表中存储为属性。 |
缩减采样的数据集 | 整个影像数据集的金字塔。 | 针对每个影像数据集的金字塔,以及整个集合的概视图。 |
地理处理和影像分析 | 可用作许多地理处理和分析工具的数据源,包括栅格函数和 RFT。 | 可用作许多地理处理和分析工具的数据源,包括栅格函数和 RFT。 |
优点 |
|
|
缺点 |
|
|
用途 | 直接用作影像服务。 | 直接用作影像服务。 |
建议 | 如果不需要保留镶嵌影像之间的叠置部分,或者需要快速显示大量的影像数据时,可使用栅格数据集。 | 可使用镶嵌数据集来管理和可视化影像和激光雷达数据。 它非常适合多维数据和重叠数据,支持查询、存储元数据,并且提供了良好的混合解决方案。 |
地理数据库中的栅格数据存储
在下述情况下可将栅格数据存储在地理数据库中:要管理影像、添加行为和控制方案时;要将一组定义明确的栅格数据集作为地理数据库管理系统 (DBMS) 的一部分进行管理时;要使用单一架构来管理全部内容时。 地理数据库主要有两种类型:企业级地理数据库和文件地理数据库。
企业级地理数据库可以支持 DBMS 中的多种操作。 文件地理数据库可供单个用户进行编辑,但不支持版本管理。 它们位于文件系统目录中,因此不需要密码就可以进行访问。 文件地理数据库和企业地理数据库共享相同的基本存储架构。
注:
每种地理数据库的功能行为基本相同;不过,对于某些特定的工具或程序,其功能行为将有所区别。 有关工具或程序的行为差异的信息,请参阅此参考帮助中的指定工具或程序部分。
比较文件地理数据库和企业级地理数据库中的栅格存储
栅格存储特征 | 文件地理数据库 | 企业级地理数据库 |
---|---|---|
大小限制 | 每个栅格数据集 1 TB |
无限制;取决于 DBMS 限制 |
栅格数据集文件格式 | 文件地理数据库栅格数据集 |
企业级地理数据库栅格数据集 |
存储 |
|
|
存储在文件系统中 |
存储在 RDBMS 中 | |
压缩 | LZ77、JPEG、JPEG 2000 或无 |
LZ77、JPEG、JPEG 2000 或无 |
金字塔 | 支持部分金字塔 |
支持部分金字塔 |
镶嵌 | 可以在镶嵌时追加栅格数据集 |
可以在镶嵌时追加栅格数据集 |
更新 | 允许增量更新 |
允许增量更新 |
用户数 | 单个用户和较小的工作组;多位读取者和一位写入者 |
多用户;许多用户和许多写入者 |
地理数据集中的栅格块表
栅格数据大小通常比要素大得多,因此需要端表以存储数据。 例如,典型的全色正射影像可以有 20,000 行 x 20,000 列(4 亿像素值)或更多。
为了优化处理大型栅格数据集的性能,数据库栅格将分成较小的切片(成为块),其大小通常约为 128 行乘以 128 列,或 256 行乘以 256 列。 随后这些较小的块将保存在每个栅格的端表中。 每个单独的切片都存储在块表中单独的行中,如下所示。
这种结构意味着,在必要时仅检索所需范围内的块即可,而无需提取整个影像。 此外,用于构建栅格金字塔的重采样块可以作为附加行在同一个块表中存储和管理。
这使得可以在 DBMS 中管理巨大尺寸的影像,从而实现非常快的性能。 DBMS 还提供安全的多用户访问。
文件地理数据库
文件地理数据库的存储模型类似于企业级地理数据库的存储模型,将数据存储在块中。
这使访问数据更有效率,在执行镶嵌操作时体现得更为明显。 在文件地理数据库中镶嵌数据时,仅会更新重叠块。 如果不存在重叠块,则插入新块。 部分块使用 NoData 像素填充。 此外,文件地理数据库和企业级地理数据库存储模型可以使用部分金字塔更新,从而节省时间。 由于文件地理数据库和企业级地理数据库的数据结构相同,因此可使用快速复制技术在两者之间进行数据复制和粘贴。
文件地理数据库可以使用配置关键字,但不同于企业级地理数据库,文件地理数据库的配置关键字具有标准的预定义值。 有关配置关键字的详细信息,请参阅文件地理数据库 (geodatabase) 的配置关键字。
企业级地理数据库
当栅格数据存储在企业级地理数据库时,将提供企业级功能,如安全、多用户访问和数据共享。 以下是将栅格数据存储为企业级地理数据库的三个主要原因:
- 无需定期执行更新(如,每两年、每三年或更长时间)。
- 在只读使用情况下,仍可以进行访问(如,将其作为矢量数据下的底图数据进行使用)。
- 作为底图时,允许数百(或更多)用户进行访问。
考虑其存储结构,栅格数据将被视为由地理数据库管理或完全控制。 企业级地理数据库将栅格数据集和栅格属性的所有栅格信息(像素、空间参考、任何相关表以及其他元数据)存储在关联关系数据库中。 这意味着所有输入栅格信息都将加载到数据库中,并且可将其视为一种格式转换。
根据用户定义的尺寸(默认值为 128 乘 128),企业级地理数据库均匀地将波段分割为像素块。 将影像波段数据进行切片可实现栅格数据的高效存储和检索。 按照逐渐减小的分辨率来存储金字塔信息。 金字塔高度由应用程序或用户指定的等级数量确定。
栅格块表(最大的表,且可以存储像素信息和金字塔)根据金字塔等级,在栅格数据集中每个波段的每块(切片)内存储一行。 例如,划分为 12 块、且没有构建金字塔的三波段影像将在 BLK 表中包含 36 行 - 每个波段具有 12 个独立块。 包含块的像素数据的列是一个二进制大对象 (BLOB)。
压缩、金字塔和切片大小
存储和管理数据时,有其他几种存储结构需要考虑,包括压缩、缩减采样的数据集(金字塔和概视图)和切片大小。
压缩
共有两种压缩类型:无损压缩和有损压缩。 无损压缩意味着栅格数据集中的像素值不变,而有损压缩将导致像素值发生变化。 压缩量取决于像素数据类型,图像相似度越高,压缩比就越高。 如果数据不仅要用于显示,还要用于分析,则应使用无损压缩来存储数据。 压缩数据的主要好处是可以节省存储空间,节省的空间量取决于压缩方法以及数据的冗余量。 额外的好处是极大地改善了性能,因为您传输的数据包更少了。 例如,通过低带宽网络来访问影像数据时,使用压缩功能可改善性能,因为需要传输的信息量减少,同时也使存储大型无缝影像数据集并将其快速显示给用户成为可能。
镶嵌数据集也具有压缩功能。 这不适用于托管影像数据集的存储,但适用于压缩显示数据集时生成的影像。 通过缩小传输文件的大小,可以改善通过网络访问数据的性能。 有关允许的压缩方法属性的详细信息,请参阅镶嵌数据集属性。
可快速显示的缩减采样的数据集
缩减采样的数据集是根据栅格数据集或镶嵌数据集的原始数据创建的栅格。 这些数据集是为提高显示速度和性能而生成的。 当为栅格数据集创建这些数据集时,它们称为金字塔;当为镶嵌数据集创建这些数据集时,它们称为概视图。
金字塔与概视图
金字塔 | 概视图 | |
---|---|---|
针对以下数据集而创建 | 栅格数据集 | 镶嵌数据集 |
格式 | 写入 .ovr 文件 - 存在一些例外。 将外部存储的金字塔读取为 .ovr 或 .rrd 文件,或者在内部读取。 | 写入为 .tif 文件。 |
存储 | 存储在通常位于源栅格数据集旁边的单个文件中,使用的名称相同。 | 默认情况下,存储在具有 *.overviews 扩展名的地理数据库旁边的文件夹中,或在企业级地理数据库的内部存储。 存储位置可以自定义。 |
存储大小 | 2 至 10%(与原始栅格数据集相比)。 | |
缩减采样因子 | 2 | 默认值为 3。 可以编辑此设置。 |
范围 |
|
|
构建时的选项 |
|
|
切片大小
在企业级地理数据库或文件地理数据库中,将为栅格数据存储结构中的数据创建切片、索引和金字塔,更多时候会被压缩。 由于为数据创建了切片、索引和金字塔,因此每次查询栅格数据时,仅会返回满足查询范围和分辨率所需的切片,而非整个数据集。 切片大小决定了存储在每个数据库内存块中的像素数量。 它将指定为 x 和 y 的像素数。 默认切片大小为 128 × 128 像素,大多数应用都无需更改此默认值。 在企业级地理数据库中,在将栅格数据切片存储到地理数据库之前,会先将其压缩。