文章以黑龙江省塔河林场为研究区域,以1974年—2018年森林火灾数据为数据源,建立以Visual Studio 2018为开发环境,ArcGIS Engine为开发组件的森林火灾数据管理系统,为长时间序列的火灾数据管理提供思路与解决方案。
通过 GIS技术支持构建的森林火灾数据管理平台可以实现森林火灾数据的收集、储存、编辑、查询、统计分析以及空间可视化等功能,便于森林管护人员便捷高效地管理原有森林火灾数据、及时研判新的火情及与原有数据进行整合分析。在组件技术的支持下,软件系统被视为相互协同工作的对象集合。组件式GIS具有可封装、可复用、可定制、可组装、语言无关及无缝集成等技术特,在实现有限范围内的不同语言开发的系统功能在同一标准开发环境下集成操作的同时,还能和其他专业应用系统集成操作。
开发环境
Visual Studio 2018是由美国微软公司推出的整合开发环境,包括了整个软件生命周期中所需要的大部分工具和组件接口,包括 UML 工具、代码管控工具和集成开发环境等。ArcGIS Engine是一套嵌入式GIS组件库和工具库,其由ESRI
公司于ArcGIS 9.0的版本中率先推出,支持多种开发语言,如Java、C++等,其组件库中的组件可以分为以下 5 个部分:① Base Services:包括所有的 GIS 应用组件开发需要调用的 Arc-Objects组件如Geometry等②Data Access:包括矢量与栅格数据的存储以及地理数据库的所有接口和类的组件③MapPresentation:包括数据显示、符号化表示和地理专题图制作等组件④Developer Components:包括特定应用开发所需要的全部可视化控件如 MapControl 等;⑤Extensions:包括空间分析、网络分析等地理数据分析处理的高级功能。
系统总体设计
根据森林火灾数据管理系统总体设计目标和原则,本研究将系统分为 6个相对独立的功能模块,包括用户登录与注册模块、基本功能模块、火点定位模块、林火信息录入模块、 救火最短路径分析模块和查询检索与统计分析模块。
用户登录与注册模块
利用 Microsoft Access建立一个管理员登录信息数据库,通过搭建应用界面与数据库之间的连接,将应用界面中输入的用户名和密码与数据库中的数据进行验证,验证过程中主要涉及登录按钮 Click事件下的 ExecuteReader()方法
基本功能模块
在数据输入与输出过程中,采用 openFileDialog,saveFileDialog 2 种对话框进行交互操作,输出操作结合 ExportMapToImage()方法确定输出数据的图片格式;通过 ToolBarControl 控件与 AxMapControl 控件关联,添加地图放大、地图缩小、地图漫游和全图显示等按键来实现对 AxMapControl控件中空间数据的基本操作。
火点定位模块
通过在 Mapcontrol的 OnDoubleClickS 事件添加点状元素的方式来实现。
林火信息录入模块
通过在火情录入按钮的 Click 事件下调用 AddNewFeatureFromPoint()方法来实现火灾详细情况录入并进行编辑输入。
最短路径查询模块
该功能主要使用了网络分析中的INASolver等接口和NARoutrSolver等。
查询检索与统计分析模块
主要使用了 IFeatureSelection 类下的 search 方法来读取空间要素选中以及其属性字段信息的。
系统发布
通过上述功能模块构建,利用 Visual Studio 2018 实现系统各部分功能的关联,再通过整个系统运行验证,可以实现数据管理系统最终完整开发与发布。
文章对组件化GIS有很多应用,引用了不少ArcGis Engine里的工具,结构清晰,就是描述的比较简单,等后期自学涉及到相关开发思想再回头深入阅读。