基于ArcGIS的水雨情预警系统开发与应用
2014-06-07王玉德
王玉德
(辽宁省水文水资源勘测局朝阳分局,辽宁 朝阳 122000)
水情部门是防汛工作的耳目,近几年来我国自然灾害频发,对于防汛工作不容小视。朝阳市多丘陵,多沟壑,结构为“七山一水二分田”。来水陡涨陡落,所以对水雨情信息的时效性要求更高。朝阳市境内归水文部门管理的遥测雨量站有311处,而且所有雨水情信息要求30分钟内到中央,传统的统计报送方法很难保证时效性。笔者经过多年研究创新,开发出了一套基于ArcGIS的水雨情预警系统。该系统已经完全满足以上要求并已在实际工作中收到良好成效。
1 整体设计思路
作为全球GIS软件市场占有率最高的软件,ArcGIS已经深入众多领域。Esri推出的ArcGIS10实现了协同GIS、三维GIS、时空GIS、一体化GIS、云GIS等五大飞跃,有着友好开放的数据模型、简单自如的部署方式、专业美观的地图制作,强大地理分析等优势。针对朝阳地区近几年“中小河流”等项目建设的众多遥测站,有必要开发一套同地理信息系统结合的水雨情预警系统。
本系统基于.NET开发平台,包括.NET Framework和Visual Studio.net,GIS 的开发环境是 ArcGIS Engine。通过 Visual Studio.net调用ArcGIS Engine的类库并访问国家标准实时水情数据库与各站点的预警指标进行比较,对于超警或邻近警戒值的站自动作出响应,并以报警音、短信等方式发给值班人员。对于遥测站出现的奇异值、跳变值等报文进行拦截和报警。
2 数据库及预警指标
水情数据库结构为水利部批准《实时雨水情数据库表结构与标识符》(SL323-2011)标准,本系统涉及到其中两大类信息表包括基本信息类、实时信息类,基本信息类包括测站基本属性表、河道站防洪指标表、库(湖)站防洪指标表、库(湖)站汛限水位表,实时信息类包括降水量表、河道水情表、水库水情表等。例如河道防洪指标表见表1、库(湖)站防洪指标表见表2。
朝阳市有小一型以上水库39座,这些站点的预警指标数据均来自朝阳市水库特性资料,而对于8个水位站的预警指标,需综合河道状况、洪水特性、历史洪水、防洪设施及社会经济等因素确定的,对于历史数据,采用朝阳境内近50 a水文资料。
表1 河道防洪指标表(ST_RVFCCH_B)
表2 库(湖)站汛限水位表(ST_RSVRFCCH_B)
3 系统开发原理概述
ArcGIS Engine是一套独立与应用程序的Arc Objects编程环境,本系统需要用到的类库有:System类库、SystemUI类库、Geometry类库、Geodatabase类库、DataSourcesFile类库、Controls类库。ArcGIS Engine给开发者提供了以下可视化的控件,如制图控件、3D控件、框架控件等。
制图控件,如 MapControl、PageLayoutControl,其中 Map-Control控件主要用于地理数据的显示和分析,PagelayoutControl用于生成一副成品图。IMapControlDefault接口是地图控件的默认接口。当MapControl控件被拖入容器上后,会自动穿件axMapControl1对象。下面代码是接口方法。
MapControl=axMapControl.Object AS ImapControlDefault
找到接口方法之后就是访问水情实时数据库并根据实时水雨情数据库来判断是否达到各种预警指标,对符合预警条件的系统在地图上定位显示站点,并通过音箱发出鸣响提醒值班人员,对达到发布短信标准的也会提醒水情值班人员,在得到水情值班人员确认后再将信息发送给防汛成员。整个过程在几分钟内就可完成,大大提高了信息的时效性。
以下代码是实现根据条件将站点定位于地图。
4 结语
本系统作为水情防汛值班的辅助工具大大提高了工作效率,对于水雨情的时效性、准确性有了有力的保障。与ArcGIS相结合使得数据更加直观高效,也是朝阳地区在防汛工作水雨情预警方面的一次创新,同时在在报表制作、多媒体演示等方面还有很大提高空间,将在以后的工作中不断加强。