APP下载

开源GIS在城市供水管网系统中的应用

2018-12-13张孝军王德高

数字通信世界 2018年11期
关键词:供水管开源切片

张孝军,王德高

(1.华东冶金地质勘查局,合肥 230088;2.安徽工业经济职业技术学院地质与建筑工程学院,合肥 230051)

1 引言

近年来,随着越来越多的城市完成了城市地下管线普查工作,建立起了地下管线综合管理系统。我们已经实现了地下管线的数字化管理,解决了图纸和表册管理数据所面临的易损坏、丢失、查找不便、更新困难等问题。然而,面对大量的地下管线数据,如何利用,才能使其发挥更大的作用,使数据活起来。这成了我们必须面对的问题。本文以城市供水管网系统为切入点,阐述了如何利用开源GIS,管线数据,物联网实现城市供水管网系统的智能化管理与决策。

2 开源GIS与物联网

开源GIS提供了强大的空间分析和处理能力,而物联网将物物进行联通,使用户足不出户就能对各种仪器进行管理。两者的结合使用户可以在地图上直观的看到物联网上仪器的相关位置,并对仪器之间的空间关系进行分析,为用户决策提供强有力的依据。

2.1 开源 GIS

软件开源目前已经成为IT界的一种发展趋势,越来越多的软件加入到开源系统中。在GIS领域,开源GIS也是一股逐渐成长并壮大的力量。不同于商业GIS软件,开源GIS软件不仅成本低,体积小。而且不用背负数据兼容、易用性等问题的包袱,开发者能够集中精力于功能的开发,因此开源GIS软件普遍功能很强,技术也非常先进,其背后是来自技术狂热者和学院研究生的大力支持。开源GIS目前已经形成了一个比较齐全的产品线。比较流行的应用形式为基于JAVA框架的Postgresql+PostGIS+uDig+GeoServer+OpenLayers/LeafLet。或者是基于C/C++的Postgresql+PostGIS+Qgis+MapServer+OpenLayers/LeafLet。

2.2 物联网

物联网的核心和基础仍然是互联网,它是在互联网基础上延伸和扩展的网络。其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中。

3 系统总体框架及设计

本系统总体架构是以面向对象(OOP)的设计为基础,以面向服务(SOA)的设计为应用扩展,系统主要采用Browser-Server(B/S)表现形式。以城市地下供水管网管线数据库,基础数据库和相关辅助数据库为核心,面向城市供水管网管理部门提供一体化管网信息管理和服务。

3.1 数据层

系统以著名的开源GIS库PostgreSQL为数据存储层,辅以PostGIS空间插件。将城市供水管线数据存储在空间数据库中,建立空间索引,便于空间数据的快速查询和分析。PostgreSQL是目前最好的开源GIS数据库,相比Oracle,具有开源免费,安装方便,体积小巧等优点。

3.2 后端服务层

后端GIS服务采用GeoServer服务器,GeoServer是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现),也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)。有着良好的安全性、扩展性以及跨平台的适应能力。支持缓冲区分析、叠加分析、路径分析、网络分析等各种空间分析算法。

3.3 前端展现层

前端Web层采用目前流行的VUE框架,辅以Element组件进行界面的快速搭建。地图方面采用Openlayers进行图层的加载和操作。OpenLayers是当前应用广泛的开源地图框架,提供了丰富的地图组件,包括鹰眼图,图层控制器,要素选择器等。

3.4 硬件层

在城市供水管网系统中嵌入传感器,并通过普遍连接形成“感知物联网”,传感器采用433MHz与GPRS接力传输,实现分钟级上报压力数据的能力。

4 系统功能实现

系统主要实现了城市供水管网的可视化展现,管网分类统计,管线信息查询,自动报警提示,爆管分析,远程开关阀控制,数据更新等功能。

4.1 可视化展示

利用地下管线普查采集到的供水管网数据,以百度地图作为底图,将管线数据渲染到百度地图上,根据管点类型进行分类渲染。直观的查看到城市供水管线的分布情况。同时将硬件传感器位置进行上图,直观的显示传感器布设的位置。

4.2 管网分类统计

可以根据不同条件进行分类统计,按区域统计管线长度,阀门个数等信息,形成柱状图,并能将结果以报表形式进行输出。

4.3 管线信息查询

点击地图上管点或管线,可以查询当前管线的建设年份,责任单位,材质等信息。

4.4 自动报警提示

系统接入物联网数据,当管线出现压力异常等现象时,传感器将数据传回控制系统,地图上将自动出现闪烁状态的报警点,提示工作人员尽快处理。同时,相关负责人将会收到短信提醒。

4.5 爆管分析

当出现爆管现象后,工作人员点击爆管分析,地图上将自动显示出需要关闭的阀门位置。并高亮显示出受影响的管线信息。

4.6 远程开关阀

工作人员在地图上点击需要进行开关处理的阀门,弹出操作框,可以动态的关闭阀门。当破损管线维修完成后,再动态开启阀门。

4.7 数据更新

当供水管线走向和相关属性信息发生变化时,可以将有变化的管线信息及时录入系统。进行数据的快速更新,保证了数据的现势性。

5 主要技术点

讨论了系统在建设过程中遇到的技术问题。

5.1 百度地图加载

首先,初始化一个图片切片地图数据源,var baidu_source=new ol.source.TileImage({}),ol.source.TileImage 是 OpenLayers 中专门负责调用地图以切片图片存放的类,其中给定了三个参数,projection参数指定了地图切片使用的坐标系,tileGrid 指定了切片使用的网格的模式,tileUrlFunction 指定一个回调函数,这个回掉函数第一个参数中包含三个变量,主要是 当前缩放级别(z),切片的 x y 索引。每次用户与地图交互,比如 缩放、平移等,就会触发回调函数,该函数根据传入的变量参数构造图片切片的 URL 地址。然后,使用图片切片地图数据源初始化一个 切片图层:var baidu_layer=new ol.layer.Tile({source:baidu_source });最后将图层加入到地图中。

5.2 管网数据叠加百度地图

管网数据一般采用当地的城市坐标系。而百度地图则是BD-09坐标系,不同坐标系下的数据要想叠加使用,必须进行投影转换。需要查询相关转换参数,利用布尔莎七参数转换方式,将管网数据转为相同坐标系下的数据。这样,就能实现管网数据与百度地图之间的叠加了。

5.3 自动报警提示

在管网中嵌入的传感器时刻将压力数据传入后台数据库中。当出现异常后,如何在Web前端显示。目前前后端的通讯主要采用HTTP协议,HTTP协议是一种无状态的、单向的应用层协议,它采用了请求/响应模式,通讯请求只能由客户端发起,服务端对请求做出应答处理。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。大多数 Web 应用程序通过频繁的异步JavaScript和XML(AJAX)请求实现长轮询。轮询的效率低,非常浪费资源。为了实现前后端的灵活通讯,本系统采用了WebSocket通讯技术。WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。这相比于轮询方式的不停建立连接显然效率要大大提高。当管网中的传感器传回异常数据时,后端服务捕捉异常,推送到前端进行动态展示。

5.4 爆管分析

鼠标点击爆管管线位置,显示受影响的管段区域,给出关阀方案,显示所有应关闭的阀门,输出关阀报表,关阀图和因关阀影响停水的重要用户信息。要实现上述功能,本系统需要提前将管线数据进行网络拓扑构建。利用Postgres提供的PostRouting路径分析插件,结合Dijkstra(迪杰克斯特拉)算法,求出所有与爆管点相连通的阀门。Dijkstra的核心代码如下:

5.5 数据更新

要想时刻保持系统的现势性,数据更新工作必不可少。而城市供水管网数据具有一次采集后,常年整体无变化,局部小范围变化的特点。为了应对此特点,利用GIS的空间查询功能,将指定空间范围的管线数据进行删除,导入新采集的管线数据,从而实现了管线数据的局部替换。

6 结束语

随着城市地下管线普查的基本结束,城市地下管网数据也趋于完善,如何更好的利用这些数据,结合物联网与GIS技术,为城市的可持续发展提供决策服务,为社会提供多元化服务,是人们聚焦的重点问题。本文结合实际经验,以开源GIS搭建城市供水管网信息系统,结合物联网,实现城市供水管网的智能化管理,通过智能化管理,实现管道连接性追踪、事故状态分析等功能。指导管网事故处理,增强事故反应能力,减少事故损失。实现城市供水管网的智能化和科学化管理,提高供水企业的经济和社会效益。

猜你喜欢

供水管开源切片
二次供水管道漏损预警方法的分析和选择
市政工程供水管网运行管理
S片区供水管网水质调查分析与探讨
五毛钱能买多少头牛
2019开源杰出贡献奖
网络切片标准分析与发展现状
基于SDN与NFV的网络切片架构
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
肾穿刺组织冷冻切片技术的改进方法