system: [SYSTEM]

user: 3. 系统设计 基于ArcGIS Engine的草原多源遥感数据管理系统是采用C/S架构，利用ArcGIS Engine可以为不同需求层次用户提供的全面的、可伸缩的GIS产品线和解决方案的优势，根据草原多源遥感数据的特点而开发出的数据管理系统。其主体可以分为以下几个模块：数据模块，计算模块、工具模块、显示模块和用户管理模块。设计图如图2所示： 图2. 系统架构图 3.1. 数据模块 主要采用ArcGIS中的文件地理数据库对各种数据进行存储和管理的，其数据类型主要包括两大类：原始数据和预处理后的数据。 原始数据主要有以下几种：卫星数据，飞艇高光谱数据、无人机高光谱数据、无人机可见光数据以及地面手持多光谱数据。原始数据的波段数和地面分辨率参数可参考表1。预处理后的数据主要有：5天间隔的融合影像、辐射校正和几何校正后的高光谱数据、拼接后的影像以及单点植被指数。其中对卫星影像的预处理步骤是根据目标区域2016~2018年三年内Landsat和MODIS遥感影像，利用STARFM (Spatial And Temporal Adaptive Reflectance Fusion Model)模型融合高时间分辨率的MODIS数据与中等空间分辨率的Landsat数据，得到时序Landsat数据 [ 4 ] 。并利用融合后的时序影像计算出目标区域的NDVI指数和植被覆盖度指数。飞艇高光谱数据和无人机高光谱数据的预处理首先是对高光谱数据进行辐射校正和几何校正，之后对校正后的高光谱数据进行光谱衍生变换，采用不同建模方法构建营养量的反演模型，最终得到目标区域的营养量图，如粗蛋白、粗纤维等 [ 5 ] 。无人机可见光数据的预处理是对无人机影像进行影像拼接，得到目标区域大范围的影像。之后利用公式计算得到基于可见光影像的植被指数，包括ExG、ExR、GRVI、RGBVI、TGI等指数 [ 6 ] 。地面手持多光谱数据的预处理步骤是利用单张多光谱影像计算出单张的植被指数数据，与此同时利用同步采集的多光谱影像的位置数据上采样得到目标区域的植被指数。 Table 1 Parameters of various data types in the syste 数据类型 Data type 波段数 Number of bands 分辨率 Resolution/m 卫星数据Satellite data 7 30 飞艇高光谱数据Airship hyperspectral data 840 0.09 无人机高光谱数据UAV hyperspectral data 149 0.03 无人机可见光数据UAV RGB Data 3 0.025 地面手持多光谱Ground Handheld Multispectral 6 20 (测量点间距) 表1. 系统中各种数据类型的参数 3.2. 数据模块 现如今草原遥感数据大都是栅格数据，而ArcGIS Engine的查询和统计功能对栅格数据不太友好，对矢量数据的查询则比较快速高效。计算模块的主要功能将目标区域划分为网格，计算出每个网格内区域的属性均值，并将这些属性值赋值到网格的属性里，以供查询和统计模块快速有效的获取当前位置的属性值。 其原理是调用渔网工具，生成网格，以及给网格赋值。创建渔网需要三组基本信息：渔网的空间范围、行数和列数以及旋转的角度 [ 7 ] 。本系统会根据不同的数据选择不同的参数来进行渔网的创建，比如在对卫星影像数据进行渔网创建时，使用旋转角度为0、大小为2 km × 2 km的网格来对海晏县全境进行网格划分，卫星影像网格划分示意图如图3所示。在对无人机影像数据进行渔网创建时，使用旋转角度为0、大小为10 m × 10 m的网格来对海晏县全境进行网格划分，无人机影像网格划分示意图如图4所示。在完成网格创建之后，就需要给网格赋值，步骤如下：首先给生成的网格添加字段，字段内容为所有需要查询和管理的植被指数名称。之后根据网格坐标范围确定每个网格的覆盖范围，将覆盖范围内所有的植被指数等栅格数据分别求得均值，并将每个网格内的植被指数等数据求得的结果写入对应网格的对应字段中。表2展示了卫星数据的网格参数属性表。 图3. 卫星数据以及其对应的2 km × 2 km的网格图 图4. 无人机原始影像以及其对应的10 m × 10 m的网格图 Table 2 Attribute table of satellite data grid parameters (partial Id Dem/m EVI/% NDVI/% 降水量 Precipitation/mm 湿润度 moisture index/% 1 3194 0.010795 0.0707 435.0086 2.797762 2 3194 0.0081 0.022331 435.3927 2.803571 3 3194 0.006751 0.110091 436.159 2.815067 4 3194 0.00303 0.285714 436.7814 2.824918 5 3194 0.2109 0.1025 437.248 2.832219 6 3194 0.19871 0.1222 431.6496 2.756019 7 3194 0.015904 0.009462 432.3522 2.765264 … … … … … … 表2. 卫星数据网格参数属性表(部分) 3.3. 工具模块 工具模块主要由以下几个部分组成：属性编辑、查询和统计、输出打印以及基础地图工具。其中属性编辑是可以对矢量图层进行编辑的工具，既可以单个元素修改也可以批量修改，其目的是对一些错误的数值进行修改或者对一些矢量元素的属性值进行人工输入。界面如图5所示，点击开始编辑之后，选择想要编辑的区域，即可在系统弹出的属性表中修改和添加当前区域的属性值。查询和统计是一种多条件查询工具，可以利用SQL语句对符合条件的区域进行查询和统计。比如想要知道所有鲜重大于115的网格，只需要在查询窗体的SQL语句输入框内输入“鲜重 > 115”，点击查询即可，符合结果的网格会高亮显示，查询结果的详细信息会在另一窗格里以表格的形式存在，并支持导出成表格以供其他系统使用，查询界面以及查询结果如图6所示。输出打印是系统必备数据输出功能，可以做到将当前地图作为图像输出或打印，以及对输出打印的地图添加图例、指北针、比例尺、地图标题等功能。基础地图工具模块主要是一些对地图操作的工具，主要包括打开、保存、添加数据、全图显示、放大、缩小、手型工具、书签工具、信息工具以及元素选择工具。 图5. 属性编辑 图6. 网格快速查询 3.4. 显示模块 显示模块主要负责地图主界面、图层窗格的显示以及鹰眼和专题图制作等功能。地图主界面显示调用的是ArcGIS Engine中的axMapControl控件，主要用来作为各种数据显示的主界面。图层窗格调用的是ArcGIS Engine中的axTOCControl控件，用来显示当前主界面数据的所有图层信息，并且利用contextMenuStrip控件实现了在axTOCControl上的右键功能，可以实现删除移动图层，缩放到图层以及打开属性表等操作。而鹰眼的功能是利用另一个axMapControl控件来实现的，表示数据视图中的地理范围在全图中的位置，与数据视图的地理范围保持同步，数据视图的当前范围能够在鹰眼视图中用一个矩形框标示出来。若数据视图的显示范围发生变化，鹰眼视图中的矩形框位置也会发生变化，在鹰眼中操作视图，数据视图中的地理范围也将同步调整。当鹰眼中用鼠标点击时，数据视图能够移动到被点击的位置。拖动矩形框可以调整数据视图中的地图显示范围；在鹰眼视图上拖动矩形框时，数据视图能够以全图显示矩形框内的内容。专题制图是按照特定专题来渲染地图的过程，专题制图通常使用数据集中的一组或多组数据利用颜色渲染、填充图案、符号、条形图和饼图的方式表示数据，根据数据中的数值来渲染颜色或者图案和符号，以创建专题地图 [ 8 ] 。本系统采用四种渲染方式：分级颜色、饼图、条形图和堆叠图，用户可以根据不同的数据类型选择不同的数据渲染方式，以达到更好的渲染效果，生成更加符合并突出数据特点的专题地图。 3.5. 用户管理模块 从数据的安全性方面考虑，本系统必须具有权限管理功能。因此本系统开发了用户管理模块，主要包括用户的注册、账户名密码设置以及用户权限设置密码修改等功能。确保不同用户接触到的数据等级不同，从而更有效的保证数据的安全性。