《基于osmdroid地图引擎的传感器数据实时可视化方法研究-焦东来.pdf》由会员分享,可在线阅读,更多相关《基于osmdroid地图引擎的传感器数据实时可视化方法研究-焦东来.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第32卷第5期2016年9月地理与地理信息科学Geography and Geo-Information ScienceV0132 No5September 2016doi:1039鹅j-issn16720504201605013基于OSMDroid地图引擎的传感器数据实时可视化方法研究焦东来1,陈雪飞2,蒋贺2,张索非3(1南京邮电大学地理与生物信息学院,江苏南京210046;2南京邮电大学通信与信息工程学院,江苏南京210003;3南京邮电大学物联网学院,江苏南京210003)摘要:随着物联网和移动实时地理信息系统的发展,基于地图的传感器实时监控系统将成为管理物联设备的新途径,而传感器数据
2、的实时可视化是提高监管效率的主要方法。该文提出一种以开源OSMDroid(Open Street Map)为地图平台,基于自定义矢量地图符号实时展示传感器数据的方法,并在Android移动终端上实施验证。该方法利用可缩放矢量图形(Scalable Vector Graphic,SVG)将传感器设备抽象为自定义矢量地图符号,根据传感器数据类型设计地图符号图元与传感器数据的映射规则,据此在地图上实时刷新传感器设备地图符号。地图符号的视觉变量随传感器数据实时改变,从而实现传感器数据的实时可视化显示。实验结果表明,通过地图符号实时可视化传感器数据可有效提高传感器设备管理效率,及时获取设备数据,为传感器
3、设备管理提供一种直接有效的途径。关键词:开源地图0S姗Droid;s、,G;地图符号;传感器;实时可视化中图分类号:P208 文献标识码:A 文章编号:1672-0504(2016)05-0081-060引言地理信息系统(GIS)集计算机、测绘、遥感、地理学、空间科学、信息科学和管理科学于一身,对空间信息进行分析和处理,将地图的视觉化效果和地理分析功能与数据库操作集成在一起1。随着GIS的社会化,以地图为载体的应用尤为广泛,基于GIS的设备设施管理已成为GIS应用的重要方面2。物联网的快速发展,对传感器设备高效便捷的管理需求,使GIS成为管理传感器设备的一种直观有效的途径。随着移动终端设备的普
4、及,移动GIS成为传感器设备管理的新手段。GIS的空间信息分析处理能力与移动终端设备的灵活便利性相结合,使传感器没备的管理更方便。较之于普通设备,传感器设备需实时获取数据并展示,因此,如何实时展示传感器的数据成为基于移动GIS的传感器管理应用方面的重点。虽然基于移动GIS在设备管理方面已有较成熟的理论和方法,但是针对传感器实时数据展示方面,并没有相应的方法。国内外GIS厂商提出的移动GIS应用方案提供着各种移动GIS商业服务,如ESRI公司设计开发的ArcPad提供地图导航、查询要素、地图测量等功能,但缺乏传感器设备监控管理的应用开发。Wilkie等3利用GIS数据设计交通道路仿真3D模型显示
5、实时路况,但在交通信息实时数据展示方面存在不足。国内相关的应用也局限于传感器位置信息的显示,实时数据的展示则依靠其他途径,如李神送等4实现在Android手机地图上显示传感器的地理位置,而传感器的实时数据则通过列表的形式展现。刘茂华等5实现在移动Android平台实时查询公交情况,但并未实现公交车辆实时状态的可视化(如车况、耗油状况等),仅以地图的形式展示公交车辆的实时位置。为了解决数据源实时性和界面显示实时性的问题,国内外学者提出了实时GIS,其不仅能反映事物的最新状态,也可以反映事物随时间变化的不同状态6。利用实时GIS的突出特征,可动态获取实时数据并及时处理,做到状态消息的实时推送和地图
6、显示界面的实时更新。实时GIS可结合操作系统和实时数据获取的形式实现,本文即是在Android操作系统下采用该方式实现传感器数据的实时获取7。OSMDroid地图引擎是移动GIS较常用的一个开发插件,其提供了栅格和矢量两种地图的可视化方式,代表了一般移动GIS软件,本文以OSMDroid地图引擎为例,探讨了移动GIS下传感器数据实时可视化的方法。通过分析移动GIS实时数据及可视化的特点,提出了基于数据映射的自定义地图符号在地图上实现传感器数据实时可视化的方法,并在OSMDroid地图引擎中进行验证。收稿日期:2016_。111;修回日期:2016_0318基金项目:国家自然科学基金面上项目(4
7、1471329)作者简介:焦东来(1977一),男,博士,副教授,从事空间信息可视化、GtS在物联网领域的应用研究。ErIlaii:jiaodonglainjupteducn万方数据第82页 地理与地理信息科学 第32卷1 移动GIS可视化与传感器实时可视化11移动GIS可视化GIS可视化是可视化与地理信息数据结合而形成的技术,运用地图学、计算机图形学和图像处理技术,将结果采用图形符号等可视化方法在屏幕上显示出来,并进行交互处理的理论、方法和技术6。在移动终端上的GIS可视化与GIS可视化相同,目前主要有两种表达方式,即矢量化图形和栅格图像。利用栅格图像实现移动GIS可视化操作简单易实现,但存
8、储数据量大,地图操作时存在失真现象;而矢量化图形的表达方式需要移动终端具有很强的图形处理能力,地图图形不失真且图像数据量小。随着硬件技术的快速进步,目前的移动设备具备较强的计算和实现能力,因此矢量化图形因其不失真等优点得到广泛使用。较之于栅格图像,矢量化图形表达方式更加灵活,就GIS矢量化图形的可视化过程而言,地图符号化仍是其主要途径。在可视化过程中,经过坐标转换将地图的平面坐标转换为设备的显示屏幕坐标,然后利用设备的图形函数进行屏幕绘制,在地图绘制过程中,选择样式或地图符号,最终实现矢量图形可视化。由于在绘制过程中可以更换样式或地图符号,因此矢量图形可视化的过程更灵活,展示效果更丰富。12传
9、感器数据可视化在移动地图上实现传感器实时数据可视化的过程就是移动GIS可视化的过程。传感器数据可视化本质上属于实时数据可视化,通过建立实时数据和视觉变量(颜色、形状等)对应关系的方式,最终将实时获取的数据以直观的图形方式展示出来,与传统数据可视化不同,实时数据可视化不断通过触发器事件来刷新实时数据可视化的内容7。在基于移动GIS的传感器设备管理过程中,传感器设备被抽象成地图上的点符号,通过图层加载传感器符号到移动地图中,而地图符号是由不同的视觉变量构成的,因此传感器数据在地图上可视化的根本是建立传感器数据与地图符号视觉变量的映射关系,通过传感器数据的消息触发器,驱动地图符号数据的变化,以达到地
10、图上传感器数据实时可视化的目的。2面向传感器数据可视化的SVG地图符号定义21地图符号的视觉变量与传感器数据可视化的关系地图上能引起视觉变化的基本图形、色彩元素称为视觉变量,也叫图形变量,是构成地图符号的基本元素8。绘制矢量地图符号时,由于其是基于图元的设计模式,因此通过绘制参数控制符号的视觉变量信息(如形状、颜色的不同),形成一系列具有不同意义的自定义地图符号。当传感器设备被抽象成地图符号显示在地图过程当中,自定义地图符号虽然实现传感器设备的可视化,在地图上仅仅显示传感器的地理位置信息及状态信息,并不能实现传感器数据的实时可视化,需要通过传感器数据变化驱动视觉变量变化实现。建立传感器数据与视
11、觉变量直接映射的可视化描述,视觉变量与属性值一一对应,通过条件判断的方式表达传感器数据与视觉变量的映射关系。定义该条件判断产生式的条件和结果,通过“IFTHEN”的产生式结构描述映射规则,利用逻辑判断实现视觉变量在特定条件下的不同视觉表达。建立自定义地图符号与传感器数据的映射关系要求其地图符号的所有图元可被提取且编辑,即图元的要素属性可修改,因此自定义地图符号必须是可编辑矢量图形而不是传统的栅格图像。SVG图形元素和矢量地图符号图元相似,组成其图形的每个图元都可提取并编辑,尹章才等9提出使用SVG代替传统栅格图像绘制地图符号,利用SVG这一特性方便建立地图符号与数据的映射关系。22 SVG地图
12、符号定义SVG是W3C组织(万维网联盟)推出的新一代基于XML的开放的矢量图形描述语言,支持矢量图形,如矩形、圆形、椭圆形、多边形、贝塞尔曲线等,具有灵活的坐标控制手段,可加入用户自定义的符号,因此可以说它是图形、图像和文字的有机统一。由于SVG是XML文本文件,继承了XML的跨平台性和可拓展性,可以用任何文本编辑器创建和编辑1 0|。SVG的独特优势,更体现在组成其图形的每个图元都可提取并编辑。以下给出一个简单组合图形的SVG文件的例子:backgroundGgGgLayer 1GtitleGrect id=“svg_l”height一“91”width=“164”y=“128”X=“219
13、5”stroke-width=“15”stroke=“#000”fill=“#AAFF56”Grect id=“svg_2”height一-“169”width=95”y一“119x:=“485”stroke-width一“15”stroke=“#000”fill一“#FFFA8”Grect id=“svg_3”height一“184”width=“104”y一“114”x一“4465”stroke-width=“15”stroke=“#000”fill=“#FFFA8DGellipse id=“svg_4ry=“405”rx=“89cy=“3115”cx一“3075”stroke-width
14、=“15,stroke=“#000”fill=“#CBFFFF”GgGsvg上文给出的SVG文件代码中,SVG符号文件的开头为XML的声明,其解析可以通过XML解析器实现;SVG地图符号的数据部分以标签开始,标签结束;其中可以包含若干个数据块,每个数据块存储在标签中,数据块由若干SVG的基本图形元素(circle、ellipse、polyline、rect、polygon、line等)组成11。图形元素包括多个绘制参数,如其中一个矩形数据块,height和width属性定义矩形的宽和高,x和y属性定义矩形左上角的顶点在画布上的坐标,stroke和stoke-width属性控制如何显示形状的轮廓
15、,fill属性设置形状内的颜色。图形元素绘制参数决定了SVG地图符号文件的绘制效果,因此建立传感器数据与图形元素绘制参数之间的映射关系,即可实现通过地图符号可视化展示传感器数据的过程。23 SVG绘制参数与传感器数据的映射及定义基于地图符号实现传感器实时数据的可视化,需建立传感器数据与地图符号绘制参数的映射关系,当地图符号以SVG的格式进行描述时,该映射关系就转换为传感器数据与SVG图形元素绘制参数之间的映射关系m。由于每一类SVG图形元素的绘制参数是固定的,为了区别同一类图形元素的不同实例,需要在图形元素中增加id属性,如表1中的每个矩形rect都添加有id号,SVG与传感器数据的映射关系正
16、是利用此id号修改指定图元属性建立的。表1 SVG图元与传感器数据的映射关系Table 1 The mapping relationship between SVGelement and seltsor dataSVG传感传感器传感器图元器属逻辑 数据 判断条件 修改方式 修改值id 性 地址 阈值1 = fillcolor #ff00000 = filLcolor #8080801025 filLcolor #fOfffff260 : stroke!color 15550 or= stroke color#ffOOff200 时,新建Rect对象并将该矩形的参数值传人Rect对象中,再将此对
17、象以属性id名存放到一个定义为IGraphicElement泛型的ArrayList列表中,以此类推,最终ArrayList存放着该SVG文件所有图元对象。如图2所示的SVG图元解析与存储UML类图,在解析SVG文件前先创建一个接口函数!GraphicElement,在函数中定义SVG各个属性,如paint、Iillcolor、strokecolor等,并初始化绘制方法,创建类AbsGraphicElement实现该接口,初始化接口函数中的方法并定义画笔属性及其他属性值。创建6个子类SVGCircle、SVGEllipse、SVGRect、SVG_Line、SVGPolygon(Polylin
18、e)、SVGPath继承AbsGraphicElement父类,并重写Draw方法用于绘制图元。万方数据第5期 焦东来等:基于OSMDroid地图引擎的传感器数据实时可视化方法研究 第85页图2 SVG图元解析与存储UML类图Fi互2 The UML cIa黛m捌驰m of SVG graphic elementsanalysis and storage332传感器数据与地图符号的映射与绘制的过程基于331节所述方式解析SVG文件获取所有图元存储在ArrayList列表中,同时导入映射规则文件,据此映射规则建立图元与传感器数据映射关系。接收到传感器数据后对其进行判断,当传感器数据的数值发生变化
19、,超过规则文件中定义的传感器数据阈值时,则获取相应需要修改的图元id号并在ArrayList列表中修改对应id号的图元属性值。在地图符号绘制模块中(图3),定义一个画布Canvas后,遍历ArrayList列表获取所有图形元素,调用图元对象的Draw方法绘制各个图形元素到画布Canvas上。由于OSMDroid地图上坐标符号只可调用本地图片数据或者直接利用Drawable类绘制,所以新建一个继承Shape类的SVGShape类并将其抽象为ShapeDrawable(Drawable的子类)。在SVGShape类中,定义Draw方法绘制图元到画布Canvas上,并对该类进行数据类型转换及其他属性
20、设置,例如在Draw方法中设置画笔Paint属性改变画布Canvas在地图上显示大小及其背景透明度等,以满足SVG图形作为地图上传感器设备的自定义坐标符号的需求。当移动、缩放地图或者重新载人地图时,都是对地图的一次刷新,重新建立socket连接服务器获取传感器数据,重复上述流程,对比传感器数据与映射规则中阈值,根据对比结果修改相应图元属性并重新渲染绘制地图符号。通过以上数据的获取、解析及映射方法可以在地图上绘制传感器设备自定义符号,实现地图上传感器数据的实时可视化。在测试程序中,以电机监控和加油站管理为例,OSMDroid地图预先载入表示电机和加油站的地图是图3传感器数据实时可视化系统流程Fi
21、g3 How chart of real time visualization system for s刨msor data符号和映射规则文件,以不同变量名存储在内存中,并将地图符号绘制在不同的地理位置,通讯程序将数据发送至地图窗口,地图窗口一旦侦听到数据的变化,即可按照规则重新绘制。如图4所示,设置两种数据类型的传感器处于4个不同位置,以不同地图符号的图元表达代表传感器的工作状态。图4中左侧图例为初始化的电机和加油站地图符号,右侧图例为处于工作状态的电机和加油站地图符号。当电机工作温度高于映射规则中限制的温度阈值,电机地图符号的机身将修改为红色;当电机湿度低于映射规则限制湿度,则将其风扇定义
22、为紫红色;电机机身上3个按钮开关开闭时的颜色变化代表转子的运行状态。加油站地图符号中的矩形窗口表示目前正在加油车辆数,以矩形色彩深浅代表拥挤程度。而油管则表示站中剩余油量,以绿色为充足,红色为报警,黑色为耗尽。用户在地图上不仅能够获取周围加油站的位置,查看地图符号还能了解每个加油站的实时使用情况,以便选取最优加油途径。万方数据第86页 地理与地理信息科学 第32卷惯蘸 万k彩甏逊;:蔷净粼,?擎、争 麟蘑k豹月、L爨 o隧自 固设备地囝二1、k信窟图4 0SMDroid地图上实时可视化的应用Fig4 The application of real time visualization Oil
23、OSMDroid map4 结语本方案研究传感器数据在Open Street Map地图实时可视化的过程,以SVG格式的自定义地图符号为例,分析了传感器数据性质及其映射到地图符号视觉变量的方法。根据传感器数据变化实时改变地图符号视觉变量,实现传感器数据在OSM地图上的实时可视化显示。鉴于物联网应用越来越多,基于地图的传感器设备管理已经成为物联网应用领域的一个重要方面,本研究以安卓系统作为应用平台,在地图上实时绘制出传感器设备模拟图形,为传感器设备的管理和控制提供更直接有效的途径。参考文献:13傅肃性地理信息系统的理论与应用发展EJ地理科学进展,2001(2):1921992李霖,许铭,尹章才,
24、等基于地图的地理信息可视化现状与发展口测绘工程,2006(5):11143WILKIE D,SEWALL J,LIN M C Transfotruing GIS data intofunctional road models for 1arge-scale traffic simulationJIEEE Transactions on Visualization&Computer Graphics2012,18(6):890一9014李神送,温嘉铭,刘学锋Android手机上传感器信息的实时获取与可视化口电子测量技术,2015(6):10410753刘茂华,韩卯,王岩,等移动C-IS公交查询系
25、统的实现分析J辽宁工程技术大学学报(自然科学版),2015(3):4244276刘文明,杨浚,朱建奇,等GIS实时数据可视化研究J测绘与空间地理信息,2015(3):31-337王柯,王腾,张文诗,等移动终端GIS地图数据模型研究J测绘通报,2015(3):53578陈毓芬地图符号的视觉变量口解放军测绘学院学报,1995(2):1451489尹章才,李霖,王铮,等基于SVG的地图符号设计与实现J测绘科学,2006(5):979910程小峰,朱红军,崔兴贵基于Mobile SVG的移动GIS数据可视化方法的研究与实现J科技资讯,2012(31):212311刘遵雄,况志军,高玉柱基于SVG的电力
26、图形系统的实现口继电器2005,33(21):697312焦东来,苗立志,朱彩英基于映射方法的动态GIS地图符号设计研究口南京邮电大学学报(自然科学版),2012(6):2730,3613李基鸿ArcGIS中自定义地图符号口计算机与现代化,2004(7):113-11414邓晓斌,黄志芳,刘小丽利用DOM、SAX交互解析基于SVG的WebGIS地图编码J硅谷2012(22):28,15Research of Real-Time Visualization of Sensor Data Based on OSMDroid Map EngineJIA0 Dong-lail,CHEN Xuefei2
27、,JIANG He2,ZHANG Suofei3(jSchool of Geography and Biological Information,Nanjing University of Posts and Telecommunications,Nanjing210046;2School of Telecommunications and Information Engineering,NanjingIniversity of Postsand Telecommunications,Nanjing 210003;3School of Internet of Things,NanjingUni
28、versity of Posts and Telecommunications,Nanjing 210003,China)Abstract:With the development of Internet of things and mobile realtime geographic information systemitS highly possiblethat real-time sensor monitoring system based on map becomes a new way 0f managing equipments in the Internet of things
29、,while real-time visualization of sensor data is a main method to improve the efficiency of regulationIn this paper。a method 0fdisplaying realtime sensor data which based on the custom vector map symb01,using an open source OSMDroid(Open StreetMap)as the map platfoITn is presented,and the authentica
30、tion is implemented in Android mobile terminalThe method usesSvG(Scalable Vector Graphic)to draw custom vector map symbol on behalf of the sensor deviceThe mapping rules betweenmap symbol and sensor data are designed on the basis 0f the sensor data type,according tO which the map symbol of sensor de
31、vice is refreshed in the mapThe visual variable of map symbol changes with the sensor data in real time。SO as to realize the realtime visual display of sensor dataThe experiment result shows that by realizing real-time visualization of sensor data throughthe map symbol and timely accessing to device information the method can effectively improve management efficiency of sensorequipments,which provides a direct and effective way for sensor equipments management,and has a wide range of applicationscenariosKey words:open source map OSMDroid;SVG;map symbol;sensor;real-time visualization万方数据
限制150内