基于ArcGIS Engine的藏东南滑坡信息管理与分析系统
2023-12-06渠士豪郭永刚
渠士豪,郭永刚
(西藏农牧学院水利土木工程学院,西藏 林芝 860000)
我国是世界上地质灾害最严重的国家之一,其中滑坡灾害占总灾害的68.9%[1]。滑坡具有分布广、破坏大、隐蔽性高等特点[2],一旦发生会对人民生命财产安全和国家基础设施产生巨大破坏,严重影响区域社会经济发展。
随着计算机技术、监测技术和GIS 技术的发展,滑坡的预警和易发性分析也从人工方式转向了自动化和信息化。近些年来,一些学者以计算机技术为载体,结合地理信息管理系统,提出了自动化、信息化的滑坡信息管理与分析系统的开发思路。对于单体滑坡监测预警,陶宜权等[3]采用云计算、大数据和GIS 二次开发等技术设计了针对秦巴山区的浅表层滑坡灾害监测预警平台,实现了秦巴山区滑坡风险快速且准确率高的预警预报;罗志会等[4]以STM32 单片机为核心设计了一种基于LoRa 传输技术的滑坡监测系统,实现了便捷、低耗能、可视化的滑坡状态远程监测;黄玲等[5]以MQTT传输协议为基础,结合层次分析模糊综合评价模型,设计了一种基于Web 的山体滑坡监测预警系统,实现了监测信息的传输、分析、预警和可视化。对于区域性滑坡易发性分析,罗金[6]基于GIS二次开发工具与机器学习模型相结合设计了基于各类机器学习方法的滑坡易发性评价系统,采用Python 语言调用相关接口实现了数据提取与预处理、评价模型计算和滑坡易发性分类图的生成等功能;汪宙峰等[7]利用ArcGIS Engine开发工具和空间分析技术,结合数学模型设计了基于ArcGIS Engine 的滑坡危险性评价系统。上述系统和平台的开发极大程度上简化了分析过程、提高了分析结果的精度,但这些系统的开发都是单纯地针对单体滑坡或区域性滑坡,不能够满足藏东南地区对滑坡灾害多尺度分析的需求,且藏东南地区夏季气候温和湿润,冬季气候干冷,年温差小,日温差大,具有典型的高原特征,因此藏东南的滑坡研究与其他区域相比有明显的差异[8]。
考虑到以上问题,本文将单体滑坡监测预警、区域性滑坡易发性分析和滑坡信息管理整合到一起,并根据藏东南地区的环境特殊性选用适当的数学分析模型,设计开发一种基于ArcGIS Engine 的藏东南滑坡信息管理与分析系统。
1 系统架构
藏东南滑坡信息管理与分析系统包括数据采集层、基础支撑层、数据层、应用层和用户层。其中,数据采集层包括在滑坡监测站布设的土壤湿度传感器、降雨检测仪、位移传感器和切向角监测器等设备,通过GPRS DTU 通信技术将实时采集的数据信息上传至接收服务器;基础支撑层主要包括计算机服务系统、地理信息系统、数据库管理系统和网络设施等,为应用系统的开发与使用提供软硬件基础支撑;数据层主要包括实时监测数据、地理空间数据、历史滑坡数据和监测站数据;应用层主要包括数据管理模块、滑坡预警模块,数据展示模块和滑坡易发性分析模块等;用户层主要包括普通用户和管理员。基于ArcGIS Engine 的藏东南滑坡信息管理与分析系统总体架构,如图1所示。
图1 基于ArcGIS Engine的藏东南滑坡信息管理与分析系统总体架构
2 数据库设计
数据库采用Geodatabase+Mysql 的搭建模式。Geodatabase 是一种采用标准关系数据库技术来表现地理信息的数据模型。Mysql 是Oracle 旗下一款体积小、开源、移植性强的关系型数据库管理系统。根据数据类型的不同将数据分为属性数据和空间数据两部分,分别储存在Mysql 和Geodatabase 中。其中,属性数据包括用户数据、通用数据、监测点数据、历史滑坡数据、降雨监测数据、位移监测数据和土壤湿度监测数据等;空间数据包括高程数据、坡度数据、坡向数据、年均降水数据、距道路距离数据、距河流距离数据和植被覆盖率数据等。数据库逻辑结构,如图2所示。
图2 滑坡信息管理与分析数据库逻辑结构
3 系统功能设计
3.1 总体功能设计
根据用户权限类别,将系统功能分为2 个模块,分别是管理员模块和普通用户模块。管理员模块不仅拥有普通用户模块的所有权限,同时拥有属于管理员模块的专属权限,如监测站数据管理、历史滑坡数据管理、空间数据管理、用户请求管理和用户信息管理等;普通用户模块权限包含监测站数据查询、历史滑坡数据查询、空间数据查询和滑坡易发性分析等。
基于ArcGIS Engine 的藏东南滑坡信息管理与分析系统功能,如图3所示。
图3 基于ArcGIS Engine的藏东南滑坡信息管理与分析系统功能
3.2 详细功能设计
(1)监测站数据查询。管理员和普通用户能以图表的形式查看监测站的地理位置信息、管理人员信息、设备基本信息和设备监测信息(降水量、位移量、土壤湿度等)等。
(2)历史滑坡数据查询。管理员和普通用户能以图表的形式查看研究区域历史滑坡的名称、地理位置、地下水类型、滑坡类型、地震烈度、受灾情况等信息。
(3)空间数据查询。管理员和普通用户能以图形的形式查看已拥有的滑坡数据集,如历史滑坡点、高程、坡度、坡向、距道路距离、距河流距离、年均降水量等。
(4)实时预警通报。管理员和普通用户能够以表格的形式查看实时发布的滑坡预警信息,包括监测点、经度、纬度、预警级别、警报原因、警报时间、处理情况等信息,并可以对未处理的通知进行处理。
(5)数据管理请求。为确保数据的真实性和可用性,系统限制普通用户直接对数据进行管理,但给予普通用户提交数据管理请求的权限,例如,普通用户想要修改历史滑坡信息,可以对相关信息进行增、删、改、查的操作,但系统不会立即进行修改,而是将请求和数据暂时存入数据库,等待管理员审核。对于空间数据的管理,例如想要添加新的影响因子数据或更新最新的滑坡点数据,需要将空间数据和请求一同提交给管理员。
(6)滑坡易发性分析。普通用户和管理员可以选择不同的数学分析模型,导入不同的空间数据,得到对应的滑坡易发性分析图。
(7)系统管理。管理员和普通用户可以对属性数据和空间数据进行导出和打印等常规数据管理操作。
(8)监测站数据管理。管理员可以对监测站的地理位置信息、管理人员信息、设备基本信息和设备监测信息等数据进行修改、删除、查询和添加新监测站等操作。
(9)历史滑坡数据管理。管理员可以对研究区域历史滑坡的名称、地理位置、地下水类型、滑坡类型、地震烈度、受灾情况等信息进行删除、修改、查询和添加历史滑坡信息等操作。
(10)空间数据管理。管理员可以对已有的空间数据如DEM、历史滑坡点、高程、坡度、坡向、距道路距离、距河流距离、年均降水量等进行添加、更新、删除和编辑等操作。
(11)用户请求管理。对于普通用户提交的对属性数据和空间数据的操作请求,管理员可以进行详情查看,了解请求的类型以及与请求共同提交的数据信息,并做出通过或驳回的操作。
(12)用户信息管理。管理员可以对普通用户进行编辑、删除、增加和权限设置等操作。
4 系统实现的关键技术
4.1 采用ArcGIS Engine 软件,为系统的地理信息处理提供支持
ArcGIS Engine 是ESRI 基于ArcGIS Object 搭建的一款GIS 平台,该平台在ArcGIS Object 的基础上进行了很大改进,使其可以脱离ArcGIS软件环境直接嵌入应用程序中,大大提高了开发软件的适用性、操作性和独立性。另外,利用ArcGIS Engine 软件可以使滑坡数据处理和滑坡易发性评价处于同一GIS平台下,数学模型以模块的形式融入GIS 环境,滑坡数据不必流出GIS 平台即可完成对其分析过程,相对传统的滑坡易发性分析过程精度更高、结果更直观。
4.2 采用具有.NET Framework 技术的Windows 窗体应用程序,搭建系统界面
.NET Framework 将强大的功能与新技术相结合,搭建出视觉上引人注目的用户应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。.NET Framework 的目的是让建立Web Services 以及因特网应用程序的工作变得简单。Web端对浏览器的兼容度要求较高,且任何请求都需要通过网络进行。相对Web端应用Windows窗体应用不仅更加方便,而且对计算机性能应用比较充分。因滑坡易发性分析等功能模块对计算机性能和网络功能要求较高,使用Windows 窗体应用程序更能保证系统界面运行稳定。
4.3 采用GPRS DTU通信技术传输数据
滑坡监测点一般地理位置复杂、通信条件恶劣,为保证数据传输的可靠性和实时性,同时考虑到续航、操作和成本,在滑坡监测点布设GPRS DTU 物联网无线数据终端,通过GPRS 上传数据到接收服务器。利用GSM 网络覆盖广的特点,通过拨号的方式触发数据传输,也可以设置成长连接进行数据传输,从而达到操作简单、低能高效、实用性强、远程无人监测的效果。
5 系统功能实现
藏东南滑坡信息管理与分析系统功能实现界面,如图4所示。
图4 滑坡信息管理与分析系统功能实现界面
5.1 监测站数据查询
监测站数据查询功能采用DataGridView 控件进行数据展示。先将数据绑定到DataGridView 控件,再将DataMember 属性设置为要绑定的列表或表的字符串即可。DataGridView 控件对表格数据的展示非常清晰明了,通常在Windows 窗体应用程序中显示表格数据时优先考虑DataGridView 控件。此功能在查询全部监测站数据的基础上添加了条件查询,允许用户通过站点名称和负责人查询监测站信息,站点名称和负责人下拉菜单内容为与数据库中对应的数据,初始值为空。对所有监测站信息的查询,若需要进行条件查询可以通过下拉菜单选择内容进行查询。监测站信息查询功能界面,如图4(a)所示。
5.2 历史滑坡数据查询
历史滑坡数据查询功能仍是以表格的形式展示,所以同样使用DataGridView 控件构建。在条件查询中选择地区限制,用户可以对市和县进行限定,查找到对应地区的历史滑坡数据信息。历史滑坡数据查询功能界面,如图4(b)所示。
5.3 空间数据查询
空间数据查询功能采用Arc Engine 组件库中的AxMapControl、AxTOCControl 和AxToolbarControl 控件进行搭建。初始界面根据数据库中数据排序显示排序最靠前的区域空间数据,可以通过AxTOCControl 控件对显示数据进行切换,通过AxToolbarControl 控件或者鼠标的点击、拖拽、移动事件实现对显示数据的漫游、地图缩放、全图显示和要素信息查看等功能。通过下拉菜单可以对区域进行切换,Ax-TOCControl控件中的数据也会同时切换。空间数据查询功能界面,如图4(c)所示。
5.4 实时预警通报
实时预警通报功能界面主要由DataGridView 控件搭建,除了展示预警发布位置、发布时间和预警原因等信息外,还会将实时监测的降雨量、位移量等信息与数学分析模型相结合,计算并对滑坡易发性分级,将数据结果保存到数据库,并在页面显示。存在未处理的预警信息时界面右上角会出现警示红灯。实时预警通报功能界面,如图4(d)所示。
5.5 数据管理请求
数据管理请求功能由Button组件和文本的点击事件实现。在监测站数据查询界面、历史滑坡数据查询界面和空间数据查询界面中都有放置的Button组件或文本,点击相应的组件可实现向管理员提交对数据增加、删除或修改的请求功能。数据管理请求功能界面,如图4(e)所示。
5.6 滑坡易发性分析
滑坡易发性分析功能的实现依托于Arc Engine强大的空间分析功能,利用IFeatureClass、ISpatial-Filter、IQueryFilter 和IFeatureCursor 等接口与数学分析模型相结合,通过将Shape 格式转化成Grid 类型的栅格数据,通过数据定量化、图层数据叠加等步骤得到每个栅格的易发性分析值,最后将结果赋值给一张空的栅格图层并进行分级,从而得到滑坡易发性分析图。滑坡易发性分析功能界面,如图4(f)所示。
5.7 数据管理
监测站数据管理、历史滑坡数据管理和空间数据管理3 项功能的实现界面与监测站数据查询、历史滑坡数据查询和空间数据查询3项功能的界面一致(此处不再展示),功能也基本一致,只是在对数据的增加、删除和修改操作上不再发送请求,而是直接对数据进行修改。
5.8 用户请求管理
用户请求管理功能实现界面主要由DataGrid-View 控件搭建,用户的请求信息以表格的形式呈现在管理界面,包括数据类型、操作方式、提交时间、提交用户等信息,管理员通过文本“未处理”点击事件打开新界面查看详细的请求内容,可以做出驳回、通过或返回操作,驳回和通过操作会决定数据是否被操作,并使“处理”无法再被点击。用户请求管理功能界面,如图4(g)所示。
5.9 用户信息管理
用户信息管理功能主要由DataGridView 控件搭建,所有用户的信息以表格的形式在组件中展示,管理员可以对除初始管理员以外的所有用户信息进行增加、删除、修改、查找操作,初始管理员可以对所有用户信息进行修改,即超级管理员。用户信息管理功能界面,如图4(h)所示。
5.10 系统管理
系统管理功能可以对历史滑坡数据、监测站数据、用户数据实现数据导入、导出等操作。系统管理功能界面(以历史滑坡数据界面为例),如图4(i)所示。
6 结语
本文将GIS 软件二次开发技术与数学分析模型相结合,设计开发了基于ArcGIS Engine 的藏东南滑坡信息管理与分析系统。该系统采用C/S 架构模式搭建,在地理信息技术的基础上结合GIS 数据分析、GPRS DTU 通信等相关技术,为用户提供监测数据查询、空间数据查询、实时预警通报、滑坡易发性分析等功能。用户登录应用即可获得实时的滑坡预警,通过简单的操作即可得到区域性滑坡易发性分析图。该系统将滑坡易发性分析过程整体化,简化了分析过程,提高了结果的精度,使滑坡易发性分析更加方便、准确。