谈晓珊 高 军
(水利部南京水利水文自动化研究所,江苏南京 210012)
随着水利行业改革发展的进程加快,水利信息化系统需要有多种信息的展示手段以及处理突发性灾害的随机应变能力。目前大多需通过计算机才能查询详尽的水利监测信息,难以随时随地获取,而手机查询平台存在信息发布实时性差、功能较为单一、灵活性差、稳定性不高等问题[1]。随着智能无线技术的发展,笔记本电脑、手机、平板电脑等支持WIFI 的移动终端走入人们的生活,使得移动服务成为获取信息的一个更加便捷的途径。Android 是一种以Linux 为基础的开放源码操作系统,在智能手机市场中占有率比较高,为全球最受欢迎的操作系统。笔者根据水利信息查询的实际需求,总结计算机及手机水利水文信息发布项目经验,引入手机电子地图功能,基于Android 开发水利信息查询平台。这一新的平台能有效保障各有关部门及时全面掌握相关信息,迅速应对突发灾情,提高指挥调度科学水平[2]。
ArcGIS Runtime SDK for Android是美国Esri 公司的移动端GIS 解决方案,将GIS 的适用范围从内业扩展到外业,同类还有:ArcGIS Runtime SDK for IOS、ArcGIS Runtime SDK for Flex、ArcGIS Runtime SDK for Silverlight等。ArcGIS Runtime SDK for Android使用户能够使用Java 语言构建多种应用程序,这些应用程序将运用ArcGIS Server 提供的强大的制图、地理编码、地理处理和自定义功能,并将它们部署到Android 设备上。ArcGIS for Android 除了能够使用ArcGIS for Server 发布的各种服务之外,还能使用微软公司的Bing Maps,OGC(Open Geospatial Consortium)的WMS(Web map service)服务等。ArcGIS for Android 还支持例如叠加分析、缓冲区分析等各种空间分析,具有在线编辑、在线网络分析能力[3]。
“天地图”是国家测绘局主持建设的国家地理信息公共服务平台,是中国区域内数据资源最全的地理信息服务网站。其目的在于促进各行业地理信息资源共享和高效利用,提高地理信息公共服务能力和水平,丰富测绘地理信息成果的服务方式,更好地满足国家信息化建设的需要,为社会公众的工作和生活提供方便。“天地图”装载了覆盖全球的地理信息数据,以矢量、三维、影像3 种模式多角度、全方位展现,能缩放,可漫游[4]。
与此同时,“天地图”以门户网站和服务接口两种形式为用户提供服务。根据项目需要,我们采用ArcGIS Runtime SDK for Android 调用天地图的地理信息服务。
Web Service(Web 服务)是一个用于支持网络间不同机器互操作的软件系统,是一种自包含、自描述和模块化的应用程序,可以在网络中被描述、发布和调用,是基于网络的、分布式的模块化组件。Web Service 建立在通用协议的基础之上,如:HTTP、SOAP(Simple Object Access Protocol)、UDDI、WSDL 等,这些协议在操作系统、编程语言和对象模型的选择上没有任何倾向,有着很强的生命力[5]。
对于移动终端等设备而言,其计算资源、存储资源都十分有限,因此,Android 应用只是充当Web Service的客户端,调用远程Web Service[6]。本项目采集到的实时数据都存储在信息中心的服务器上,我们将采用在Android 中调用远程服务器端提供的Web Service 来完成平台功能的一系列开发。
为了使平台能够有比较强的可拓展性、易用性及可移植性,采用SOA 技术的服务器群集部署架构。水利水文监测的实时采集处理程序都在服务器运行,因此将所有的业务逻辑处理运行在服务器端,仅在客户端保留展示层,以完成显示和交互的任务,不进行业务数据处理,提高了系统运行的效率;客户端不直接访问数据库端,通过Web Service 实现数据的分布处理,加强了平台的灵活性,有效地降低了对数据库服务器负载能力的要求[7]。基于Android 的水利信息查询平台由基础数据层、业务逻辑层、通讯网络层及终端表现层构成,如图1。其中,业务逻辑层以Web Service 方式调用服务器的数据,并对其进行一些预处理和分析,通过IIS发布,为各移动终端访问服务器数据提供有效通道。
(1)本系统是一个综合性的水利信息移动应用平台,既满足对实时信息的监测与处理,又支持信息的发布和预警,可充分利用移动终端设备的优点,为水利水文工作者提供便捷的服务。
(2)对水情、雨情、气象、台风路径、卫星云图等实时信息进行查询,交互式地完成个人对移动终端设备的各种操作。
(3)通过处理实时雨水情监测等基础信息,制作简洁直观的雨水情统计图表,直观显示在GIS 电子地图上并分类分级显示。
本水利信息查询平台嵌入GIS电子地图,实现了信息通过地图直观表达,为相关决策提供直接依据。系统功能模块主要包括:实时地图、雨情信息、水情信息、工情信息、风情信息、台风信息、警报预警、雷达图、卫星云图、天气预报等,如图2。
(1)实时地图
平台将雨量、水位、水库等各种类型的站点直观显示在“天地图”上,可进行一些GIS 操作,并能直接点击查询任一单个站点的具体信息,同时对超过雨强报警和水位警戒线的非常规站点用不同颜色标注,让操作者及时掌握该区域站点情况。
(2)雨情信息
根据用户需求选择查询雨情的时间段和站点,可主动请求服务器显示雨量报表(包括站码、站名、类别,雨量),根据不同的雨量强度在表格中标注出不同级别的站点,可以直接切换查看雨量直方图,并可按年、月、日分别展示,如图3。
图1 平台总体架构
图2 平台功能模块
图3 系统界面和功能截图
(3)水情信息
根据用户需求选择查询水情的时间段和站点,可主动请求服务器显示水位报表(包括站码、站名、类别,水位),在表格中标注出超过警戒值的站点,可以直接切换查看水位曲线图。
(4)工情信息
该模块用于查询水库、水闸、堤防、灌区、围垦等各种防洪工程的基础信息。
(5)风情信息
平台获取沿海风情监测站点信息,以站名、风向、风速、最新时间为列,按照风速从大到小顺序显示风情报表,并支持点击查询某个风情监测站过去24 h 风速曲线图。
(6)台风信息
通过主动请求服务器发布平台,可获取台风信息,实时显示当前西太平洋上活动的热带气旋及相关信息,包含名称、时间、经纬度、气压、风速等信息,同时可显示台风移动路径。
(7)警报预警
提供雨情警报、水情警报、气象警报、台风警报信息查询。系统可将超过警戒雨量、警戒水位、紧急气象、台风信息实时发送到用户手机中,用户也可以订阅自己特别关心的站点信息。
(8)雷达图
该功能通过请求中国气象局雷达图服务,获取雷达图,可以在第一时间发现危险天气的临近,及时做好预防措施。
(9)卫星云图
该功能通过请求中国气象局卫星云图服务,获取最新的卫星云图,支持屏幕自适应。
(10)天气预报
该功能通过请求天气预报服务,显示主要天气信息,有利于相关人员及时掌握现在和未来的气象趋势。
(11)相关资料
提供防洪知识库、其他资料等信息浏览与查询,用户可自行添加相关的资料信息。
本系统是以NET、ArcGIS Server和Android 为开发平台,在Eclipse 开发环境中,针对水利的业务信息特点,调用“天地图”服务,利用Java 语言,基于ArcGIS Runtime SDK for Android的接口进行开发。
(1)实时地图展示
ArcGIS Runtime SDK for Android提供了Tiled Service Layer 类。这是访问切片服务的基础类,通过扩展就可以访问“天地图”的WMTS 服务,并将业务数据完美无偏移地叠加到“天地图”上。
水利站点位置的经纬度可通过Web Service 调用,并显示在“天地图”上,通过单击可查看各站点水雨情实时信息。
(2)雨情信息统计图表设计
Android 手机端请求服务器端根据功能需求编写的Web Service(例如Get24HourRain、GetEveryDayRain、GetEveryMonthRain)返回JSON 字符串,Android 端对接收到的JSON 字符串进行解析,可结合AChartEngine 图表显示柱状图。
笔者所设计的平台采用基于Andriod、ArcGIS Runtime SDK for Android、Web Service、“天地图”和数据库技术相结合的方式,为用户设计开发出稳定、高效的水利行业应用软件,并且具有良好的体验效果。平台很好地解决了外出人员特别是管理者无法及时掌握汛情信息的问题,通过GPRS/WLAN/3G 等无线网络,可对各类汛情信息(包括雨情、水情、工情、台风、云图、天气预报等相关信息)随时随地进行查询、检索,为管理者的日常管理提供了便捷,也为水文工作者实时接收信息和预警预报的情况并作出决策提供了保证。
[1]解建仓,马增辉,张永进,王少波.水利移动服务平台的设计与开发[J].水利发电学报,2008,27(4):146-147.
[2]梁立峰,张海强.基于Android 的防汛通平台设计与应用[J].水利科技,2012(1):21-24.
[3]Esri.ArcGIS for Android 开发文档[EB/OL].[2013-09-05].http://developers.arcgis.com/en/android/.
[4]谢馨瑶,李沈鑫,毛炎,谢育武.基于Android 系统的餐饮推荐系统的开发[J].高科技产品研发,2014(3):31-32.
[5]蔡奕彬,陈智威,杨沛钊,侯超钧.基于Web Service 的Android 餐饮点菜系统的设计与实现[J].计算机与现代化,2013(4):121-122.
[6]张雅楠,杨璐,郑丽敏.基于Android 手机的远程视频监控系统的设计与开发[J].计算机应用,2013,33(S1):283-286.
[7]虞开森,骆小龙,余魁.基于iphone的防汛掌上通平台设计与应用[J].水利水电科技进展,2010,30(6):75-76.