智能预警网络GIS的构建
2014-12-13邵改革
邵改革
(河南理工大学矿山空间信息技术重点实验室,河南焦作 454000)
0 引言
随着国家信息化建设和数字城市的不断发展,智慧城市成为未来城市发展的重要方向。智慧城市在数字城市的基础上,利用互联网、物联网和信息通信技术将城市的所有资源(包括水、空气、电力、交通、公共服务等)都连接起来,实现对整个城市感知、分析、预测,从而创造一个舒适、快捷和具有幸福感的城市[1]。物联网是智慧城市建设的重要组成部分,其关键在于利用各种传感器构建网络来获取相关事物的数据和信息。通过对传感器实时传回的数据进行整理分析,能够及时预警和处理各种突发事故和自然灾害,然后利用已经建立的各类信息系统,充分发挥信息化测绘公共服务的特性,向公众提供相关服务[2]。总之,智慧城市是数字城市的进一步发展,运用更高端的技术来提升数字城市的功能,更加强调智能化和物联网的重要性。
目前信息化服务平台普遍具有明显的滞后性,而预警系统作为与公众关系最为密切的信息系统,更需要提供实时、方便、快捷的服务,如为公众提供实时的空气质量状况(PM2.5 值)和交通路况来为公众出行提供参考。在物联网时代,可以将各种传感器传回的实时数据经过分析处理,与网络GIS 技术结合起来,通过广泛的信息服务共享,实现真正意义上的地理空间信息实时监测和预警。
1 系统框架
智能预警网络GIS 实现软硬一体化。硬件包括传感器、单片机、PC 机,软件开发主要有实时监测客户端和基于B/S 模式的信息发布平台开发,整个系统的框架结构如图1 所示。系统中单片机与计算机的连接采用USB 接口,并通过串口通信技术实现相互通信。串口通信具有硬件设计简单、控制方便、传输距离远等优点,且只需一根传输线就可在单片机和上位机之间传递信息。智能预警网络GIS 使用ArcGIS Server 构建Web 应用服务,在Web 应用和Web 服务所在服务器访问上选择基于J2EE 框架的安全模型。系统调用ArcGIS Server 发布的标准REST 服务,将空间数据以服务的形式进行表现,并集中管理GIS 应用程序和服务框架,如地图浏览、数据查询、数据编辑、空间分析等功能。B/S 模式的特点在于具有广泛的信息发布能力,客户端要求较低[3]。但传统Web 应用程序无法满足客户的体验要求,本系统采用基于RIA 的网络GIS 架构,同时具备C/S 和B/S 的优点。GIS 客户端主要通过基于RIA 的Flex 表现,后台服务利用基于J2EE 架构的Eclipse 构建。系统的B/S架构涉及到Flex Builder,Eclipse,BlazeDS,JDK,Tomcat 等,具体结构如图2 所示。
图1 系统整体框架
图2 B/S 模式结构框架
2 系统实现
智能预警系统中传感器可以包括温度、湿度、光照强度、声音强度和空气颗粒度等感应器,现以温度传感器为例介绍具体的实现过程。系统中温度传感器使用DS18B20,它提供9 位温度读数,温度测量范围从-55℃至+125℃。传感器采用单线接口,因此从单片机的微处理器到传感器仅需一条连接线,其读、写信息所需电源由数据线本身提供,不需要额外电源线。每一个传感器都编有唯一的序列号,多个传感器连接在同一条单总线上,系统可以实现多点信息监控。将不同的传感器组网连接到单片机上,系统开发选用的是STC90C51 单片机。通过对单片机开发,实现接收传感器传回的信息值和将信息传回到上位机(PC)。单片机程序编写使用KeilμVision 软件,编程语言为C51,程序中主要包含从传感器中读取数据值和单片机与PC机基于应答模式的信息传递功能。在程序编译无误后,最后利用STC-ISP 软件将程序烧录到单片机处理器中。
单片机与PC 机的通信采用基于USB 接口的串口通信技术,USB 接口使单片机与PC 机的连接更加方便,系统具有支持热插拔、接口简单、无需外接电源、动态加载驱动程序等优点。本系统串口驱动程序为CH341,串行接口总线协议是RS-485,最大传输距离1000 多米,如果通过USB 接口组网,基本满足数据传输的需求。客户端主要用于实时监控各个实验点的数据,实现控制和报警功能,并可以将数据写入到数据库。客户端控制台软件开发使用Delphi 开发平台,利用第三方串口控件Spcomm,综合实现基于串口通信的客户端程序。智能温度感应客户端具有图形化界面,方便控制管理传感器,运行效果如图3 所示。
图3 智能温度感应客户端
智能预警网络GIS 通过客户端将收集的传感器数据存储到数据库中,然后从数据库中提取有用信息,最后利用基于B/S 模式的网络GIS 平台发布公共服务信息。基于B/S 模式的智能预警网络GIS 开发将不同的软件集成到一个开发环境下,即Eclipse 开发框架下,因此对软件版本有严格的要求,否则将出现不兼容错误。传统的B/S 应用系统都是基于“请求-服务”模式开发,只有客户端用户有操作(发送请求)才能实现网页刷新,不具有实时性。智能预警网络GIS 平台在用户没有操作的情况下,自动实现信息的更新,而且不需要刷新整个网页。系统中具有自动更新网页的程序模块,再利用Flex 对数据绑定的支持,实现网页的实时更新。信息发布网站对后台数据库的访问通过JDBC 与ODBC 接口构建桥连接,在Eclipse 环境中后台代码使用Java 语言,以实现系统良好的跨平台性。网页表现层主要在Flex 中开发,运用直观的MXML 语言来定义用户界面元素,结合ActionScript 语言编写客户端应用逻辑模块,最后由Flex 编译器编译成标准的SWF 格式的客户端应用程序文件在Flash 播放器中运行[4]。通过在Flex 中调用ArcGIS Server 发布的服务,将用户需要的相关地理空间信息展现到网页上。ArcGIS Server 提供基于REST 接口的地图服务,它将地图和空间分析功能均视为网络资源,为所有资源定义URL,使用标准方法将资源链接在一起,对于任何有关地图的请求操作都封装在唯一的URL 中[5]。系统利用REST 接口和agslib开发包将ArcGIS Server 的服务在Flex 中调用,如果遇到地图无法显示的情况,说明程序未经授权进行跨界访问。ArcGIS Server为保证访问的合法性,设置安全沙箱,通过修改配置文件crossdomain.xml 的相关内容可以解决上述问题。在完成B/S 架构内容开发之后,在Eclipse 中配置应用服务器Tomcat,将智能预警网络GIS 信息平台进行发布,运行效果如图4 所示。
3 结语
图4 网络GIS 信息发布效果图
智能预警网络GIS 将软硬件集合化,摆脱传统软硬分离或重硬轻软的模式,形成一个完整的解决方案。智能预警GIS 能够实时显示和更新信息,更加注重信息及时性和用户体验。智能预警网络GIS 包括客户端监控和Web 信息发布,划分不同类型用户的权限范围,实现信息的分级管理。本文虽然在技术上解决现存的一些问题,但难以适应较大范围的应用,在传感网络结构和数据维护等方面还需要改进。
[1]杨堂堂.从数字城市到智慧城市的建设思路与技术方法研究[J].地理信息世界,2013(1):63-67.
[2]李德仁,邵振峰.信息化测绘的本质是服务[J].测绘通报,2008(5):1-4.
[3]王青山,汶博.基于RIA 的网络GIS 的发展与应用[J].测绘科学技术学报,2006(2):115-118.
[4]孙利华,吴焕萍,郑金伟,等.基于Flex 的气象信息网络发布平台设计与实现[J].应用气象学报,2010(6):754-760.
[5]许洋,池天河.基于REST 与RIA 的城乡规划信息平台研究[J].微计算机信息,2010(34):173-175.