# 镶嵌数据集

目前栅格影像在采集后,均以分幅的模式进行存储,这样有利于数据的采集精度和迁移存储。某一个行政区范围内采集的栅格影像,可高达成千上万幅,数据量达到TB级。如何高效的将这些分幅栅格影像管理起来,是目前GIS对栅格影像应用的首要任务。

传统GIS软件,对于分幅栅格影像的管理,一般采用两种模式:一是直接以分幅数据的模式添加到系统中显示,这样会导致内存压力增大,对计算机的要求较高,且显示效率非常受限;二是将分幅数据拼接为一整幅数据,将TB级的数据拼接为一幅,这是非常耗时的,并且当部分源栅格影像发生变化时,并不便于更新。

镶嵌数据集管理模式应运而生。MapGIS镶嵌数据集通过“数据库+文件”的方式,用地理数据库中镶嵌数据集模型,管理本地及网络共享路径下的分幅栅格影像。镶嵌数据集用于管理一组以目录形式存储并以镶嵌影像方式查看的栅格数据集合。

MapGIS镶嵌数据集可实现如下意义:

  • 可管理成千上万幅栅格影像,数据量可高达TB级;
  • 支持本地及网络共享路径下栅格影像的管理,不要求栅格影像必须上载到数据库中;
  • 可利用镶嵌数据集裁剪瓦片并发布瓦片服务,也可直接通过Mapx发布镶嵌数据集服务;
  • 可管理不同空间参照系的栅格影像。对于不同参照系的栅格影像,可统一动态投影到同一个坐标系下显示;
  • 可对镶嵌数据集进行去黑边处理。分幅影像采集后,每一个分幅影像四周可能会存在黑色的无效像元,MapGIS镶嵌数据集可通过轮廓线去除黑边,且不会修改源影像数据信息。
  • 可管理同一位置不同分辨率栅格影像。如某一个市的镶嵌数据集包含1:10000和1:2000两种分辨率的影像。当显示比例尺小于1:10000时,看到的是1:10000影像拼接效果,当显示比例尺大于1:10000时,看到的是1:2000影像拼接效果;
  • 可对镶嵌数据集内所有栅格影像进行统一显示设置。尤其是多幅DEM数据,如果各自拉伸显示,两个图幅接边位置肯定有明显的界限,采用统一拉伸可有效消除界限。

镶嵌数据集组成如下图所示:

(1)轮廓线

轮廓线是镶嵌数据集中每一个栅格的基本组成,镶嵌数据集中的源栅格和概视图均存在轮廓线信息。轮廓线默认情况下,是镶嵌数据集中源栅格和概视图的外包矩形范围。但更多情况下,可以通过构建轮廓线,将轮廓线设置为镶嵌数据集中源栅格和概视图的有效范围,从而达到去黑边的效果。

轮廓线是使用镶嵌数据集的空间参照系创建的,它可能与源栅格数据集范围并不同。

(2)边界

边界是在镶嵌数据集内通过源栅格的轮廓线定义的所有栅格数据的范围,以面要素存储在地理数据库中,每一个镶嵌数据集只能有一个边界面,可能是一个单独多边形面,也可能是组合图元面。

边界用于确定镶嵌数据集的空间范围,只有边界范围内的栅格可以显示。在特定需求下,可利用构建边界功能,修改镶嵌数据集边界范围,从而改变镶嵌数据集的显示范围。如下图所示边界为红色线区域,只有边界范围内栅格可见。

(3)概视图

镶嵌数据集可以管理成千上万幅栅格数据,为了提高镶嵌数据集的显示效率,小比例尺时一般只显示轮廓线,不显示源栅格图像。为了保证在任意比例尺下都能正确显示镶嵌数据中源栅格拼接效果,可以对镶嵌数据集构建概视图。

镶嵌数据集的概视图类似于栅格数据集金字塔。概视图是在镶嵌数据集的所有栅格拼接显示的效果下,按照某种规则构建不同级别分辨率的栅格副本。查看整个镶嵌数据集时,会快速显示数据的较低分辨率副本,在放大过程中则依次会显示更高分辨率副本。

MapGIS对镶嵌数据集的概视图提供两个工具:定义概视图工具可用于自定义将要生成的概视图规则;构建概视图工具可用于更新或生成概视图。

概视图是源栅格的低分辨率副本,也可以认为是一个独立的栅格数据。镶嵌数据集添加栅格数据的概视图后,可在镶嵌数据集属性表中查看到概视图栅格列表,概视图基本属性结构与源栅格一致。

MapGIS中概视图有四种状态:

  • 【未处理的概视图】:已定义的空概视图,没有图像信息;
  • 【概视图】:已经定义并构建的概视图,包含图像信息;
  • 【待移除概视图】:包含图像信息的概视图,但所在范围内的源栅格已全部缺失。默认情况下,系统会自动从镶嵌数据集中删除此类概视图。
  • 【过时的概视图】:包含图像信息的概视图,其范围内的源栅格已被修改或部分缺失。

(4)镶嵌数据集属性

创建镶嵌数据集后,添加源栅格或构建概视图时,都会为镶嵌数据集添加一个栅格项,每一个栅格项都有一组属性信息。

  • 【ObjectID】:镶嵌数据集中每一个栅格项的唯一标识ID,具有一一对应关系,即使删除镶嵌数据集中某一个栅格项,其唯一标识ID也不会再被其他栅格使用。

  • 【Name】:记录了镶嵌数据集中每一个栅格项的文件名称。源栅格名称与源栅格存储名称一致,概视图名称由系统根据概视图层级和分块行列号等信息自动指定。

  • 【MinPS/MaxPS】:记录了镶嵌数据集中每一个栅格的显示像元大小范围,单位与镶嵌数据集的空间参照系单位一致。此范围控制镶嵌数据集中每一个栅格项的显示比例尺范围。超出该显示比例尺范围时,只显示轮廓线,不显示图像。

显示比例尺=1:((像元大小*单位每米)* 96 / 0.0254)

当空间参照系单位为米时,单位每米值为1;当空间参照系单位为毫米时,单位每米 值为0.001;当空间参照系单位为度时,单位每米值为111319.490793274。

如某一个栅格MinPS和MaxPs值分别为1和20,镶嵌数据集空间参照系单位为米。则

最大显示比例尺=1:(1*96/0.0254)≈1:3779.53 最小显示比例=1:(20*96/0.0254)≈1:75590.55

即表示该栅格显示比例尺范围为1:75590.55到1:3779.53,超出此范围时该栅格只显示轮廓线,不显示图像。

  • 【LowPS/ HighPS】:记录了镶嵌数据集中每一个栅格项的像元大小的值,单位与镶嵌数据集的空间参照系单位一致。LowPS为真实分辨率,HighPS为使用的最高层金字塔的分辨率。若源栅格没有金字塔信息,LowPS和HighPS值一致。

  • 【Category】:用于标识栅格是源数据还是概视图。概视图又包括未处理概视图、概视图、待移除概视图、过时的概视图四种状态。

  • 【CenterX/ CenterY】记录了镶嵌数据集中每一个栅格的中心点的 x/y 坐标。

(5)镶嵌规则

栅格影像采集时,为保证其精度,相邻两幅栅格影像通常会存在一定的重叠区域。镶嵌数据集在管理这些栅格影像的时候,通过镶嵌规则来管理源栅格的压盖关系。镶嵌规则由镶嵌方法和运算符共同决定。

a、镶嵌方法

镶嵌方法定义了重叠像元的叠加排序关系。目前MapGIS支持三种镶嵌方法:

  • 无:根据镶嵌数据集属性表中的顺序(ObjectID)对栅格项的压盖关系进行排序;
  • 按属性:指定属性字段,可根据该属性字段的值大小,对栅格项的压盖关系进行排序;
  • 按西北方向:根据每一个栅格项的中心点位置,与西北方向距离值
  • 按中心点:根据每一个栅格项的中心点位置,与镶嵌数据集的中心点距离值

假设在镶嵌数据集中依次添加A、B、C三幅部分重叠栅格,其位置关系如下所示:

采用升序方式时,其排序方式如下所示:

b、运算符

镶嵌运算符用于定义镶嵌影像中叠置像元的解析方法。镶嵌运算符包括以下几种:

  • 【第一个】:重叠区域像元值取镶嵌方法中第一个栅格的像元;

  • 【最后一个】:重叠区域像元值取镶嵌方法中最后一个栅格的像元;

  • 【最小值】:重叠区域像元值取所有重叠像元中的最小像元值;

  • 【最大值】:重叠区域像元值取所有重叠像元中的最大像元值;

  • 【平均值】:重叠区域像元值取所有重叠像元中的平均像元值。

假设有三个完全重叠的栅格,其排序关系与像元值如下所示:

运算结果如下所示:

# 相关主题

# 创建镶嵌数据集

# 功能说明

使用镶嵌数据集时,必须先创建一个空的镶嵌数据集容器。在创建的过程中,会定义镶嵌数据集的波段数、像元类型、空间参照系等属性信息。这些属性信息是镶嵌数据集的基准信息,所有添加的栅格均会以此属性信息为基准。

目前MapGIS支持在MapGISLocalPlus、Oracle、SQLServer、PostgreSQL数据库中创建镶嵌数据集。

# 操作说明

1.在"MapGIS GDBCatalog"面板中,选择 "某个数据库",启动"镶嵌数据集"节点->右键"创建" 功能后,弹出如下所示对话框:

2. 设置基本信息:

  • 【名称】:设置镶嵌数据集名称。此项目为必填项,且不能与该数据库中已有镶嵌数据集重名;
  • 【产品定义】:定义镶嵌数据集的波段信息。
  • 【像元类型】:定义镶嵌数据集的像元值类型。系统支持默认类型、8位无符号整数、8位有符号整数、16位无符号整数、16位有符号整数、32位无符号整数、32位有符号整数、32位浮点和64位浮点共9种类型。当像元类型为默认类型时,镶嵌数据集的像元值类型与第一个添加的栅格数据一致。

3. 设置空间参照系信息。为镶嵌数据集设置空间参照系信息,此处为必选项且参照系不能为空。结果镶嵌数据集显示时以此参照系为基准坐标,当镶嵌数据集中的栅格数据的空间参照系与此设置不一致时,均会动态投影到此参照系中显示。

4. 确认创建信息,点击"完成",创建一个空的镶嵌数据集。

提示:

目前MapGIS镶嵌数据集仅支持MapGISLocalPlus、Oracle、SQLServer、PostgreSQL四种数据库中进行创建。

# 添加栅格数据

# 功能说明

已有镶嵌数据集容器后,可以在镶嵌数据集容器中添加栅格数据。可通过镶嵌数据集查看所添加的栅格拼接显示效果。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"添加栅格数据" 功能后,弹出如下所示对话框:

2. 设置待添加的栅格数据信息。

  • 【栅格类型】:目前只支持栅格数据类型。
  • 【输入数据】:可支持文件夹和栅格文件两种类型。
    • 【文件夹】:可添加文件夹到数据源列表中,执行时会将文件夹中所有符合要求的栅格数据都添加到镶嵌数据集中。目前系统只对文件夹中*.msi、*.tif、*.img三种格式进行添加;
    • 【栅格文件】:可添加栅格文件到数据源列表中,执行时会将该栅格文件添加到镶嵌数据集中。目前系统只支持*.msi、*.tif、*.img三种格式。

提示:

MapGIS目前可支持添加网络共享路径下的栅格数据。任何一台计算机添加并显示镶嵌数据集时,必须有访问该网络共享盘的权限,请在windows操作系统中记住用户名密码凭据。

  • 【数据源列表】:可调节数据源列表信息,
    • 【+】:添加文件夹或栅格文件数据源;
    • 【-】:删除数据源列表中选中的单个或多个项;
    • 【↓ / ↑】:调节数据源列表中项目的叠加顺序。

3. 点击"下一步",设置高级选项信息:

  • 【更新像元大小范围】:计算所有待添加栅格的像元大小范围,值会写入到属性表的MinPS和MaxPS中;若不勾选,不会进行计算,MinPS和MaxPS值为空;
  • 【更新边界】:根据所有待添加栅格的轮廓线,生成镶嵌数据集的边界面;若不勾选,则不会生成;
  • 【输入的空间坐标系】:设置待添加栅格的备用空间参照系,会存在如下情况:
    • 若此设置为空,待添加栅格包含空间参照系信息,可成功添加,待添加栅格空间参照系为空,会添加失败;
    • 若此设置非空且不勾选【强制对输入数据使用该参照系(可选)】,待添加栅格空间参照系为空,会使用此空间参照系;若待添加栅格空间参照系不为空,此参数不起作用;
    • 若此设置非空且勾选【强制对输入数据使用该参照系(可选)】,不论待添加的栅格是否包含空间参照系信息,均采用此设置的空间参照系。
  • 【金字塔设置】:定义将在镶嵌数据集中使用的最大金字塔等级数,会取下面三个值的最小金字塔等级数。
    • 【最大级别】:定义将在镶嵌数据集中使用的最大金字塔等级数;
    • 【最大像元大小】:定义将在镶嵌数据集中使用的金字塔的最大像元大小;
    • 【最小行数或列数】:定义将在镶嵌数据集中使用的金字塔的最小行列数;
  • 【输入数据过滤器】:通过过滤条件,对源栅格进行过滤,只添加符合条件的源栅格。
  • 【包括子文件夹】:通过 文件夹 类型添加栅格时,勾选此项,会遍历该文件夹及子文件夹中所有符合要求的栅格;不勾选此项,只遍历该文件夹下所有符合要求的栅格。

4. 点击"下一步",进行“确认设置”页面;确认完成后,点击“确认”,完成栅格数据的添加。

# 构建轮廓线

# 功能说明

是镶嵌数据集中每一个栅格在镶嵌数据集的参照系下的轮廓区范围,镶嵌数据集中的源栅格和概视图均存在轮廓线信息。

构建轮廓线功能,可指定栅格的有效像元值范围,从而起到去除栅格的黑边效果。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"修改"->"构建轮廓线"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【查询定义】:可通过SQL语句只对符合条件的栅格进行轮廓线的重新构建。此参数为空时,对镶嵌数据集中所有栅格进行操作;
  • 【计算方法】:系统支持“8方向边界追踪”法,即利用目标点的八邻域信息,持续递归寻找轮廓上的下一个顶点,直到追踪完为止,以此实现对整个轮廓线进行追踪。
  • 【最小/最大像元值】:可设置像元值范围。生产轮廓线时只有此范围内的像元值会认为是有效部分;
  • 【最大顶点数】:用于定义轮廓线的复杂程度。顶点数越多,轮廓线越准确且越不规则;
  • 【跳过概视图】:勾选时,不对概视图栅格进行操作;不勾选时,会对概视图的轮廓线进行重新构建;
  • 【更新边界】:勾选时,会根据新的轮廓线重新生成边界;不勾选时,边界不会发生变化。

3. 点击"确定",可执行操作。

# 构建边界

# 功能说明

镶嵌数据集的边界默认是基于其中所有栅格的轮廓线的集合而构建的区域,只有边界范围的栅格可以显示。在特定需求下,可利用已有矢量区(如行政区)替换原始镶嵌数据集边界,从而改变镶嵌数据集的显示范围。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"构建边界"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【查询定义】:可通过SQL语句只使用符合条件的栅格轮廓线来重新构建边界;当SQL条件为空时,对镶嵌数据集中所有栅格进行操作;
  • 【追加到现有边界】:不勾选时,符合SQL条件的所有栅格外轮廓线范围即新的边界区范围;勾选时,最终的边界范围是符合SQL条件的所有栅格外轮廓线范围即新的边界区范围和原边界的并集范围。如下图示例所示,红色为边界范围,绿色为轮廓线范围。

3. 点击"确定",可执行操作。

# 更新边界

# 功能说明

镶嵌数据集的边界默认是基于其中所有栅格的轮廓线的集合而构建的区域,只有边界范围的栅格可以显示。在特定需求下,可利用已有矢量区(如行政区)替换原始镶嵌数据集边界,从而改变镶嵌数据集的显示范围。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"更新边界"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【选择数据】:选择一个矢量区作为镶嵌数据集的边界。
  • 【查询过滤】:可通过SQL语句,选择矢量区中符合条件的图元作为边界;

3. 点击"确定",可执行操作。

# 定义概视图

# 功能说明

MapGIS中构建并使用镶嵌数据集的概视图前,需先定义概视图,生成概视图的空容器。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"优化"->"定义概视图"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【输出位置】:设置概视图栅格的保存位置。系统支持数据库和本地文件夹两种;
  • 【处理范围】:设置概视图的范围。默认情况下,将为包含在镶嵌数据集边界内的区域生成概视图。但在某些情况下需要控制生成的区域,这时可以通过指定x/y坐标来定义矩形区域。系统也支持选择一个数据的范围作为生成概视图的范围;
  • 【像素大小】:如果不想使用所有栅格金字塔,可设置概视图的基础像素大小,其单位与镶嵌数据集的空间参照系单位相同。当值为0时,系统会根据金字塔自动计算最佳基础像素大小。
  • 【级数】:设置概视图的最大级别数。当值为0时,系统会自动计算概视图级别的最佳值。当值为非0时,概视图的最大级别为该指定值。
  • 【行数/列数】:概视图的分块大小。行列数值越大,单张概视图的尺寸越大,构建概视图的总数量越少,源栅格发生变化时需要重新生成文件的可能性也越大。
  • 【采样系数】:概视图构建等级系数,此系数用来确定后续概视图的大小。例如,如果第一个等级概视图的像元大小为 n,采样系数为 3,则下一个概视图像素大小将为 3n。
  • 【重采样方法】:生成概视图的重采样方法。目前提供“最邻近重采样”,对于专题数据,可选择最邻近法。

3. 点击"确定",可执行操作。

# 构建概视图

# 功能说明

已定义概视图,但未构建或构建的概视图已过时,可通过此功能构建概视图

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"优化"->"构建概视图"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【查询定义】:可通过SQL语句只使用符合条件的栅格构建概视图;当SQL条件为空时,对镶嵌数据集中所有栅格进行操作。
  • 【定义缺失概视图分块】:当镶嵌数据集的范围大于已定义的概视图范围时,勾选此项,可对缺失的范围定义概视图。当用户定义概视图后,再添加栅格时,可直接通过此功能定义新增栅格范围的概视图,而不必执行 定义概视图 操作。
  • 【生成概视图】:勾选时,执行生成概视图;反之不执行。
  • 【仅生成缺失概视图图像】:勾选时,对概视图状态为“未处理的概视图”的项进行生成概视图操作;反之,不对该类概视图进行操作。
  • 【仅重新生成过时的概视图图像】:对概视图状态为“过时的概视图”的项进行生成概视图操作;反之,不对该类概视图进行操作。

3. 点击"确定",可执行操作。

提示:

概视图是基于源栅格拼接效果构建的低分辨率副本,源栅格的叠加压盖关系会直接影响概视图的效果。因此建议显示设置完成后,再构建概视图。

# 移除栅格

# 功能说明

从镶嵌数据集中移除指定的栅格项,包括源栅格和概视图。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"移除栅格"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【查询定义】:此条件不能为空。移除栅格时,必须设置SQL查询语句,只对符合条件的栅格进行操作;
  • 【删除概视图图像】:当选中的栅格中包括概视图时,勾选时,可删除概视图图像,镶嵌数据集中依然会有该概视图项,但没有图像;
  • 【更新像元大小范围】:移除镶嵌数据集中栅格后,勾选时,可根据剩余的栅格自动计算像元大小范围;反之,镶嵌数据集中像元大小范围不变。
  • 【更新边界】:移除镶嵌数据集中栅格后,可根据剩余的栅格自动更新镶嵌数据集边界;反之,不会更新边界。
  • 【标记受影响的概视图】:移除镶嵌数据集中栅格后,勾选此项,可标记受影响的概视图状态,;反之,不会改变概视图状态。当用户移除了部分源栅格时,建议勾选此功能。可标记受影响的概视图,只需利用构建概视图功能对此部分概视图进行重新构建,节约时间成本。
  • 【移除镶嵌数据集项】:勾选时,移除满足SQL查询语句的栅格项;反之,不移除。

3. 点击"确定",可执行操作。

# 计算项目可见性

# 功能说明

重新计算镶嵌数据集中每一个栅格项的可见性等级,包括源栅格和概视图。其结果会修改属性表中的MinPS和MaxPS值。显示小比例尺范围时,若只能看到轮廓线,可通过此功能增大MaxPS值,保证小比例尺范围也能看到源栅格的拼接效果。

# 操作说明

1. 在"MapGIS GDBCatalog"面板中,选择某个镶嵌数据集,右键启动"修改"->"计算项目可见性"功能后,弹出如下所示对话框:

2. 可设置参数信息:

  • 【查询定义】:可通过SQL语句只对符合条件的栅格进行操作;当SQL条件为空时,对镶嵌数据集中所有栅格进行操作;
  • 【范围系数】:定义结果相对于HighPS的倍增系数,默认为10。如源栅格的HighPS值为1.6,则MaxPS值为16。
  • 【计算最小像元值大小】:勾选时,重新计算镶嵌数据集中每个选定栅格的最小像元大小,即MinPS值;反之,不计算;
  • 【计算最大像元大小】:勾选时,重新计算镶嵌数据集中每个选定栅格的最大像元大小,即MaxPS值;反之,不计算;
  • 【仅更新缺失值】:勾选时,仅对镶嵌数据集中MinPS和MaxPS值为空的栅格进行重新计算

3. 点击"确定",可执行操作。