(天津市建筑工程渣土管理站,天津南开300191)
【摘要】为了加强对海域资源、环境、执法、灾害的监管,提高日常办公效率,以及实现
对海洋管理的信息化、技术化,文章设计和实现了一个基于Android系统的海洋海域移动巡查系统。该系统利用移动设备的移动性,结合GIS地理信息技术、GPS定位和GPRS无线网络技术,实现日常巡查的规范化管理、实时性共享和海洋数据信息化,可以极大地提高工作效率,加强海洋局对海洋的科学管理。【关键词】海洋海域;巡查;移动终端【中图分类号】TP311.52【文献标识码】A【文章编号】1674-0688(2017)04-0026-04
近年来,我国海洋经济迅猛发展,海域使用需求持续增长[1],海洋海域是沿海城市经济发展和人民群众生产生活的重要资源。海域巡查[2]是海洋管理部门通过现场踏勘对各类用海活动实施监督与检查,全面掌握辖区内实际用海状况,依法制止违法行为,规范海洋资源的使用,促进海洋经济健康稳定发展。
传统的巡查是通过人员现场查看、相机拍照留存、纸质文档记录等方式,费时费力,后期资料整理工作量大、效率低,难以满足现代化管理要求。部分海洋局也开发一些海域使用动态监视监测管理系统,但是所有这些工作或建设成果都还处于分散状态,还没有形成系统性和整体性。因此,迫切需要开展基于海洋海域移动巡查系统的海洋综合管理信息平台建设工作,进一步完善海洋观测体系系统,建设成功能涵盖海洋环境监测、海洋灾害监测预警、海洋实时监察、海洋公众信息服务的海洋综合管理信息平台,实现海洋资源、环境、执法、灾害及信息服务的移动化、数字化、科学化、透明化管理。
本文基于Android系统,结合GIS地理信息技术、GPS[3]定位和GPRS无线网络技术,经过分析海洋局的实际需求和业务流程,开发了海洋海域移动巡查系统。
1系统总体结构
系统总体结构如图1所示。系统主要包含移动终端、监控中心巡查管理系统及防火墙等相关设备。
移动终端使用AndroidSDK[4]与Eclipse平台进行开发,配合移动设备GPS芯片、GISforAndroid[5]、Http通信协议、4G网络及SQLite数据库[6]等技术,提供实时向后台提供外出巡查人员的实时位置,发现相应海域问题并及时上报后台,对登录用户的信息进行修改,地图可视化操作,地图高亮显示后台相关海域,同步服务器信息,以及地图测量等功能。
监控中心巡查管理系统通过运用JAVAEE技术及三层架构开发方法,使用Jsp+Html技术编写网页界面,struts2框架技术中的Actionsupport类进行请求
图1系统总体结构
【作者简介】董振玲,男,天津宝坻人,本科,天津市建筑工程渣土管理站职员,从事渣土运输智能化监控管理相关研究。
26
qiyekejiyufazhan
2017年第4期(总第426期)并调用后台服务接口获取数据,利用百度地图进行地图展示和各种操作。实现了系统的案件上报管理、人员管理、任务管理、文件管理等模块功能。
系统分为4层架构:网络系统层、数据资源层、支撑服务层及应用层。
2系统功能及实现
系统分为移动终端服务子系统、外网综合服务子系统、内网巡查管理子系统。系统功能层次如图2所示。
2.1移动终端服务子系统
移动终端服务子系统主要包括巡查员登录管理,巡查任务管理,疑点疑区拍照、录音、录像及地点标注等记录,GIS地图定位,信息查询等管理,数据上传及系统维护功能。
(1)案件上报。巡查上报模块界面提供EditText组件用于输入案件描述,提供Spinner组件选择巡查单位,经纬度默认GPS获取到的地理信息,巡查人员默认选登录用户,图片信息通过Android设备自带拍照添加并进行相应压缩,提供提交Buttion组件,点击“提交”按钮获取所有案件信息并将信息封装成一个实体类,利用谷歌Gson工具将实体类解析为Json数据,通过Http-Client类调用后台接口,后台将Json数据解析成实体类并保存在数据库中,返回相关提示信息,客户端接收提示信息并做出对应界面的更新。
(2)巡查任务。主界面点击巡查上报模块。巡查上报模块界面提供ListView组件用于展示任务列表,通过HttpClient类调用后台接口获取任务列表,ListView组
海洋海域移动巡查系统移动终端服务外网综合服务内网巡查执法管理子系统子系统子系统巡巡巡外巡综巡巡巡综问其系巡疑地案系查查查网查合查查查合题他统查点图件统任记人地轨查任记轨查落系登任疑管上维务录员图迹询务录迹询实统录务区理报护管管管功回统管管回统跟服理理理能访计理理放计踪务图2系统功能层次示意图
企业科技创新件绑定后台返回的任务列表。通过给ListView注册OnListItemClick事件监听可以实现点击某一任务进行任务查看,利用TextView组件实现对任务信息的详细展示,根据任务当前的状态提供“开始按钮”“结束按钮”“暂缓按钮”,点击“结束按钮”和“暂缓按钮”需要提交暂缓理由和任务总结文字描述,确认后调用后台更改任务状态并刷新任务列表。
提供制定任务按钮,提供任务名称、任务来源TextView文本输入框,Spinner组件选择接收人员,人员数据通过调用后台接口获取,图片信息通过Android设备自带拍照添加并进行相应压缩,提供提交Buttion组件,点击“提交按钮”获取输入信息并将信息封装成一个实体类,利用谷歌Gson工具将实体类解析为Json数据,通过HttpClient类调用后台接口,后台将Json数据解析成实体类并保存在数据库中,返回相关提示信息,客户端接收提示信息并做出对应界面的更新。
(3)地图。地图采用Arcgis离线地图,下载Arcgis地图相应Jar包放到Libs文件夹后方可对地图进行相应的操作。利用ArcGIS10.2软件制作离线切片地图Tpk包,将Tpk包放到Android设备内存,通过下面代码可以加载出地图:
MapViewmMapView=(MapView)view.find-ViewById(R.id.home_arg_map);
ArcGISLocalTiledLayerlocalMap=newArcG-ISLocalTiledLayer(offlinemapPath);
mMapView.addLayer(localMap);
其中,offlinemapPath是Tpk包在Android设备内存中的位置。加载完地图后,根据MapView类的zoomin()、zoomout()对地图进行放大、缩小操作。下面详细介绍其他功能。
定位采用百度地图API定位功能,从百度地图官网下载百度定位Jar包放至Libs包中,在AndroidMani-fest.xml文件中添加百度密匙声明后可正常使用定位功能,利用百度地图可以周期性地获取当前位置信息并保存在系统中。地图模块点击“定位按钮”后获取经纬度信息,利用nowLocationLayer定位图层显示出来,代码如下:
Pointpt=locationChangeToMapPoint(loca-qiyekejiyufazhan
27
企业科技创新tion);//转换成地图坐标
Graphic
centerGraphic
=
new
Graphic
(pt,symbol);
nowLocationLayer.addGraphic(centerGraph-ic);
MapView.addLayer(nowLocationLayer);Arcgis离线地图自带测量工具,通过给MapView注册onSingleTap事件监听,实现触摸地图取点监听。长度测量实现方法为取点,将点按照顺序量成一个Polyline对象,利用Polyline对象中的calculateLength2D方法测出长度。同理,测面积为将点按照顺序量成一个Polygon对象,利用Polygon对象的calcu-lateArea2D方法测出面积。
在疑点疑区功能中,需要联合地图在地图上圈出疑点疑区区域,这时需要地图的画图功能。实现原理为取一系列点后将其封装成Polygon对象,再将Polygon对象封装成几何图形Graphic对象,利用下面代码将Graphic对象添加到地图:
GraphicsLayer.addGraphic(Graphic);MapView.addLayer(GraphicsLayer);完成对几何图像显示到地图的效果,即画图功能。(4)疑点疑区。疑点疑区模块界面提供ListView组件用于展示疑点疑区列表,通过HttpClient类调用后台接口获取任务列表,ListView组件绑定后台返回的任务列表。通过给ListView注册OnListItemClick事件监听可以实现点击某一疑点疑区进行查看,利用TextView组件实现对疑点疑区信息的详细展示,同时联调地图高亮展示疑点疑区区域。
提供“上报疑点疑区区域按钮”,进入输入疑点疑区信息上报界面,界面与案件上报基本一致,唯一不同的是需要为疑点疑区添加疑点区域,区域信息以List保存,将区域边界一系列点按照顺序保存,传输到后台再按照顺序解析出来。
(5)系统接口。移动巡查子系统接口主要采用spring+webserviceCXF+REST技术,接口请求主要使用POST方式和Josn+HttpClientCXF+REST技术。照片等附件上传方式采用Josn传输保存。部分接口列表见表1。28
qiyekejiyufazhan
2017年第4期(总第426期)表1
系统接口列表
接口用途
接口方法
方法参数参数介绍返回值StringY或者N登陆Login
loginname登录名若返回Y则附String登录密码带用户信息passwordJson数据StringuserId修改密码updatePwd
StringoldPwd
用户IDString用户旧密码Y或者N
newPwd
用户新密码
Y或者N,若
获取文件流
getCertFile-Y则附带文件ById
Stringfile_id文件ID
流Base64位
数字修改任务状态updateStatusStringid任务IDintstatus修改后状态Y或者N删除任务
delWork
Stringids
任务ID
Y或者N
2.2外网综合服务子系统
外网综合服务子系统主要为海洋海域移动巡查终端和外网用户提供服务,采用Java语言开发。主要实现用户认证、巡查任务发布、巡查记录管理、巡查轨迹的监控管理及地图规划、定位、查询、分析等管理功能,以及综合查询统计等功能。
2.3内网综合服务子系统
内网巡查管理子系统主要进行巡查结果后续处理及衔接其他业务系统,采用Java语言开发。主要包括巡查问题的落实跟踪、巡查人员绩效考评、综合查询统计及对其他系统信息服务等功能。
3数据库设计
海洋海域移动巡查系统所涉及的数据库表、多媒体信息和存储过程,根据业务用途可分为2类数据结构。一类是用于移动巡查系统内部日常管理信息,另一类是涉及存储日常海域监管业务信息。
在移动巡查系统设计中,用户管理、设备管理和巡查任务管理是一个很重的内容。因为这部分设计将影响软件和移动巡查终端的用户登录功能、用户和设备管理功能、巡查路线的设计。所以在本系统的设计过程中,需要明确用户与移动巡查终端、用户权限、设备与巡查线路的关系,以便实现用户管理功能、设备管理功能和移动终端在系统登录中的用户认证和设备认证、线路管理的操作。
2017年第4期(总第426期)企业科技创新具体实体关系图如图3所示。系统使用了SSH框架链接数据库,在Tomcat服务器启动的时候,通过xml配置文件注解的方式注入实例化Hibernate框架,具体xml配置代码如图4所示。
实例化Hibernate框架后,实体类可以通过注解与数据库连接,通过框架中的Session类的sava()、delete()、update()、createQuery()方法实现对数据库的增、删、查、改操作。
图3
系统E-R图
4结论
海洋海域移动巡查系统通过运用JAVAEE技术及三层架构开发方法,实现了系统的案件上报管理、人员管理、任务管理、文件管理等模块功能,让办公人员可以通过移动设备完成工作,提高了巡航效率,使得管理透明化、信息化、精确化,对沿海管理海洋的相关部门具有重要的意义。
参考文献
[1]王江涛我国海洋空间资源供给侧结构性改革的对策[J]经济纵横,2016(4):39-44[2]李佼,龚岳松,郑晓阳
浅谈上海市海域动态监视监测
基于立体观测网的海洋综
管理系统设计[J]海洋开发与管理,2014(1):14-18[3]沈少青,洪宇,郑志文,等
96-100
合管理信息平台的设计与实现[J]测绘通报,2017(5):
图4
xml配置代码
[4]吴昊,赵冬青,黄志勇,等基于Android的控制点手持
维护系统的设计与实现[J]测绘科学,2017(1):177-192
[5]李欣基于位置服务的移动GIS应用模式研究[J]测绘
科学,2006(6):182-184[6]许艳萍,马兆丰,王中华,等
Android智能终端安全[责任编辑:钟声贤]
综述[J]通信学报,2017(6):169-184
qiyekejiyufazhan
29
因篇幅问题不能全部显示,请点此查看更多更全内容