2. 聚光科技(杭州)股份有限公司, 杭州 310052
2. Focused Photonics (Hangzhou) Inc., Hangzhou 310052, China
随着经济社会的发展, 人们对城市河道的功能要求从单纯的通航、灌溉、行洪逐步向有优美景观、良好水生态和安全水环境等多位一体转变. 特别是在《浙江省水污染防治行动计划》正式发布以后, 政府提出大力推进生态文明建设, 如何通过城市河道养护管理来巩固和提升水环境质量摆在了更突出的位置[1]. 近年来, 对于河道管理系统的研究得到了很多国内外专家的重视, 一些专门为河道管理而设计的管理系统、监控系统应运而生, 不同程度地提高了管理的科学性、高效性和准确性. 如: 陈相东[2]设计的天津市行洪河道管理信息系统为天津市河道管理部门提供了行洪河道管理信息共享的网络化平台. 曾志长等[3]设计的基于IEGIS的智慧河长信息管理系统, 实现了数据的实时采集、基本信息的管理、对数据分析结果进行展示等等, 降低了河道信息管理的许多重复性工作. 夏悦玥等[4]设计的基于时间序列的苏州城市河道管理信息综合信息化系统能自动收集各类水文气象、河道信息等海量数据, 并对这些数据进行处理. 王旭阳[5]设计了河道巡查巡视管理手机端系统, 通过手机定位和摄像等功能实现巡查人员自动定位、现场取证.
目前, 河道基础数据的获得主要依靠河道巡查人员通过日常的巡查巡视进行收集与上报, 但传统的巡检模式存在工作数据量大、工作效率低、巡检人员是否按照既定的时间和路线完成巡检任务在巡查记录中无法体现、巡检发现的问题得不到及时处理等问题. 针对以上问题, 本文设计了移动端智慧河道管理系统, 本系统是基于位置服务(Location Based Services, LBS)的河道管理系统, 巡查养护工作人员可以使用该系统获取定位信息、记录轨迹并上传至服务器, 管理人员可实时查看工作人员的轨迹. 同时, 本系统利用基于指数标度的层次分析法对养护事件进行建模, 用于评价河道污染等级排名并推送给河道管理人员, 使管理人员了解该区域内河道的污染情况, 并及时采取相应的治理措施.
1 系统设计 1.1 系统总体设计系统主要由移动应用程序(Application, APP)客户端和服务端组成, 客户端软件为智能手机APP, 可广泛使用在手机、平板等设备上. 服务器端由应用服务器、数据库服务器和文件服务器组成. 数据库采用MySQL数据库, 地图服务采用百度地图API实现, 客户端和服务器端之间采用HTTP协议进行通信, 数据格式采用JSON格式, 系统架构如图1所示.
1.2 系统功能
系统功能分为移动端功能和服务器端功能, 移动端有四种用户权限, 分别为: 养护人员、巡查人员、考核人员、运维主管, 移动端的主要功能如图2所示.
1) 首页. 首页分为三个模块, 统计信息、待办事项和任务广场. 统计信息模块能直观看到巡查养护的事件数、发生事件类型占比以及河道污染事件排名. 待办事项显示用户所有的待办事项, 可进行受理、核实等操作. 任务广场的功能是管理所有新增模块的新任务, 可以进行任务下发或认领操作.
2) 填报. 填报分为养护填报、巡查填报和考核填报, 养护、巡查、考核人员分别在对应的模块填报日志.
3) 新增. 新增分为发布事件或发布任务, 河道养护、巡查、考核人员可以通过图片或视频的方式发布事件, 运维主管可根据需要使用该功能发布任务.
4) 关注. 关注模块可查看所有的巡查养护工作, 分为事件、任务、养护、巡查、考核五个部分, 若想关注此内容, 可点击选项标记为关注.
5) 我的. 管理用户的基本信息以及查看自己关注的详情等.
1.3 系统流程
具体工作流程如图3所示.
1) 养护人员在养护过程中可以使用该APP记录轨迹并以视频或图片的形式加以文字描述填报养护日志, 完成后在新增模块发布养护事件.
2) 养护人员发布事件后, 运维主管可以看到新增的事件并通知相关人员处理, 处理后将该事件下发给巡查人员, 巡查人员根据处理后的情况填报巡查日志并在新增模块发布巡查事件.
3) 运维主管再将巡查事件下发给考核人员, 考核人员能够在APP上查看养护人员的巡查轨迹及任务, 并对该养护事件的处理情况打分, 考核合格后将事件归档.
1.4 移动端软件界面
移动端软件的部分界面如图4至图7所示. 图4所示为移动端首页中的统计信息界面, 展示该月的巡查养护情况、发生时间类型占比以及河道污染事件排名. 图5所示为养护日志填报界面, 可以选择养护河道的名称、养护人员、养护类型, 同时点击中间按钮开始记录轨迹. 图6为新增界面, 可选择发布事件或任务. 图7为关注界面, 点击列表可将该条内容标记为关注.
2 关键技术实现
作为河道管理系统, 不仅要降低巡查工作过程中的信息漏洞和盲点, 还要准确地知道该地区河道的污染情况并能及时给出解决方案, 从而提高河道工作人员的效率. 所以准确的记录巡查养护轨迹、了解河道污染等级排名并及时向有关工作人员推送河道污染信息是该系统的重点内容. 本部分将重点介绍上述问题所涉及的一些关键技术.
2.1 轨迹纠偏算法设计本系统的难点在于绘制轨迹, 在客户端启用地图服务, 目前的解决方案有两种选择: 一种是调用Android系统提供的API, 使用自带的谷歌地图服务; 另一种是使用国内厂商提供的免费的地图服务, 经过对两个方案的对比, 本系统采用百度地图服务.
百度地图支持GPS定位和网络定位, 将定位模式设置为高精度定位模式时, 系统会同时使用GPS定位和网络定位, 优先返回精度最高的定位结果. 但是, 当GPS信号和移动网络信号不好的情况下, 获取到的定位信息可能是错误的或者误差很大, 所以导致绘制的轨迹不平滑并且有偏移. 百度地图也提供了轨迹纠偏接口, 可以对获取的点位进行去噪、绑路、抽稀, 去除定位噪点和冗余点, 进行实时轨迹纠偏. 但只有在移动网络好的情况下, 它才能发挥作用, 当信号不稳定时, 绘制的轨迹就会不平滑并且有偏移.
本系统重新设计了轨迹纠偏算法, 不依赖百度地图纠偏接口和高速移动网络, 过滤无效、冗余、甚至是错误的位置信息, 使绘制的轨迹平滑、无偏移. 轨迹纠偏算法如下:
Step 1. 获取当前轨迹点位置信息, 判断其精度是否大于设置的精度, 若否, 则舍弃, 重复本步直到获得精度满足要求的轨迹点; 若是, 则放入locationList(未过滤轨迹点集合)中.
Step 2. 若locationList中的轨迹点个数小于3, 则返回Step 1.
Step 3. 根据轨迹点的经纬度分别计算locationList中3个点与当前位置点的距离和速度.
Step 4. 若距离和速度不满足系统设置的阈值范围, 则舍弃. 若满足, 则保留.
Step 5. 根据轨迹点的方向判断是否是拐点, 若3个点中有一个的方向与其他两个点不一致, 则这个点可能是错误的, 故舍弃, 返回Step 1, 继续获取当前轨迹点位置信息.
Step 6. 将保留的轨迹点添加到pointList(过滤后的轨迹点集合)中, 若pointList的size大于等于3时, 利用百度地图API中画折线的方法PolylineOptions()[6]绘制轨迹, 否则返回Step 1.
在轨迹纠偏算法支持下, 系统采用如图8所示的河道轨迹管理流程来管理河道轨迹, 并绘制河道轨迹, 如图9所示, 为系统在某实际现场绘制的轨迹截图.
2.2 基于指数标度层次分析法的河道污染等级评价模型
人们在比较、评价、决策时, 通常会涉及几个方面的因素, 这些因素的重要性很难量化, 所以用一般的方法解决此类问题非常困难. 目前, 国内外计算权重系数的方法主要有: 主成分分析法[7]、特尔斐专家评估法(Delphi)[8]、层次分析法(AHP)[9]. 其中, 层次分析法是一种定性和定量相结合的、系统化、层次化的分析方法, 被广泛应用于各个领域. 然而, Saaty等人提出的层次分析法采用1–9标度构造成对比较矩阵, 存在部分缺陷, 容易导致判断矩阵一致性不符合思维一致性、评定结果出现逆序等问题[10]. 舒康等依据心理学上韦伯-费希纳定律建立的指数标度较好的解决了这一问题, 并给出1–9标度和指数标度的对应关系[11], 如表1所示.
2.2.1 建立河道污染等级评价模型
对于本文中的评价因子, 以往是按照专家建议的权重来评价河道污染等级, 由于不同的专家给出的建议权重不同, 所以得出的结果也会有差别. 为了得到更加准确的河道污染等级排名, 本系统将基于指数标度的层次分析法应用到河道污染等级评价中, 构造判断矩阵, 计算出各因子的权重系数.
在本系统中, 污染最严重的河道往往养护事件最多、养护事件最严重、养护事件关注数最多, 因此领导也更加重视这些河道. 因此河道污染等级的决定因子为: 养护事件的严重程度、养护事件个数(即养护人员填报的事件个数)、养护事件关注数(即在关注界面标记为关注的养护事件个数), 数学模型可以用下式表达:
$I = \sum\limits_{i = 1}^n {{Q_i}} {W_i}$ | (1) |
其中I表示评价结果值, I值由每个影响因子根据对应的权重计算得到, I值越大说明该河道污染越严重, Qi代表第i种影响因子的分指数, Wi为第i种因子的权重, 根据基于指数标度的层次分析法(Analytic Hie-rarchy Process, AHP)来计算. 计算过程如下:
1) 建立层次模型
在本系统中, 由决定因子构成的层次分析模型如图10所示.
养护事件的严重程度由养护人员在填报养护事件时手动选择, 分为一般、严重和非常严重3个等级, 规定3个等级的分指数Q1分别为30、60和100.
某河道养护事件个数的分指数计算公式为:
${Q_2} = \frac{C}{{{C_{\max }}}} \times 100$ | (2) |
其中Cmax为所有待评价河道的养护事件总数, C为某河道的养护事件个数.
某河道养护事件关注数的分指数计算公式为:
${Q_3} = \frac{F}{{{F_{\max }}}} \times 100$ | (3) |
其中Fmax为所有待评价河道的养护事件关注总数, F为某河道的养护事件关注数(统计标记为关注的事件数).
2) 构建判断矩阵
令养护事件的严重程度为A, 养护事件个数为B, 养护事件关注数为C.
根据调查经验判断: A比B稍微重要, B比C明显重要, A比C强烈重要. 按照表1的标度值构造判断矩阵:
$M{{ = }}\begin{array}{*{20}{c}}A\\[4pt]B\\[4pt]C\end{array}\left[ {\begin{array}{*{20}{c}}{{a^0}} & {{a^1}} & {{a^6}}\\[4pt]{\frac{1}{{{a^1}}}} & {{a^0}} & {{a^4}}\\[4pt]{\frac{1}{{{a^6}}}} & {\frac{1}{{{a^4}}}} & {{a^0}}\end{array}} \right]{{ = }}\left[ {\begin{array}{*{20}{c}}1 & {1.316} & {5.194}\\[4pt]{\frac{1}{{1.316}}} & 1 & 3\\[4pt]{\frac{1}{{5.194}}} & {\frac{1}{3}} & 1\end{array}} \right]$ |
计算可得矩阵M的最大特征值λmax=3.0088, 以及归一化后的特征向量(0.54, 0.35, 0.11).
3) 一致性校验
由于客观事物的复杂性以及人类判断能力的差别, 构造的判断矩阵可能出现误差. 因此, 需要对所构造的判断矩阵进行一致性检验.
首先, 计算一致性指标CI:
$CI = \frac{{{\lambda _{\max }} - n}}{{n - 1}}$ | (4) |
其中λmax为判断矩阵A的最大特征值, n为矩阵的阶数. 将λmax=3.0088, n=3代入(4)式可得CI=0.0044.
然后计算一致性比例:
$CR = \frac{{CI}}{{RI}}$ | (5) |
当CR<0.10时, 则认为判断矩阵达到满意的一致性. 根据表2[12]将RI=0.36, CI=0.0044带入(5)式中可得CR=0.012<0.10, 满足一致性要求. 因此各因子权重值为W=(0.54, 0.35, 0.11).
2.2.2 河道污染等级评价模型应用实例
选取系统中A河道, 其养护事件严重程度为严重, 养护事件个数为6, 养护事件关注数为6. 根据数据库查询最近一周养护事件总数为28, 养护事件中关注数为19, 通过基于指数标度的层次分析法的数学模型可计算出其河道污染程度值LA=60*0.54+6/19*100*0.35+6/28*100*0.11, 计算结果为45.86.
B河道养护事件严重程度为非常严重, 养护事件个数为8, 养护事件关注数为10, 计算其河道污染程度值为LB=100*0.54+8/19*100*0.35+10/28*100*0.11, 计算结果为72.67. 因此得出, B河道比A河道污染严重. 系统运用消息推送技术将河道污染排名推送给用户.
2.3 消息推送技术推送技术指通过客户端与服务器端建立长链接, 服务器端向客户端发送消息. 目前实现推送较多, 如: 使用谷歌云端GCM (Google Cloud Messaging)推送[13], 使用可扩展通讯和表示协议(Extensible Messaging and Presence Protocol, XMPP)推送[14], 使用消息队列遥测传输协议(Message Queuing Telemetry Transport, MQTT)推送[15], 使用第三方推送服务等. 经过技术对比与成本考虑, 最终选择使用第三方提供的个推推送服务. 本系统集成个推SDK, 经过个推云服务器由服务器端向客户端推送消息.
本文要实现的推送消息分为两种:
1) 透传消息: 根据客户的要求, 当账号被其他用户登录时, 系统以弹出框的形式提示用户强制退出应用, 这个需求使用推送中的透传消息功能. 透传消息以透传的形式传递给客户端, 发送后不会在系统通知栏中展现, 而是以弹出框的形式展现.
2) 通知消息: 向用户推送河道污染等级排名使用通知消息功能, 通知消息发送后会在系统栏收到展现, 同时响铃或振动提醒用户.
因此本系统要对个推服务器端传递来的消息类型进行判断, 如果是透传消息则跳转到登陆界面并强制退出应用, 如果是通知消息则显示在手机通知栏中, 点击通知栏中内容会跳转到消息通知列表中查看详情.
3 系统应用实例智慧河道管理APP作为杭州市滨江区“智慧河道”项目的重要组成部分在2016年底开始投入使用. 自使用以来, 有效降低了巡查工作过程中的信息漏洞和盲点, 提高了河道巡检人员的工作效率, 进而提升滨江区城管局巡查巡视管理工作的水平. 系统上线使用以来稳定、有效, 受到了滨江区政府工作人员的一致好评, 为滨江区河道治理做出了贡献.
4 结论与展望针对目前传统的巡检养护模式工作数据量大、工作效率低, 巡检养护人员是否按照既定的时间和路线完成巡检任务、巡检发现的问题得不到及时处理等问题, 本文设计了一个基于移动端的智慧河道管理系统, 通过信息化手段降低巡查工作过程中的信息漏洞和盲点, 确保河湖水生态环境日常巡查养护工作更高效的进行, 为浙江省“五水共治”的建设工作做出了巨大贡献.
本系统具有以下优势:
1) 提出了简单高效的轨迹纠偏算法, 使绘制的轨迹更平滑.
2) 提出了基于指数标度层次分析法的河道等级污染评价模型, 可对某地区的所有河道进行整体评价, 并将污染排名推送给相关人员.
3) 解决了河道市场化管养存在数据作假、管养不到位情况, 工作人员的日常工作内容、工作效率无证据支撑的难题, 实现了高层领导对基层工作人员进行有效的监管, 高层领导可以通过本系统准确判断基层工作人员的工作是否到位.
[1] |
叶阳帆. 城市河道养护管理现状、问题及改进路径研究[硕士学位论文]. 南昌: 南昌大学, 2015.
|
[2] |
陈相东. 天津市行洪河道管理信息系统. 计算机应用, 2012, 32(S1): 182-184. |
[3] |
曾志长, 袁思赞, 陈旭. 基于IEGIS的智慧河长信息管理系统设计与实现. 科技创新导报, 2015, 12(26): 56-57. DOI:10.3969/j.issn.1674-098X.2015.26.026 |
[4] |
夏悦玥, 宋振华, 何丹青. 基于时间序列的苏州城市河道管理综合信息化系统的研究与探索. 电子测试, 2016(5): 144-146. |
[5] |
王旭阳, 曹健. 河道巡查巡视管理系统手机端在天津市河道巡检中的作用. 海河水利, 2015(3): 36-37. |
[6] |
百度软件. 鹰眼轨迹服务. http://lbsyun.baidu.com/index. php?title=android-yingyan. 2016-12-19. [2017-07-10].
|
[7] |
李琼, 周建中. 改进主成分分析法在洪灾损失评估中的应用. 水电能源科学, 2010, 28(3): 39-42. |
[8] |
Ballantyne R, Hughes K, Bond N. Using a Delphi approach to identify managers’ preferences for visitor interpretation at Canterbury Cathedral World Heritage Site. Tourism Management, 2016, 54: 72-80. DOI:10.1016/j.tourman.2015.10.014 |
[9] |
Gao C, Ma J F, Liu Z Q, et al. An approach to quality assessment for web service selection based on the analytic hierarchy process for cases of incomplete information. SCIENCE CHINA Information Sciences, 2015, 58(12): 1-14. |
[10] |
王立民, 杨振宇, 白汉斌, 等. 层次分析法中的指数型标度问题研究. 无线电工程, 2010, 40(8): 62-64. |
[11] |
舒康, 梁镇韩. AHP中的指数标度法. 系统工程理论与实践, 1990, 10(1): 6-8. |
[12] |
吕跃进. 指数标度判断矩阵的一致性检验方法. 统计与决策, 2006(18): 31-32. DOI:10.3969/j.issn.1002-6487.2006.18.013 |
[13] |
Google. Android cloud to device messaging framework. http://developers.google.com/android/GCM. 2016-08-21. [2017-06-22].
|
[14] |
汪海占, 邸萌, 黄祥林. 基于XMPP协议的Android消息推送设计与实现. 科技广场, 2015(2): 40-46. |
[15] |
许金喜, 张新有. Android平台基于MQTT协议的推送机制. 计算机系统应用, 2015, 24(1): 185-190. DOI:10.3969/j.issn.1003-3254.2015.01.035 |