移动GIS支持下的 “五水共治”河道督查系统的实现
2016-09-08余建军张利勇万术海刘校妍
余建军,彭 艳,张利勇,万术海,刘校妍
(1. 浙江省地理信息中心,浙江 杭州 310012; 2. 浙江省第二测绘院,浙江 杭州 310012)
移动GIS支持下的 “五水共治”河道督查系统的实现
余建军1,彭艳2,张利勇1,万术海2,刘校妍2
(1. 浙江省地理信息中心,浙江 杭州 310012; 2. 浙江省第二测绘院,浙江 杭州 310012)
为改变传统的河道督查流程,减少人工督查工作量,使督查工作向信息化方向发展,本文基于移动GIS技术开发了“五水共治“河道督查系统,应用于河道督查工作。在系统需求分析和数据库设计的基础上,综合运用移动GIS、LBS位置服务、互联网+、云服务等技术,使用Java、PHP等编程语言,通过移动端(Android、iOS)和Web端分别调用天地图移动API和Web API, 实现了系统的各个功能。在应用实例的分析中该系统用于浙江省“五水共治“河道督查工作,系统运行稳定,界面显示清晰,数据传输实时有效,完全能够满足河道督查工作的需求,为建立河道长效督查机制提供了有效方法。
“五水共治”;河道督查;移动GIS;LBS;实时传输;云服务
“五水共治”工作是浙江省委省政府为保护水环境采取的一项重要举措,经过努力取得了一定的治水成效,但是问题也随之而来,治理好的河道往往再次变黑变臭,如何有效防治,河道督查应势而生。“五水共治”河道督查工作一般由督查人员实地拍照、群众访谈、文字记录等流程组成,然后人工整理督查资料、撰写督查报告,整个流程比较冗余、琐碎,耗时、耗人、耗力,且存在督查问题不能及时反馈给工作人员的问题[1]。本文通过研究将移动GIS、互联网+、LBS位置服务等技术用于河道督查,开发了基于移动GIS的“五水共治”河道督查系统,实现督查人员手机巡检河道,实时传输空间地理位置数据、多媒体数据、文字数据,建立手机端与Web端实时互动的督查工作模式,改进传统的督查工序,有利于“五水共治”长效督查机制的建立。
一、系统设计
1. 需求分析
“五水共治”河道督查工作需要记录被督查河道的空间位置、现场照片及文字描述等信息,然后人工整理,电脑输入等,并且要考虑反馈问题的及时处理,建立问题反映者与处理者之间信息化的沟通机制[2]。鉴于这些需求,数据库设计应首先能满足多源、不同格式数据存储问题,系统设计应能满足实时传输,且应方便多源数据的调用显示问题。
2. 数据库设计
数据库设计时有两个需要解决的问题:一是移动端与服务端数据同步问题,通过数据库表里的唯一GUID实现关联同步;二是移动端存储显示问题,全省需要督查河道约有6000多条,且为空间多段线,有些复杂河道涉及空间结点众多。传统的矢量存储显示方式通过程序读取空间数据到设备内存,根据用户的选择(如图层、区域等)将图形显示到屏幕上, 将会使图形放大、缩小显示的速度慢得无法忍受, 显示的图形也会密密麻麻无法辨认。考虑到任意时刻移动终端屏幕显示的图形数据只是全部矢量数据的一部分, 因此适当减少移动终端读入非屏幕显示区域的矢量数据, 在不影响屏幕图形数据显示的同时可以大大提高图形显示速度[3]。按照这种方法, 数据库设计时对移动终端空间数据的组织管理采取了分级分区域的存储结构[4-5]。初始启动程序时,系统主界面以点的形式显示河道位置,当缩放到一定级别时以线的形式显示河道;督查用户登录系统后首先选择督查工作区域(即所在县市区),系统只显示督查区域内的河道,可通过工作区域设置重新选择县市区,显示督查河道。
考虑到手机存储特点,移动端采用sqlite轻量型嵌入式数据库,移动端存储河道数据、省控断面数据、手机用户的注册信息、督查记录、本地多媒体数据等数据;云服务器端采用MySQL开源数据库,存储数据包含河道数据、省控断面数据、手机用户、治水工作人员管理表、权限表、督查记录、处理进度、多媒体数据等多张数据表; 多媒体数据以文件系统存储在云服务器上,相应数据表存储对应文件路径,方便系统检索调用。其中user表、record表包含的属性字段见表1。
表1 user表、record表属性字段
3. 系统逻辑结构
通过上述的需求分析及数据库设计,系统逻辑结构如图1所示。
图1 系统逻辑结构
二、功能实现
1. 系统开发运行环境
为保证督查河道、省控断面等空间地理信息数据的流畅显示,移动系统开发采用了安卓、苹果App原生开发模式,安卓版开发环境为jdk1.7+ Android SDK+ADT插件,编程平台为Eclipse软件,开发语言为Java[4];苹果版开发环境为iOS SDK+MAC OS,编程平台为Xcode软件,开发语言为Objective-C[6]。Web端系统空间数据发布软件为GeoServer,网络服务器为Tomcat,开发框架为SSH架构,编程平台为Eclipse软件,开发语言为Java,开发环境为jdk1.7。云服务端采用Thinkphp框架,开发语言为PHP,网络服务器为IIS。
系统运行环境取决于开发环境,移动端“五水共治”河道督查系统可应用在安卓4. 2(含4.2)、苹果8.0(含8.0)上,可通过扫描图2、图3所示二维码或通过腾讯应用宝、苹果商店(Apple Store)下载使用。
图2 安卓手机二维码
图3 苹果手机二维码
2. 系统功能开发
以安卓端功能开发为例,安卓应用程序开发没有统一的入口,各个应用之间是相互独立的,并且运行在自己的进程当中。根据完成的功能不同,安卓划分了4类核心的组件类:Activity、Service、Broadcast Receiver和ContentProvider。相同组件和不同组件之间的导航通过Intent来完成。安卓还定义了View类来显示可视化界面,如菜单、对话框、下拉列表等。它的优势在于开放性、开源等,是一个优秀的移动设备操作系统[7-8]。“五水共治”河道督查系统功能的开发包含移动端、Web端、服务后台3个部分的开发。移动端功能通过调用天地图移动API开发包实现,它是一套基于Android 2.2及以上版本设备的应用程序接口,以JAR包的形式提供各种地图服务和数据,如地图展示、标注、定位等。
Web端功能通过调用天地图Web API实现,它是一套由JavaScript语言编写的应用程序接口,支持各种地图应用,还可以使地图功以模块化集成在系统应用中[9-10]。在使用之前需要通过