Android在地质灾害移动智能监管中的研究与应用

时间:2022-10-23 03:22:41

Android在地质灾害移动智能监管中的研究与应用

摘要: 随着android技术的日趋成熟和高速普及,其良好的兼容性、开放性、网络通信等特点使Android开发在各领域中将会有更广泛的应用。本文主要讲述了基于Android平台的地质灾害移动监管系统研发,使用智能筛选技术、Google Maps开发导航、手机拍照采样和服务器响应,通过网络编程使终端利用3G无线通信技术更新地质灾害信息,从而达到严谨防范、监管便捷,让监管部门及时动态的掌握灾害点信息。

Abstract: With the maturity and rapid popularization of Android technology, the characteristics of good compatibility and openness, network communication will make Android development be more widely applicable in the future. This paper describes the development of geological disasters mobile supervision system based on Android platform, the use of intelligent screening technology, Google Maps development navigation, mobile phone photograph sampling and the response from the server, the network programming makes the terminal update the information of geological hazards by using 3G wireless communication technology, so as to achieve the goal of strict prevention, convenient regulation and let the authorities in a timely manner to master the dynamic disaster information.

关键词: Android;Google Maps;导航;拍照;网络编程;3G

Key words: Android;Google Maps;navigation;camera;network programming;3G

中图分类号:TP31 文献标识码:A 文章编号:1006-4311(2013)35-0201-02

0 引言

我国是一个地质灾害多发的国家,地质灾害的孕育和破坏程度给人民生命财产安全及社会的经济发展带来了潜在的不可估量的影响,传统的纸质地图引导、手工记录、人工录入系统、短信等预警方式,其实时性不强,内容单一和巡查管理的不及时给灾害管理和预防带来不便。

随着智能手机和无线通讯技术的高速发展,各智能移动平台将成为GIS(Geographic Information System)技术新的应用平台逐步发展趋势。本文提出并实现了一种基于Android平台的地质灾害信息管理研究应用,该系统利用Google Map API,GPS技术,3G(Wi-Fi)无线通信技术,Android技术和SQLite数据库相结合,实现了移动GIS在地灾害监管中的应用。本文着重解决减少用户的操作量,为用户提供智能化地质灾害巡航、信息更新及预警管理服务,达到室内外信息同步一体化,在地质灾害信息的管理领域将发挥越来越明显的作用。

1 地质灾害管理中的Android技术

Android是Google于2007年11月的基于Linux平台的开源操作系统,是首个为移动终端打造的真正开放和完整的移动平台[1]。其在自主开发领域优异与其他GIS的二次开发有:①开发不受控件界面、组件功能以及数据格式的限制,能满足移动地质灾害管理用户的个性需求;②可以完整的自定义地图数据作为底图;③不需要采购商业化软件,也不需考虑系统装机数量支付额外费用,降低了开发成本。Google公司提供的Google API支持Android系统运行Google Maps等应用,极大的方便了应用程序的开发[2]。Android系统带有非常流行的轻量级嵌入式数据库SQLite,支持SQL语句操作数据库,实现事务的独立性、一致性和持久性。Android系统具备与3G网络和WIFI网络高速连接机制,是我们在信息时代达到数据共享、云端穿梭的唯一途径。

2 基于Android的地质灾害管理系统的体系结构

整个系统使用了“三点式”的运行模式,在原有的研究基础上更好的实现了“客户(Android)—服务(Server)—客户(PC)”体系结构,这样一个体系,将系统组织结构“数据层、逻辑层、表示层”搭建的非常完美,达到了数据互换和共享功能(如图1所示)。

2.1 将地质灾害的属性和空间数据统一部署在服务器的Oracle10数据库中。利用唯一标识码来实现空间数据、属性数据的无缝链接[3]。用于Android和PC客户端的数据更新和上传。

2.2 Android开发Google Map浏览、通用地址查询、隐患点及地质灾害点各属性信息查询和周边信息查询,通过GPS巡航目的地,并提示附近可巡航的灾害点,记录灾害点的图形和文字属性信息上传到服务器。新增和更新地质灾害数据。

2.3 客户PC端以原有的影像、地形及各隐患点做底图,实时可预览、查询、分析Android端更新到服务器端的灾害数据。根据分析得出相应的地质灾害预警和防范措施。

3 Android地质灾害监管技术

3.1 数据同步模式 智能手机野外巡航监测数据与服务器数据的交互、存储问题是保障数据的有效、同步的关键。本文手机端采用的是Android系统内置的嵌入式数据库SQLite作为后台数据库,存储地质灾害空间属性信息。为了减少每次系统开启的更新数据量和下载时间,同步内容采用:每个手机客户端进行唯一标识,把数据比对放到服务端,手机端现有的数据服务端是知道的,通过时间戳和同步表(记录哪个表增删改了哪条数据,如表1)来双向同步。开启系统或使用中刷新时,加载新增和修改的数据信息无需全部下载。Android通过HTTP协议访问Server中的JSP页面并发送GET请求,服务器端处理请求后将数据结果发送给手机端,Android将接收到的数据按一定格式存储到SQLite 数据库。有一个原则,尽可能在服务端处理的事就不要放到手机客户端,从而达到优化同步数据。

3.2 系统智能巡航设计 巡航模块主要用到的是GPS定位和Google Maps开发,所有灾害点属性、图像位置绘制、标注信息以及触摸事件处理等,通过在地图图层上加入多个覆盖层,且每个覆盖层对用户的点击时间做出不同的响应,覆盖层继承了Overlay类的子类,通过重载draw()方法在指定位置添加标注信息,同时通过重载onTap()方法处理触屏操作。绘制图形或文字需要用Canvas(“画布”)来实现。坐标经纬度与屏幕坐标的转换将利用Projection类来完成。现地质灾害的巡航都是雇用专业的技术单位进行现场监测巡查记录,相关决策部门的审核决定各灾害点的危害程度并分配巡查周期,或指定急需巡查的灾害点。系统启动将会按路程从近到远陈列所要巡查的灾害点,巡航人员可以选择定位和导航所需巡查点。也可以进行查找自己意向的危害点进行巡航,精准的到达灾害点现场。

3.3 信息采集控制系统 到达灾害点现场第一时间就是根据实地情况采集信息,怎样保证信息的采集速率和真实性,在节省信息采集时间方面:本文采用了数据筛选处理,定点巡航的点市、区、街道详细地址将自动填充,不是定点导航的点,系统将自动根据GPS坐标匹配附近最接近的点,巡查人员列表选项等,节省人工搜索和填写操作,而且在灾害点情况描述时可选择常用的专业性术语。真实性方面:本文采用了GPS照相技术和读取GPS时间两种方式来确认灾害点巡查现场照片和巡查时间准确和真实性。

3.4 灾害数据传输 灾害数据包含文字和图像数据,为了改善传输速度,在拍取照片时写了压缩图片的方法,减少流量传输同时保证图像的质量。在传输数据方式上:采用hessian(http、二进制),效率还行,也可以直接走json,需要实测网速以及同步数据块大小来决定采取哪种方式。

缩放照片关键代码:

int bmpWidth = bitmap.getWidth();

int bmpHeight = bitmap.getHeight();

//缩放图片的尺寸

float scaleWidth = (float) sWidth / bmpWidth; //按固定大小缩放,sWidth设置

float scaleHeight = (float) sHeight / bmpHeight;

Matrix matrix = new Matrix();

matrix.postScale(scaleWidth, scaleHeight);

//产生缩放后的Bitmap对象

Bitmap resizeBitmap=Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight, matrix, false);

bitmap.recycle();

Bitmap resizeBitmap=bitmap;

byte[] photoData=bitmap2Bytes(resizeBitmap)。

3.5 Server终端/PC客户端简述 Server端主要任务就是接收手机数据,并将数据上传到数据库。PC端随时能够查阅灾害点巡查记录。新增和修改灾害属性信息,分配巡查任务,手机端将同步掌握PC端的信息和数据。这样“三点式”可以灵活的将地质灾害的管理工作做到更好,将灾害损害降到最低。

4 结论

Android技术在地质灾害的巡航管理方面充分利用了自身的开放性、兼容性以及无线移动的灵活性和方便性,推动了地质灾害管理信息化的进程,使移动地质灾害管理进入了更为先进的新时代,Google Maps作为最早的网上电子地图服务,调用SQLite更新和存储数据,并在相应地图位置显示地质灾害信息名称及灾害预防处理信息。开发的巡航定位为作业人员提供智能化的地质灾害预警导航服务,加上智能的过滤筛选处理为巡航人员节省了大量的移动端的操作时间,让信息尽可能最快的时间上传到服务端供PC客户监管。GPS的定位和时间信息附加在拍摄图像数据中。为用户提供智能化、精准化、真实化地质灾害管理服务。

参考文献:

[1]韩超,梁泉.Android系统原理及开发要点详解[M].电子工业出版社,2010.

[2]SHU Xian-hua,Du Zhen-jun,CHEN Rong.Research on Mobile Location Service Design based on Android[C]//Proceeding of the IEEE Conf WICOM09.Beijing;[s.n.],2009;[s.n.].

[3]何建军,孙磊,丁媛.基于WebGIS的危险源管理系统的设计与实现[J].测绘与空间地理信息,2011,33(1):90-92,96.

[4]王家林.Android 4.0网络编程详解[M].电子工业出版社,2012.

[5]谢博晖,基于Android操作系统的GIS软件开发与研究[D].华东师范大学,2012.

[6]孙育春.Google Maps API开发大全[M].机械工业出版社,2010.

上一篇:基于胜任力模型的人力资源管理模式研究 下一篇:VB程序设计教学方法改革与探讨