APP下载

基于Android的应急指挥系统

2014-10-14穆晓斌杨丽娜

计算机与现代化 2014年2期
关键词:报文绘制图形

穆晓斌,杨丽娜

(1.海军驻北京作战系统军事代表室,北京 100036;2.华北计算技术研究所,北京 100083)

0 引言

传统的应急指挥主要靠语音手段进行指挥。随着信息技术的不断发展,开始通过电子信息手段来存储和传递指挥信息,指挥方式从原先的语音指挥转向图形指挥。而随着无线网络技术的快速发展,促使原有的应急指挥系统从多设备组合向多功能集成转变。多功能集成化的设备将会成为未来应急指挥中单兵的主要装备。多功能集成得益于迅猛发展的智能手机产业。当前智能手机已经不再是过去的那种只具备电话、短信等单一功能的设备,而是集成了拍照、录音、GPS等多媒体功能的复合型设备。

Android操作系统是本文系统开发的平台。搭载Android系统的智能手机,已经具备了一台早期计算机的处理能力。Android操作系统上用于娱乐教育等的软件都很丰富,但是在应急系统领域上却还比较少。而且Android硬件系统集成了GPS导航、照相、录制视频、录制音频等功能,可以方便地进行空间的定位、多媒体信息的采集,完全具备实现一个应急指挥系统的硬件条件。

1 需求分析

原有的应急指挥系统主要依赖于单兵的多设备组合,单兵整理信息后,通过语音信息与指挥中心进行交互。基于Android的应急指挥系统改变了传统的指挥方式和传统的信息收集传递方式与使用方式。地点定位、现场勘查、图片拍摄、动态声音采集、动态影像信息录制、信息汇报这些功能本来需要单独的设备进行支持,现在都可以通过Android智能手机上自带的GPS、照相机、录音、录频功能等快速简便完成。

1.1 指挥方式

目前主流的指挥方式主要有语音指挥和图形指挥两种。

(1)语音指挥。

传统指挥中,各级指战员主要以350M无线电台为载体,以语音来传递作战信息,下达指令。这种“语音指挥”具有简单、方便、直接,易于人理解的特点,但可能存在转意不准出差错的风险。在传达过程中,语音经过多次转述容易出现误差甚至更大的误解。“语音指挥”经过多级传递,一定程度上延缓了处置反应时间,有可能会错失最佳战机。这就需要一种更准确、形象、直观、高效的方式[1]。

(2)图形指挥。

由于人类对外界信息的感知主要来自于图像信息,图形可以经过约定表达特定的含义,从而使用图形表达最真实有效的信息。通过标绘图形和添加文字照片,可以形成指挥图。但同时存在的问题是,图形需要经过培训的专业人员才能看懂特定的图形表达的特定含义。本系统主要处理的信息有图形信息、文字信息、图片信息、地理信息。可以及时地向指挥中心报告当前所在的地理位置,以及将收集到的情报以图形、文字、图片等各种多媒体手段表达后报告给指挥中心。

1.2 使用方式

网络化、移动化飞速发展,使得Android智能手机集成了众多功能,甚至有比桌面更多的功能,比如GPS导航定位;有比桌面更快捷的功能,可以迅速拍照上传;有比桌面平台使用更方便和舒适的功能,直接触摸手绘,而不是通过鼠标进行间接的接触。轻便易携带、多功能一体化,是应急指挥系统的发展方向。

(1)GPS导航。

GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。它为全球的物体提供定位的功能。传统的单兵可能需要单独配备定位设备。通过接入地图服务的方式,可以很容易地在地图上定位出当前的位置等。并且由于手机有能够识别本地磁场方向的芯片硬件支持,目前Android上的地图软件还支持指南针应用,可以轻松辨别方向等。

(2)拍照上传。

Android应用程序可以很方便地集成系统自带的照相机功能。通过拍摄侦查地,在标签内显示当前拍摄的照片,可以最直观地显示某地的现场情形。在可以连接到指挥中心的情况下,可以迅速将照片传回给指挥中心,使指挥中心的人员更迅速地做出有利当前情形的决策。无法连接到指挥中心的情况下,可以形成指挥部署图,在内部小组内传阅。

(3)注记绘制。

注记是用于当图片无法表达清晰意思时标绘的文本名称。简要的文字说明是重要的辅助指挥手段,可以更清楚直观地表达指挥者的想法。通过Android开发框架提供的文本控件,可以方便地输入中英文文字。将文字以及图片一起进行说明,可以更清晰明确地表达情况信息。

2 场景分析及交互研究

手持终端通过TD-SCDMA专网获取应急指挥中心发布或更新的指挥命令、图形数据、地图数据、导航数据等信息,并通过专网向应急指挥中心报告终端所在的位置和现场情况信息。

本系统是以Android操作系统为终端系统,依托指挥信息系统中心,利用现代移动计算机技术、现代移动通信技术等手段,整合了应急指挥综合业务处理的应用系统。它为单兵工作现场提供了强大的数据信息支持,促进了业务综合和信息关联。在应急工作中,单兵可以利用系统的照相、图形标绘、文字绘制等功能,实现现场信息的快速捕捉以及记录描述。此外,还可以利用系统的定位功能对单兵自身进行准确定位,并能通过TD-SCDMA专网将当前的位置信息发给指挥中心。

2.1 系统使用对象

系统使用对象为各级作战小组指挥员,主要是指挥部的指挥长、作战助理、作战模块(攻坚组、执勤中队、任务编队等)的指挥员、通信员,以及其他相关人员。系统中,便携移动终端是指Android的大屏幕智能手机、Android 的平板电脑等[1]。

2.2 应用的场景分析

在各种应急指挥中,有2种主要的应用场景:

(1)可以连接指挥中心时,直接连接指挥中心的GIS地图服务器。根据任务的要求,任务编队赶往侦查地,并将GIS定位到此地点,绘制成初战指挥部署图(可以拍照以及绘制文本信息),发送给指挥中心和全勤指挥部值班人员。

(2)特殊情况无法连接指挥中心时,可以使用缓存在本地的地图切片,调出地图切片使用切片地图。无法发送报文,也无法接收报文。现场标绘形成初战指挥部署图(可以拍照以及绘制文本信息),主要用于内部作战小组迅速了解形势情况。

2.3 交互研究

手持移动设备与桌面设备不同,其资源有限,比如屏幕尺寸、硬件处理能力都比不上桌面设备。同时由于设备具有移动性,传统的输入输出方式(例:鼠标、键盘输入,显示器输出等)也不再适合。从交互操作方式上看,移动环境下人机界面交互操作也与传统界面的交互操作发生了根本性变化[2]。

以手势来体现用户的意图是一种自然高效的方式[3],它使用户可以直接操作界面上的交互对象,而无需借助任何中间介质。手势交互为两大类:触控界面手势与传感器手势。其中触控界面手势交互的主要对象是触控屏,交互手势分为选择和滑动两大类:select(选择)类手势操作包括 click(单击)、doubleclick(双击)、press(按压)等;slide(滑动)类操作主要以 slide手势为主,move(移动)、flick(轻弹)、drag(拖动)等手势为辅配合使用。在本文的应急指挥系统设计中,主要用到了click(点击)、touch(触摸)、slide(滑动)等常用手势,方便用户使用,减少了学习新软件的时间成本。

Android系统还提供了触觉反馈,比如新消息提醒会通过振动来提示。而在应急指挥系统中,向应急指挥中心成功发送消息或接收到应急指挥中心的消息,都会通过振动来提示[4]。

3 功能分析

Android上的应急指挥系统功能包括:

(1)情况上报。

情况上报的方式主要包括短消息上报和格式报文上报两种。在应急现场,处置人员可以根据当时的情况选择不同的方式向指挥中心汇报现场情况。短消息上报方式,主要用于用简短文字报告情况,或者上报当前位置等情形。格式报文上报方式,主要用于需用照片、态势等图文信息真切反应现场情况的情形。此外,还需要对已上报的情况进行保存,并提供浏览、删除等发件箱管理功能。

(2)情况接收。

情况接收的方式主要包括短消息接收和格式报文接收两种。在应急指挥过程中,指挥中心会结合现场信息和应急预案,向现场处置人员发送短消息或格式报文。其中短消息包括行动指令、天气情况等文字信息,格式报文包括应急方案示意图等图文信息。手持终端需要能够快速准确地接收指挥中心下发的信息,并能够正确显示,起到指引处置人员行动的作用。此外,还需要对已接收的情况进行保存,并提供浏览、删除等收件箱管理功能。

(3)导航定位。

导航定位包括单兵的自主定位和到达目标地点的路线导航,并对单兵的行进过程进行监控。

结合电子地图和GPS定位系统,手持系统可以实时显示单兵的位置信息。通过指挥中心的GIS服务支持,手持系统将会收到指挥中心为其计算的一条到达目的地的最优路径。在单兵的行进过程中,实时比对其当前位置与路径的距离。

4 系统设计

图1为应急指挥系统结构图。

图1 应急指挥系统结构图

(1)数据层。

数据层主要负责对各种接收到的数据进行存储和管理。它接收从外部数据源得来的数据并通过数据源适配器转换成特定的格式按类别存储在本地。如报文数据主要存放通过无线网络收到的报文信息,电子地图数据包括预装的地图切片数据(PNG图片),而GPS信息、照片等数据是指通过手持型终端自带的照相机、GPS定位芯片等传感设备获取的现场资料,基础信息包括应急预案、法律法规等,该部分内容可以通过无线网络与指挥中心基础信息数据库进行同步。

(2)业务处理层。

该层提供对数据层的访问以及为业务应用层提供功能调用。它由短信息收发、格式报文收发、地图浏览、GPS定位、拍照模块、标绘模块、图形绘制模块以及数据库查询模块等组成,是手持型应急指挥系统的核心部分,负责处理由业务应用层发出请求后的整个业务流程。短信息收发是指通过手持型设备自身的短信收发功能,实现情况上报和接收。格式报文收发与短信息收发类似,只是所支持的信息类型为格式报文,需要借助的通信手段为TD-SCDMA连接。地图浏览是指对地图数据进行调用,实现电子地图的浏览、漫游、放大和缩小等功能。GPS定位是指通过设备自带的GPS芯片获取当前位置信息,解决单兵在哪里的问题。拍照模块是通过调用设备自带的照相机来协助单兵采集现场图像信息的模块。标绘模块用来实现对现场的态势进行标绘、保存,并能对接收到的行动方案图进行打开。图形绘制模块用来实现在缺乏鼠标等常规输入设备的条件下对现场情况进行快速标注的功能。

(3)业务应用层。

该层是系统的界面层,它是面向用户的窗口,也是系统的表达方式,通过可视化的方式为用户提供各种应用服务功能,如情况上报、情况接收、导航定位、信息查询等。由于手持型设备缺少键盘鼠标等常规输入设备,因此在图上快速标记信息时需要采用手绘线方式。

5 主要模块设计实现

下面主要介绍图形数据以及标注的显示、绘制和控制模块,采用了显示和数据分离的设计思路。

5.1 数据模块设计

(1)图形属性设计。

不同的图形属性代表不同的指挥意图。其中地理信息属性是最重要的业务属性。

图形属性数据存储了图形数据的各种属性,包括地理信息属性、线属性和文本属性以及扩展自定义属性等。地理信息属性是跟地理信息系统相关的数据,主要包括图形数据的经纬度信息。线属性主要包括图形的线宽、线型等。文本属性主要是对不同的图形都可以带相应的文本来实现标注,存储方式支持富文本的方式,一段注记文本在数据层中以ArrayList<TEXT_ATTR>testAttrList来存储。其中类TEXT_ATTR包括了文本的字体大小、字体名称、是否斜体、是否粗体、是否下划线、删除线、文本内容。一段文本每一个字符的格式都可以设置,并根据不同的文本属性分割成一块一块的TEXT_ATTR存储。

通过观察者模式,当图形属性数据发生变化的时候,发消息到消息池控制器,消息池接收到消息后,对相应的消息作分发操作,由不同的动作去实现相应的操作。可以由控制器集中通知绘制显示模块进行更新。

(2)文件数据设计。

保存下来的指挥图采用跨平台的数据存储格式XML保存。文件数据主要包括:地理信息系统当前的经纬度范围、当前绘制的图形的数量以及图形的属性。保存的指挥图可以通过网络传递发送到指挥中心进行查看。

(3)图片格式数据。

Android拍照的功能可以通过图片显示的方式,迅速而有效地集成进指挥图中,通过调用系统自带的拍照功能将图片保存下来,放缩至指定的大小和显示在指定的位置,并加上文字注记等,就可以迅速地描述应急现场当前的情况。在图形数据的回传时,可以采用Base64编码,将图片信息迅速加进指挥图文件中,并发送给指挥中心查看显示。

5.2 绘制显示模块

(1)图形数据显示。

图形是指挥图上的主要表示信息,图形数据可以通过图形服务获取图形信息,也可以通过存储在本地的图形数据库获取图形数据。

将图形数据存储在Android提供的轻量级的数据库SQLite中,通过SQLiteDatabase来操纵数据库。可以通过Open Database来打开文件所对应的SQLite数据库。通过execSQL来执行查询数据库中存放的图形数据,并将图形数据解析后用Android的绘图功能绘制图形[5]。

通过Android提供的绘制接口,可以在屏幕上进行图形的绘制。绘制显示模块的主要工作是去数据模块读取与显示相关的图形属性,并调用相应的绘制接口进行显示。

(2)切片地图显示。

嵌入式GIS常采用基于瓦片技术的电子地图。瓦片地图是用事先分割好的地图图片拼接形成的最终电子地图。借助GIS工具快速构建金字塔模型瓦片地图库;一般电子地图的缩放等级是0~17共18个等级,因此共建立18个级别的地图库。通过Android的SD卡文件系统存放地图库,主要是借助文件夹的层次关系及文件名来共同标志地图图片的地理信息。切割好的地图图片都是256×256的PNG图片,这种格式的图片比较小,并且支持透明[6]。

当没有网络连接时,采用连接系统内存放的本地离线切片地图来进行地图信息的支持。切片地图的算法主要是基于线性投影进行计算。因为每一张切片都是256×256像素,根据第0级的切片张数(第0级的经度跨度是360,维度跨度是180),可以近似地算出每一个像素对应了多少个经度或者纬度的跨度。根据切片的命名规则(比如L0X0_Y0,表示第0级,0行0列的切片地图,如果这是个世界地图,则左上角的经纬度坐标为-180经度,90纬度),图片是以2N(N是级数)增长的,可以算出每一个切片左上角点的经纬度坐标,然后根据每一个像素在切片中的位置,结合上面近似计算的关系,算出每一个像素点的经纬度坐标,这样便进行了相应的经纬度到屏幕坐标的转换。

切片地图在显示的时候,采用canvas drawImage的方法在屏幕上进行绘制[7]。

(3)注记显示。

文字模块显示支持富文本(Rich Text Format),在本文中的实现方式允许逐字逐字设置字体样式[8]。Android文本控件支持富文本显示。但是当用户在控件中输入完文本后,必须在界面上进行显示。编辑和绘制的步骤是:双击文本进入文本编辑状态,弹出文本控件,输入文字,对文字进行属性设置。当下一次触摸点不在文本控件范围内时,隐藏文本控件,而后进行绘制。绘制的方法和过程是:得到文本控件的内容是一段HTML文档(类似于<html><head></head><body><p style margin top="0px"><font size="15pt"color="0xff0000"><b>Hello</b></font></p></body></html>),对文档进行解析,分割成一段一段的文字和其对应的格式(比如上面这段文本,Hello是文本,属性是粗体,字体颜色是红色,字体大小是15像素),存放到数据模块定义的文本格式中(ArrayList<TEXT_ATTR>)。首先需要遍历一遍,计算每一行文本的最大尺寸,用于统一计算每一行绘制文本的起始点;然后用canvas绘制时,一串一串地设置文本对应的格式,并绘制其相应的文本。在绘制过程中,判断是否超出了控件的宽度;如果超出,则必须从下一行开始继续绘制文本。

5.3 控制器模块

控制器模块包括一个消息接收池,它是数据层的观察者,主要用于统一接收数据模块发送的消息,并统一分发至不同的动作完成。控制器用于数据层和绘制显示模块通信的桥梁。

6 结束语

Android手持端智能手机将拍照、标绘、文字等功能集成起来,实现对现场信息的快速整合,并能利用无线网络向指挥中心报告;同时也能够接收并打开指挥中心发来的多媒体格式报文。在应付紧急事件的过程中,系统可以提供导航定位指挥、多媒体信息回传等功能。

该系统不仅可以充分利用移动通讯技术的灵活性和机动性,来为应对突发事件服务;而且可以通过与现有信息系统的有机结合,拓展单兵的作业能力。对于应急行动来说,具有很强的应用价值。

[1]胡文强.基于Android平台的扁平化图形指挥系统[J].消防科学与技术,2013,32(1):78-80.

[2]郁亚南.基于Android平台的人机交互的研究与实现[J/OL].http://www.edu.cn/lun_wen_zhai_bao_1089/20110315/t20110315_588174.shtml,2011-03-15.

[3]田永胜,华庆一,刘强波,等.手持移动设备人机界面交互式范式研究[J/OL].http://www.paper.edu.cn/releasepaper/content/201306-152.html,2013-06-13.

[4]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.

[5]刘仙艳.移动终端开放平台——Android[J].信息通信技术,2011,5(4):50-53,72.

[6]周晓锋,林亚平.基于Android手机的铅笔画生成方法研究[J].计算机应用与软件,2012,29(12):272-276.

[7]朱文充,黄小军.Android移动应用触摸屏的实现和优化[J/OL].http://www.edu.cn/lun_wen_zhai_bao_1089/20120116/t20120116_732495.shtml,2012-01-16.

[8]楚显哲,楼培德.基于Lucene的Android终端全文搜索系统的研究与设计[J/OL].http://www.paper.edu.cn/releasepaper/content/201210-207.html,2012-10-22.

[9]严琦,朱治国.HTML5对移动应用的影响[J].信息通信技术,2012,6(6):64-68.

[10]贾文杰,孙志锋.基于Android平台的智能导游系统[J].机电工程,2011,28(10):1257-1259,1268.

[11]Juha K Laurila,Daniel Gatica-Perez,Imad Aad,et al.The Mobile Data Challenge:Big Data for Mobile Computing Research[DB/OL].https://research.nokia.com/files/public/MDC2012_Overview_LaurilaGaticaPerezEtAl.pdf,2012-06-19.

[12]Do T M T,Gatica-Perez D.Contextual conditional models for smartphone-based human mobility prediction[C]//Proceedings of the 2012 ACM International Conference on Ubiquitous Computing.2012:163-172.

[13]Kiukkonen N,Blom J,Dousse O,et al.Towards rich mobile phone datasets:Lausanne data collection campaign[C]//Proceedings of the 7th International Conference on Pervasive Services.2010.

猜你喜欢

报文绘制图形
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
超萌小鹿课程表
放学后
分图形
ATS与列车通信报文分析
找图形
图形变变变
在转变中绘制新蓝图