APP下载

基于插件技术的滩涂资源遥感监测系统的研究与应用

2022-05-06孔得雨林伟波

关键词:海岸线滩涂功能模块

孔得雨,林伟波

(江苏省海涂研究中心,江苏南京 210036)

江苏省沿海蕴藏着丰富的滩涂资源,其面积约占全国总滩涂面积的25%,且有不断淤涨的特征[1],主要包括土地资源、海洋能源、生物资源、港口航运资源、海盐资源、旅游资源等[2].滩涂资源是海岸带的重要组成部分,沿海滩涂是海洋开发的前沿阵地.近年来,受气候变化和低管控效率等因素的影响,滩涂海域的生态环境被破坏,生态系统功能退化,如何高效地监测和保护滩涂资源、实现科学管控和可持续发展成为研究的热点.

目前,将滩涂资源遥感监测与可视化技术结合的研究较多.在图层方面,唐云等实现了三维复杂图层,然而绘制的是栅格图像,不能实现图层属性数据的空间查询功能[3];在实体管理方面,杨一鹏等利用GIS技术实现了属性和图的互查,但在空间信息和属性信息关联以及动态拓扑重构方面,还有改进的空间[4];在系统设计方面,张毅等阐述了插件式GIS 应用框架具备结构清晰简洁、支持复用、可扩展性强、功能模块间良好协作和易于维护等优点,但针对滩涂资源遥感监测的行业应用型地理信息系统软件仍存在软件开发效率不高和复用性较低等问题[5].所以,攻克滩涂资源遥感监测系统中的关键技术,建立高效的滩涂资源遥感监测系统[6],对于实现滩涂资源准确、高效的动态监测以及相关决策的制定具有十分重要的意义.鉴于此,本研究利用GIS 技术、数据库技术和插件技术,构建了一个对江苏滩涂资源中的滩涂面积、滩涂地物分类、湿地植被覆盖度、湿地生物量、湿地碳储量、海岸线等因素进行可视化的遥感监测系统.该系统以分层的形式表达各种所需要的展示信息,基于地理标识语言的GIS 实体关系映射设计,实现了GIS 实体的动态维护与展现,以MapObject 作为基本GIS 地图展现工具,提出了系统的总体结构和功能模块,实现了基于插件技术的滩涂资源遥感监测系统,在江苏滩涂资源遥感监测和资源保护中得到了广泛应用.

1 关键技术

1.1 Geography Markup Language

Geography Markup Language(GML)是一种XML编码语言,主要用于建立模型、地理及其相关信息的传输及储存,包含地理要素和层的空间与非空间特征[7].根据W3C 系列标准,GML 通过网络共享实现地理信息的具体表达,同时也是在GIS 界首次被广泛认可的元标记语言[8].为了让地理信息能在不同领域进行语义共享,GML 使用XML 技术,为开发商和用户搭建了一个不依赖于任何厂商的具有开放性质的地理数据建模框架[9].

1.2 MapObject

MapObject 简称MO,由美国 的ESRI(Environ⁃ment System Research Institute)开发,是流行的组件式GIS 开发软件.MO 地图应用组件在COM 技术基础上开发而来,由称为Map的ActiveX 控件和大概45个自动化对象组成.MO 是客户端应用业务常使用的地图开发环境,因此,在标准编程环境下混合使用MO 和其他多媒体、图形、数据库开发技术可以搭建成熟的应用软件[10].

1.3 插件技术

随着面向对象程序设计技术的发展,为提高软件的灵活性与可扩展性,提出了基于“框架+插件”的软件设计模型[11],它按照功能进行封装,通过即插即用实现不同开发成果的快速构建和复用,缩短了软件开发周期,节约了开发成本.GIS 应用框架完全实现了GIS技术在全行业应用领域通用的底层服务.

2 系统框架设计

2.1 总体架构

基于插件技术的滩涂资源遥感监测系统能够对沿海的滩涂面积、滩涂地物分类、湿地植被覆盖度、湿地生物量、湿地碳储量、海岸线遥感监测等数据进行入库、分析和可视化展示,并以分层的形式表达滩涂资源遥感监测信息.

系统建立在C/S结构上,利用插件技术对系统模块进行封装和统一管理.系统总体结构由应用表现层、中间逻辑层和数据服务层组成,具体如图1所示.

图1 系统总体结构图Fig.1 System structure diagram

应用表现层为用户操作平台,其功能分为GIS实体基本展示、滩涂面积、滩涂地物分类、湿地植被覆盖度、湿地生物量、湿地碳储量、海岸线遥感监测等滩涂资源信息的管理及可视化展示.

中间逻辑层封装了数据知识挖掘、空间分析等模块的业务逻辑,其中计算机实现及动态GIS 实体逻辑是核心问题.

数据服务层为中间逻辑层提供方法源和数据源,包括由实体信息库、元数据库等构成的GIS 知识库.

2.2 功能模块设计

滩涂资源遥感监测系统主要是为海涂资源研究和管理人员提供滩涂湿地及海岸线遥感监测等基础信息的产品.其核心功能包括:基于GIS 可视化的沿海滩涂面积、滩涂地物分类、湿地植被覆盖度、湿地生物量、湿地碳储量、海岸线遥感监测等基础数据.该系统由四个模块组成:地图管理模块、滩涂湿地遥感监测模块、海岸线管理模块、系统管理模块.系统功能图如图2所示.

图2 系统功能图Fig.2 System function diagram

地图管理模块主要完成对GIS 地图的基本操作,核心是利用基于GML 的GIS 实体动态映射方法,实现GIS 实体类、类属性等的完全自定义;滩涂湿地遥感监测模块对江苏滩涂面积、滩涂地物分类、湿地植被覆盖度、湿地生物量、湿地碳储量等遥感监测信息进行存储管理、查询、专题制图以及可视化展示;海岸线管理模块主要实现对海岸线遥感监测结果的分析及可视化展示;系统管理模块包括数据异常处理、权限管理、用户管理模块.本系统采用MapObject作为基本GIS 展现组件,是实现可视化展示的重要部分.

2.3 基于GML的GIS实体关系映射设计

利用GML 描述地理对象的非空间属性和空间属性数据,对GIS 实体进行映射设计,有利于实现对GIS 实体基本属性、基本信息的动态维护,进而提高实体维护的灵活性.采用GML 设计思想,将滩涂湿地、海岸线、港口、码头等对象通过类型、对象、属性、值进行存储,实现GIS 对象实体、属性的动态维护,具体如图3所示.

图3 GIS实体关系数据库模型图Fig.3 GIS entity relational database model diagram

2.4 数据库设计

系统数据库主要由基础地理信息数据库、空间数据库、属性数据库组成.

1)基础地理信息数据库

其包含用于可视化展示沿海滩涂遥感监测和沿海岸线提取结果的基础地理信息数据,主要包括江苏沿海湿地植被和土地利用状况的数字线划图(DLG)数据、数字高程模型(DEM)数据、数字正射影像(DOM)数据及相应元数据等.

2)空间数据库

其包含不同类型及比例尺型号的空间数据,组成要素包括江苏沿海滩涂的行政区、滩涂植被、水体流向、海岸线、港口、码头等.

3)属性数据库

其包含用户信息表、权限表、数据异常表等.

2.5 基于MO组件的GIS实体展现

在GIS 的展现上,充分利用ASP.NET 的物理封装与动态链接相结合的方法[12],结合MapObject强大的GIS 地图表现功能,实现GIS 实体的灵活展现.具体如图4所示.

图4 GIS地图体系结构Fig.4 GIS map architecture

物理上的封装意味着将程序封装成若干个独立的物理组成部分,各部分之间通过动态链接共同完成系统的功能,有利于系统的维护和版本的升级.

3 系统插件设计

在系统功能模块的设计上,采用插件技术,将系统划分为具有不同功能的模块插件,如GIS 实体管理模块插件、滩涂湿地遥感监测模块插件、海岸线遥感监测模块插件等.系统通过相应的接口将具体的模块插件加入主程序中,系统模块管理示意图如图5 所示.

图5 系统模块管理示意图Fig.5 System module management diagram

3.1 插件设计原则

平台与插件之间需要交互的接口需满足以下条件:

第一,能够智能化识别插件.系统各功能模块的划分,需要插入很多插件,提供相应接口对要加载的插件进行自动化识别.接口需要先获取插件的信息并判断是否为目标插件,若确定为目标插件,需进一步分析插件所需信息资源并自动创建匹配的运行环境,使插件能正确地被调用并加入系统中.

第二,可自动化调用插件.当插件智能化识别完成后,系统即可调用插件的具体功能.调用的方式主要包括自动调用和事件激活,其中自动调用是根据系统自身需求或客户需求进行调用,事件调用则是依据特定事件的信息进行调用.

第三,实现平台与多插件间的协调通信.接口实现了平台和插件间的通信,接口对插件的单一调用以及多插件间相互协同的通信问题,对单插件的可重用性和多插件的并行调用具有较大影响.

第四,具有较高的兼容性.不同的插件一般对应不同的接口.针对现有接口进一步扩展其功能,使得多插件调用时仍保持有序协调的状态,同时能够兼容原有接口.

3.2 通用插件接口设计

插件技术的使用将程序分成宿主程序和插件,这两部分可以相互通信,在宿主程序不变的情况下,为达到对功能模块进行快捷、安全装卸的目的,可采用增加新插件、删减旧插件或修改插件等方法来调整和增强程序功能[13].

根据插件的描述信息,可以统一定义和设计插件的类,解决GIS 应用框架与插件之间交互通信的入口问题.把通用插件接口定义为插件功能模块接口类和插件管理模块接口类,包含四个类:GIS⁃Framework、TPluginInfo、TPlugins、TPlugin,通用插件接口类关系如图6所示.

图6 通用插件接口类关系图Fig.6 General plug-in interface class diagram

1)GISFramework 类库主要负责主程序运行,在主框架程序启动时,通过传递插件参数接口类,完成主程序与插件功能模块间的资源传递,然后加载各子插件功能模块,实现插件功能模块在滩涂资源遥感监测系统中的顺利运行.

2)TPluginInfo 类是插件基本信息类,插件模块功能通过动态连接库形式提供,每个插件模块导出一个函数GetPluginInfo,该函数返回包含插件模块TPluginInfo的内存指针.

3)TPlugins 插件集合类负责统一管理所有的插件,包括对系统菜单、工具条、滑动工具栏的引用.

4)TPlugin 插件类定义了一个具体的插件,功能是实现插件的加载及卸载.TPlugin 封装了插件与主框架、滩涂湿地遥感监测模块、海岸线遥感监测模块、系统管理等插件交互的具体实现.

3.3 系统插件工作流程

主框架程序启动时,创建TPlugins 类的实例,调用Load 方法,传递一个TPluginParam 类型的参数,该参数传递给插件的OnConnect函数,让插件访问主程序中的信息.具体工作流程如图7所示.

图7 插件工作流程图Fig.7 Plug-in workflow diagram

1)启动主程序,加载所有插件的规范化信息.

2)利用解析接口,获取TPlugins 插件集合类中关于插件的物理存储信息,为后续正确加载插件提供必要条件.

3)宿主程序根据获取的存储信息解析插件位置信息,并动态加载相应插件.

4)通过接口获取插件的功能资源和其他相关功能信息,主要包括系统的显示信息、图标和显示方式等.

5)为了实现在点击系统中某一图标时能够调用对应的插件,需要在宿主程序中建立插件的名称等资源与插件位置之间的映射关系.

6)宿主程序将插件副本资源,如名称、图标等导入自身的进程地址空间,并且及时更新主系统界面.

7)当用户点击某一图标后,通过步骤5)建立的映射关系定位到相应插件,利用相应的接口调用对应的插件.

4 系统应用

系统使用MapObject 为GIS 展现组件,采用插件技术,以ASP.NET 建立UI界面,SQL server 2010为数据支撑平台,实现了江苏沿海滩涂面积、地物分类、植被覆盖度、湿地生物量、碳储量及海岸线等遥感监测数据的存储管理、查询等系统功能,完成了对江苏沿海滩涂资源量的遥感动态监测,同时实现了各类专题制图产品的自动生成和统计分析结果的可视化展示.

4.1 滩涂湿地管理

滩涂湿地管理模块实现了沿海滩涂面积遥感监测产品、滩涂地物分类遥感监测产品、植被覆盖度遥感监测产品、湿地生物量遥感监测产品、湿地碳储量遥感监测产品的存储管理、查询显示及基于GIS 的可视化展示,支持各类专题制图产品的自动生成和相关统计分析结果的可视化展示.滩涂湿地遥感监测功能模块运行图如图8所示.

图8 滩涂湿地遥感监测功能模块运行图Fig.8 Function module operation diagram of tidal flat resources remote sensing monitoring system

滩涂面积遥感监测模块:使用2020 年GF-6 卫星遥感影像,综合利用遥感和GIS 技术,使用目视解译与屏幕数字化相结合的方式对海岸线进行遥感解译和空间提取,结合0 m 等深线,对江苏沿海滩涂区进行提取计算.

滩涂地物分类遥感监测模块:依据江苏沿海湿地植被和土地利用状况,将滩涂地物类型划分为水域、盐地碱蓬滩、芦苇沼泽、互花米草、耕地、建筑用地、养殖池以及光滩8 种类型.采用人工交互式解译法,对2020 年GF-6 遥感影像进行详细的专题遥感分类解译,统计各地类面积.

湿地植被覆盖度遥感监测模块:以2020 年1 月—11 月Landsat 8-OLI 遥感影像为基础数据进行江苏滩涂植被覆盖度监测研究.对遥感影像进行辐射定标、大气校正、影像镶嵌裁剪,基于像元二分模型进行分析,利用最大值合成法得到2020 年江苏沿海滩涂植被覆盖度遥感监测结果.

湿地生物量遥感监测模块:基于滩涂植被覆盖区,利用已有湿地植被覆盖度与植被地上生物量干重间的遥感估算模型开展生物量估算,得到滩涂资源植被的空间分布状况.

湿地碳储量遥感监测模块:在滩涂植被覆盖区,使用基于植被地上部生物量构建的生物碳储量估算模型进行碳储量的估算,得到滩涂资源植被部分碳储量的空间分布状况.

4.2 沿海岸线管理

沿海岸线管理模块支持江苏沿海岸线提取结果、岸线变化监测结果的可视化展示,实现了相关专题图的自动生成和相关统计分析结果的可视化展示.海岸线遥感监测模块:对2000—2020 年每5 年江苏沿海岸线进行解译,对各时期影像进行空间配准,并对影像进行增强处理,采用屏幕数字化和目视解译相结合的方式提取江苏海岸线的相关数据,监测海岸线长度变化.沿海岸线遥感监测功能模块运行图如图9所示.

图9 沿海岸线遥感监测功能模块运行图Fig.9 Operation diagram of coastal shoreline remote sensing monitoring function module

海岸线变化监测模块:实现不同年份江苏海岸线遥感监测结果的动态展示.2000—2020 年江苏沿海海岸线变化统计结果如图10所示.

图10 2000—2020年江苏沿海海岸线统计分析表Fig.10 Statistical analysis table of Jiangsu Coastal coastline from 2000 to 2020

根据系统统计分析结果,2000—2020 年江苏海岸线总长度逐年增加,其中自然岸线逐年减少,人工岸线逐年增加,人工岸线增加的长度大于自然岸线减少的长度.该结论与陈玮彤“江苏省遥感海岸线中自然岸线的长度不断减少、人工岸线的长度大幅增加,岸线长度总体增加”的结论一致[14].

5 结论

从滩涂资源重要性和实际遥感监测需求出发,利用GML 和MapObject,基于插件技术,对系统的实体管理、图层管理及设计方面进行了优化,完成了江苏滩涂资源遥感监测系统的研究及业务化应用,初步掌握了江苏沿海滩涂资源和海岸线遥感信息数据,为江苏海洋滩涂资源保护提供了技术支撑,取得了较好的实际应用效果.但目前该系统还不能完全满足海洋生物多样性可视化展示方面的大规模应用需求,将在以后的工作中进一步研究.

猜你喜欢

海岸线滩涂功能模块
霞浦滩涂
穿越日照阳光海岸线
海岸线
上岸的鱼
滩涂上的丹顶鹤
滩涂评估方法适用性研究
徒步拍摄英国海岸线
徒步拍摄英国海岸线
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究