APP下载

应用二维码的室内场馆导航应用设计与实践*

2017-11-17林育曼潘敏洁卓伟鹏

微处理机 2017年5期
关键词:韶关场馆二维码

林育曼,潘敏洁,卓伟鹏,饶 浩

(1.韶关学院教育技术系,韶关 512005;2.韶关学院信息科学与工程学院,韶关 512005)

应用二维码的室内场馆导航应用设计与实践*

林育曼1,潘敏洁2,卓伟鹏2,饶 浩2

(1.韶关学院教育技术系,韶关 512005;2.韶关学院信息科学与工程学院,韶关 512005)

目前手机导航多数为用户提供室外导航服务,手机导航已成为人们习以为常的生活习惯,而大型室内场馆通常包括多个区域,多个楼层,甚至涉及主楼附楼等多个建筑群,由于需要专用设备成本较高,因此,缺乏相应的定位及导航服务,通过对室内场馆导航和定位需求进行分析,分析了应用二维码实现室内导航的原理和可行性,根据用户需求分析设计了系统主要功能,讨论了系统有关地图加载、地图搜索、二维码扫描定位导航等技术的实现方法,最后应用结果表明系统能够在Android智能手机运行,并正确实现室内场馆定位、搜索和导航,且成本更加低廉定位精度也更加精确。

二维码;室内场馆;定位;导航

1 引言

手机导航已成为人们习以为常的生活习惯,目前手机上普遍存在的地图应用大多数是为用户提供室外导航服务,但与人们生活息息相关的基础设施,如大型购物中心,地铁站,机场,医院等,却缺乏相应的室内导航服务。尽管室内定位需求强烈,但应用于室外导航的GPS定位服务由于在室内无法接收GPS信号,导致无法实现定位[1]。目前室内导航和定位的方法主要有基于专用设备的室内定位,基于Wi-Fi信号测距,基于Wi-Fi指纹的定位以及地磁场定位等[2],但这些方法需要在室内布署相应的专用设备,成本较高,此外定位时受到无线信息强度及位置指纹训练程度的影响[3]。通过研究应用二维码技术进行大型室内场馆的室内导航,实现低成本,快速室内定位及导航。

2 大型室内场馆导航与定位需求分析

大型室内场馆通常包括多个区域,多个楼层,甚至涉及主楼附楼等多个建筑群。目前大型室内场馆商家位置导航的主要方式一是每个楼层主入口处放置平面地图,二是提供商场宣传册。对顾客来说,当到达某一大型室内场馆时,如何快速搜索商场所有建筑物内部设施位置信息以及有关的属性介绍,比如美食店铺、服饰店铺、家电店铺、出口、卫生间等等;顾客如何快速定位自己所在的位置,并能获得周边商家信息、相关服务及促销信息等。

大型室内场馆的建筑面积日益扩大,功能分区也愈复杂,而依靠传统的位置宣传方式并不能吸引到足够的顾客,因此商家迫切需要便捷的位置导航及导购方式,以吸引到更多的顾客。商家希望顾客在场馆内能够清楚知道周边的商家情况,并能为商家附近的用户进行商家推荐。

3 应用二维码的大型室内场馆导航实现原理及系统设计

3.1 实现原理

要实现正确的定位和导航,首先必须获得目标准确的坐标位置。二维码是一种编码机制,它是用特定的几何图形按一定规律在平面二维方向上分布的黑白相间的图形[4],在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,它把计算机的数据信息编码到二维图像上,也能从编码的二位图像中获取数据信息。

二维码具有以下显著优点:高密度编码,信息容量大;编码范围广泛;容错能力强;制作简单且成本低廉。因此,方案选择利用二维码进行室内导航坐标的定位,该方案不需要额外部署硬件设备,所增加的费用仅是打印二维码所消耗的油墨成本,商家成本接近于“零成本”。

确定使用二维码存储坐标位置信息后,要实现正确的定位与导航,还需要完成室内场馆地图的绘制[5]。因此,方案实现的基本原理包括:(1)测量现实室内空间的实际环境,制作成平面2D的地图[6];(2)在地图中标注各类建筑物的几何要素和属性信息(坐标点),在二维码中储存特定的坐标;(3)用户扫描二维码后系统做出响应,解码二维码并显示用户目前的地理位置。

3.2 系统主要功能设计

根据用户需求分析,大型室内场馆导航系统的主要功能设计如图1所示,包括浏览地图、检索建筑物、导航和扫码定位当前位置[7],具体包括:

(1)地图浏览功能:用户通过APP浏览相应商业场所的楼层分布图,以及楼层内详细的建筑物,地图浏览具有缩放和切换视图功能。

(2)检索建筑物功能:用户可以搜索场馆内的所有建筑物位置信息以及有关的属性介绍,比如商家店铺,出口卫生间等等。

(3)室内导航功能:用户进入室内场所之后如有定位导航的需求,可以通过扫描附近二维码获取起始坐标,在输入目的位置信息后快速导航[8]。

(4)扫码定位功能:以实现双方碰面会合指引为例,如用户双方约定在大型场馆内碰面但对室内场所不熟悉,用户双方可以通过扫描二维码显示当前位置信息,推送给对方,一方可以通过导航功能实现双方碰面会合指引。

图1 系统主要功能

4 系统关键技术及实现

4.1 导航地图的加载

导航地图是实现精确的导航首要因素,因此,首先要实现导航地图的正确加载。加载地图首先需要布局xml文件中添加地图控件后才可以正常显示地图。

室内地图的访问可分为在线访问和线下访问,此应用采用的是线下访问的方式,即将地图下载保存在应用当中,线下访问地图可以用openMapBy-Path(path)方法加载显示,其中path是离线地图文件的地图所在sdcard路径。

地图文件成功获取到之后需要匹配地图主题文件,通过 loadThemeByPath(FileUtil,s.getDefaultThemePath(this))方法加载即可,核心代码如下:

为避免再次打开地图出现异常,地图销毁释放底层资源,不能在Activity的onDestory方法里销毁地图,原因是底层资源的销毁是异步操作,需要在GL线程里面处理,也就是销毁地图前必须保证GL线程活着。而onDestroy回调执行时,大多数情况是此时GL线程已经销毁,会导致底层GLView释放失败,下次再打开地图会出现异常。

4.2 IPO搜索

用户在使用地图功能过程中如果需要查询场所里具体某个建筑物位置,可根据关键字查询模型和公共设施信息,用户输入关键字信息后,下拉列表就会显示包含关键字的建筑物名称。核心代码如下:

4.3 二维码扫描获取起点导航

在实际的用户需求过程中,用户有可能只关注最终想去的目的地,而不清楚自己目前所处的具体方位,这时,用户只需要通过手机扫描身边的二维码,获取自己的所在位置,再输入终点之后即可实现路径规划。

蜂鸟SDK提供的基础控件工具只提供了屏幕触控点击寻找起始点,因此需要对其进行二次开发。二次开发主要完成通过文本输入的方式获得起始点,以及通过接入二维码扫描,解析用户身边的二维码图标获取起始点。

通过二维码获取起始点坐标信息的技术思路是:调用 Zxing.jar库(包括核心类包:camera、decoding、encoding、view),实现手机摄像头的扫码并且解析二维码内存储的文本数据(二维码中储存的是建筑物的X轴和Y轴坐标信息),并将数据传递给路径规划的起始点stCoord=new FMMapCoord(X,Y),之后根据起始点坐标和楼层id等信息进行路径规划 mNaviAnalyser.analyzeNavi (stGroupId,stCoord,endGroupId,endCoord,**)

首先导入核心包core.jar,建立CaptureActivity.java的xml布局文件capture.xml.之后修改Androd-Mainfest.xml文件,主要是赋予权限:

其次应用调用手机进行扫码了,识别二维码之后把结果返回给路径规划算法进行路径规划,其核心代码如下:

5 系统应用情况

应用二维码的大型室内场馆导航应用前台部分,用户能够查看地图、检索地图上的建筑物和进行导航操作。由于室内建筑可能包含多层,浏览地图提供了分楼层浏览地图的功能,用户可以逐层浏览,同时地图可以以2D/3D两种模式切换浏览,图2所示为2D地图浏览显示。地图搜索功能是指对室内进行坐标标记过的建筑进行搜索,图3所示为搜索功能的显示界面,用户可通过输入关键字进行目的地的检索操作。

导航提供了文本框输入导航和二维码扫描两种方式,图4所示为扫码定位导航界面,用户可以通过点击“扫一扫”图标,进行二维码扫描,确定用户当前位置,然后点击确定地图上的终点位置,实现导航服务。一旦确定起点和终点,即可生成导航路线,导航路线还可以以文字描述方式呈现。

图2 地图浏览显示

图3 搜索功能显示

图4 二维码扫描获取起点导航界面

6 结束语

通过分析应用二维码的大型室内场馆导航应用的实现,重点说明地图模块的各种功能控件的加载和二维码接入的过程。室内导航应用的设计实现了自由浏览地图、搜索建筑物、二维码扫描定位和导航路径等功能。现如今二维码的使用已经十分普及,该室内导航应用为用户的导航需求增加另外一种更为贴近用户使用习惯的选择,可以满足更多用户的使用需求。

通过接入二维码扫描确定位置辅助导航的方式相较于其他导航方式而言,成本更加低廉定位精度也更加精确,但也存在不足,即不能够实现实时导航,当用户偏离导航规划路线时,需要重新进行导航路径规划。

[1]陈朝钦,洪少华,李振荣等.基于ZigBee定位的室内停车场导航系统[J].现代计算机(专业版),2017,(13):63-66.Chen Chaoqin,Hong Shaohua,Li Zhenrong,et al.Research on Indoor Parking and Navigation System Based on ZigBee[J].Modern Computer,2017,(13):63-66.

[2]顾聪.基于Android平台的室内LBS系统的研究与实现[D].湘潭:湘潭大学,2011.Gu Cong.Research and Implementation of Indoor LBS System Based on Android Platform[D].Xiangtan:Xiangtan University,2011.

[3]陈攀.LBS与RFID结合实现图书馆室内定位导航方法初探[J].现代情报,2016,36(02):114-119.Chen Pan.LBS and RFID Combined to Achieve Indoor Positioning Navigation Methods of Library[J].Journal of Modern Information,2016,36(02):114-119.

[4]王雯霞,刘春丽.二维码对基于Beacon的智慧图书馆应用的补充研究[J].图书馆学研究,2017,(05):20-23+51.Wang Wenxia,Liu Chunli.A Supplementary Research on Two-Dimensional Code Application in Intelligent Library Based on Beacon[J].Research on Libary Science,2017,(05):20-23+51.

[5]庄莹,黄丽娜,郑恒杰等.二维码定位技术支持下的室内导航电子地图的设计与实现--以武汉大学图书馆为例[J].测绘通报,2017,(05):125-128+142.Zhuang Ying,Huang Lina,Zheng Hengjie,et al.Design and Development of Indoor Navigation Map Based on QR Code:The Case of Wuhan University Library[J].Bulletin of Surveying and Mapping,2017,(05):125-128+142.

[6]林巍凌.引入导航网格的室内路径规划算法[J].测绘科学,2016,41(02):39-43.Lin Weiling.Indoor Path Planning Algorithm Based on Navigation Mesh[J].Science of Surveying and Mapping,2016,41(02):39-43.

[7]徐彪,蒋朝阳,朱健铭等.智能轮椅室内导航路径规划算法[J].计算机系统应用,2015,24(08):171-175.Xu Biao,Jiang Zhaoyang,Zhu Jianming,et al.Path Planning Algorithm for Smart Wheelchair Indoor Navigation[J].Computer Systems&Applications,2015,24(08):171-175.

[8]吴友宝,徐建闽.基于二维码和A*算法的室内精准定位导航系统[J].电子设计工程,2016,24(23):23-25+28.Wu Youbao,Xu Jianmin.The Indoor Precise Location and Navigation System Based on Two-Dimensional Code and A*Algorithm [J].Electronic Design Engineering,2016,24(23):23-25+28.

Design and Practice of Navigation Applications for Indoor Venues Based on Two-dimensional Code

Lin Yuman1,Pan Minjie2,Zhuo Weipeng2,Rao Hao2
(1.Department of Instructional Technology,Shaoguan University,Shaoguan 512005,China;2.School of Information Science and Engineering,Shaoguan University,Shaoguan 512005,China)

Currently,mobile navigation is mostly used in outdoor services,mobile navigation has become accustomed to people's habits and customs.Large indoor venues usually include a number of areas,multiple floors,and even involving the main building,annex building,and many other buildings.Due to the need for special equipment and higher cost reasons,large indoor venues lack corresponding positioning and navigation services.Navigation and positioning requirements for indoor venues were analyzed.The principle and feasibility of indoor navigation using two-dimensional code were analyzed.The functions of map loading,map searching,scan and location navigation of two-dimensional code were discussed.The results show that the system can run on the Android smart phones,and correctly realize the positioning,search and navigation of indoor venues,and the cost is lower and the positioning accuracy is more accurate.

Two-dimensional code;Indoor venues;Positioning;Navigation

10.3969/j.issn.1002-2279.2017.05.016

TN4

B

1002-2279-(2017)05-0061-04

2017年广东省攀登计划项目,项目编号:pdjh2017b0455

林育曼(1978—),女,广东潮安人,硕士,副教授,主研方向:教育信息化,信息技术应用。

猜你喜欢

韶关场馆二维码
会前视察 支招亚运场馆利用
创新标准打造绿色雪上运动场馆
冬奥之约,场馆先行
二维码
小康二维码
广东韶关曲江区总工会“夏送清凉”慰问13000余名职工
韶关札记
让严肃的二维码呆萌起来
场馆风采
福彩公益金 传递温暖情 韶关福彩:取之于民 用之于民