在 ArcGIS 中,镶嵌数据集是用来批量管理、动态镶嵌大量栅格数据的推荐数据模型,在工具箱中有一系列用于操作镶嵌数据集的工具。如果希望了解什么是镶嵌数据集,可以预先看 帮助文档。平时接触到的问题可能散落在使用镶嵌数据集的各个环节,最近就以镶嵌数据集工具为索引,顺藤摸瓜。

镶嵌数据集的工具箱位于: Data Management Tools\ Raster\ Mosaic dataset 目录下,其中绝大部分工具在镶嵌数据集的右键菜单中也可以调用,下面就分类整理小结一下。

创建/删除镶嵌数据集类工具

首先,我们可以使用 Create Mosaic Dataset 工具创建一个新的镶嵌数据集,这是所有与镶嵌数据集有关的操作的起点。


也就是,先要做出一个空的盒子来容纳下面要加入的栅格数据。

创建镶嵌数据集要了解下面几点:

  • 需要ArcGIS 标准版或者高级版的许可。
  • 可以在有写权限的文件地理数据库、个人地理数据库或 ArcSDE 地理数据库中,创建镶嵌数据集。
  • 为镶嵌数据集命名,名称需要满足数据库规范。
  • 必须设置空间参考,这里也就是坐标系统。当我们访问镶嵌数据集的时候,这个空间参考就是整个镶嵌数据集的默认空间参考,镶嵌数据集的其他附加部分会依据这个空间参考创建,有关附加部分后面再说。如果将来往里添加的栅格数据的空间参考与镶嵌数据集默认空间参考不一致,也没有关系,数据会进行动态投影。这时你可能会问,什么是动态投影?举个例子来回答问题,例如创建了一个坐标系统为WGS1984的镶嵌数据集,但是后面添加的影像坐标系是Beijing1954的,那么在查看镶嵌数据集时,我们会看到影像数据自动变换到WGS1984坐标系中进行镶嵌显示。
  • 创建镶嵌数据集工具中还有几个可选参数可以根据需要配置,例如:波段数、位深等。如果没有要求,可以跳过,镶嵌数据集会按照默认设置创建。


盒子有了,然后我们就可以往里放东西了。

接着使用工具 Add Rasters To Mosaic Dataset ,向镶嵌数据集加入内容。

★ 这里需要了解,栅格数据本身实际是没有入库的,而是以非托管的形式在镶嵌数据集中进行管理。也就是,执行添加栅格数据操作之后,镶嵌数据集中存储了指向栅格数据位置的指针,而不是将实际的栅格数据存储在镶嵌数据集内。也因此,不要在添加栅格数据之后,就把原始数据删除或者移动了,否则镶嵌数据集就受到了影响。

添加栅格数据有几个参数需要理解其意义:

1)Raster Type

向镶嵌数据集添加栅格数据时,我们需要指定“栅格类型”。默认的栅格类型是“栅格数据集(Raster Dataset)”,是指ArcGIS支持的任何栅格格式。其他栅格类型则特定于产品(传感器、数据提供商或供应商)或关联的元数据信息。通过指定除了“栅格数据集”之外的栅格类型添加栅格数据时,元数据信息和栅格处理信息会被读取。

举个例子说明下它们之间的区别:例如, 添加 QuickBird 标准场景时,.imd文件定义了一个场景,它包含了栅格数据的元数据信息,指向了一个或者多个.tif 文件。如果希望正确添加 QuickBird 标准场景数据,那么需要选择 QuickBird  栅格类型,这种栅格类型会搜索 .imd 和 .tif 的组合从而保证数据信息的完整。如果我们以默认的“Raster Dataset”栅格类型添加这个数据,那就只能添加和识别 .tif 文件,这样 .imd 中所定义的元数据信息就丢失了。

如果需要了解自己的栅格数据是否能被ArcGIS支持,那需要查看如下两个主题的帮助文档列表:

支持的栅格和影像数据格式列表

受支持的栅格数据集文件格式

2)Input Data

镶嵌数据集支持通过如下几种方式的输入方法来添加栅格数据:

  • 数据集 — 可以输入ArcGIS支持的任何栅格、栅格目录或镶嵌数据集
  • 工作空间 — 用于选择一个包含多个栅格数据集的文件夹。该文件夹可包含子文件夹。它受“是否包括子文件”和“输入数据过滤器”参数的影响。
  • 文件 — 用于选择文件列表文件、影像服务定义 (.ISDef) 文件和栅格处理定义 (.RPDef) 文件。 文件列表检索器还将忽略与添加的栅格类型不对应的任何文件。
  • 服务 — 用于选择 WCS、地图、影像服务或 Web 服务图层文件。

3)Update Cell Size Ranges/Update Boundary/Update Overviews

如果要多次使用“添加栅格至镶嵌数据集”工具将数据添加到镶嵌数据集中,建议取消选中“Update Cell Size Ranges”和“Update Boundary”,直到所有栅格数据全部添加完成。

如果将栅格数据添加到已生成概视图(Overview)的镶嵌数据集中,则可以选择勾选“Update Overviews”,这样可在添加栅格数据的同时完成更新概视图。也可以稍后利用“构建金字塔(Build Overviews)”工具来完成。有关概视图后面的优化镶嵌数据集中再详细说明。

4)其他几个可选参数(栅格金字塔、坐标系统、数据过滤、操作描述等等)不再啰嗦了,看看帮助都比较好理解,如下链接:

http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#//001700000085000000


如果发现盒子里的东西不需要了,或者放错了,需要丢出去呢。

如果需要从镶嵌数据集移除栅格数据,就可以使用 Remove Raster From Mosaic Dataset 工具 。同样需要了解的是,这个工具并没有真正的删除原始栅格数据,而仅是从镶嵌数据集中移除存储的栅格数据的指针,或者叫链接。

  1. 移除栅格的操作是通过内部执行SQL语句实现的,在工具中,我们可以自行来写SQL语句中的 Where 语句。例如如果希望全部移除已添加的栅格数据,可以写成 “OBJECTID>=0”。
  2. 在移除栅格数据的同时,可以选择配置是否移除OverviewItem Cache,以及是否更新像元大小范围、边界,是否标记受影响的概视图等。
  3. 如果我们仅需要移除概视图,而不移除栅格数据,这个工具也可以满足,取消勾选“Remove Mosaic Dataset Items”选项即可。


如果连盒子都不想要了,希望和里面的东西一起全部扔掉。

我们可以使用工具Delete Mosaic Dataset工具,默认会全部删除镶嵌数据集、概视图和项目缓存。如果不希望删除概视图或缓存时,也可以取消勾选相关参数。



另外, 可以使用工具 Create Referenced Mosaic Dataset ,基于一个现有的镶嵌数据创建新的镶嵌数据集。

Referenced Mosaic Dataset 有一些自己的特点,可以解决一些实际问题。举几个例子,帮助理解为什么会有创建这种镶嵌数据集的需求。

  • 例如希望别人访问自己做好的镶嵌数据集,但是不希望别人更改已经定义好的一些属性和函数。也就是控制了修改数据的权限。
  • 例如现有包含了全部数据的主镶嵌数据集,但是希望根据需要筛选出部分感兴趣的特定栅格,同时又不更改主镶嵌数据集。也就是为了感兴趣对象的过滤。
  • 同样,如果现有包含了全部数据的主镶嵌数据集,但是希望使用不同的函数创建出多种输出,例如根据红色波段和近红外波段的 NDVI 或全色锐化的镶嵌。
  • 再比如,现有覆盖范围广大的全国的镶嵌数据集,但是希望按省提供小范围的镶嵌数据集给相应人员。

在地理数据库内外,均可创建 Referenced Mosaic Dataset。而不像普通镶嵌数据集仅能在数据库中创建。

在文件夹下而不是在地理数据库中创建,这种地理数据库的文件扩展名为 .amd,但是不会创建边界。加入ArcMap中,类似下面的样子:

另外,需要了解,我们无法对 Referenced Mosaic Dataset 构建概视图、计算像素大小范围、在栅格级别添加函数或添加新栅格数据。

就到这里了,下一篇打算抽时间总结下镶嵌数据集的修改方面知识点。