庄 莹,黄丽娜,郑恒杰,刘统硕,康雨豪
(1. 武汉大学资源与环境科学学院,湖北 武汉 430079; 2. 武汉大学国际软件学院,湖北 武汉 430079)
二维码定位技术支持下的室内导航电子地图的设计与实现
——以武汉大学图书馆为例
庄 莹1,黄丽娜1,郑恒杰2,刘统硕2,康雨豪1
(1. 武汉大学资源与环境科学学院,湖北 武汉 430079; 2. 武汉大学国际软件学院,湖北 武汉 430079)
随着大型复杂公共室内空间逐渐增多,室内导航已成为当前基于位置服务(LBS)领域的研究热点。本研究结合空间定位技术和移动地图技术,设计和开发了一种面向复杂室内空间的导航电子地图,利用二维码技术进行准确的室内空间定位,并以武汉大学图书馆为样区,设计了一套面向复杂室内空间结构的位置编码规则。在此基础上,开发和实现了可提供图书馆室内定位与最优路径推送的手机端导航电子地图。
室内定位;二维码技术;室内导航;最优路径;图书馆
近20年来,GPS在室外导航的应用发展趋于成熟,衍生了如Google地图、百度地图、高德地图等一系列定位导航软件。然而,在室外导航逐步趋向成熟化时,室内导航并没有得到其应有的发展。随着人类需求的增加,各种内部结构复杂的建筑正逐步占据城市中心,人们往往在到达建筑外部后不知道如何准确到达建筑内部的某个具体点。利用传统的路标或人工指引显然已不能满足人们对快速定位和寻径的需要[1],室内导航具有极强的发展前景。
目前常见的几种室内定位技术如GPS定位、基站定位、WiFi定位等仍难以广泛应用。对于常见的GPS定位,常常会遇到室内建筑屏蔽信号,在室内实现准确定位难度较大[2];基站定位则需要足够的信号覆盖范围,因而建设成本较大[3];而对于WiFi定位技术,WiFi信号需要布置足够高的强度方可实现,相对复杂[4]。可以看出,以上定位方式在定位精度及硬件设备部署成本方面尚无法较好地适应室内导航的需求。
近年来,随着二维码的使用遍及生活,其方便快捷的数据存储性[5]为空间定位提供了另一种可能,本文创造性地将空间信息存储于二维码中,利用二维码技术准确匹配室内位置节点,通过节点来构建矢量模型,从而通过室内电子地图达到导航目的地。针对武汉大学校图书馆馆藏资源丰富、空间结构复杂的特点,选择该图书馆作为试验样区,设计并实现了基于二维码定位技术的室内地图导航系统。本文将对研究过程中涉及的关键技术内容如基于二维码的位置信息生成、室内目标位置的分类与编码、室内地图构建与数据组织、网络分析与服务发布、手机端系统设计与实现等进行介绍。
1.1 二维码生成基本算法
二维条码(2-dimensional bar code)也称为二维码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息[6]。其生成基本算法[7]主要分为以下几个过程:
(1) 数据分析:即确定编码字符类型,从而根据对应字符集转换成符号字符并确定纠错等级。
(2) 数据编码:将数据字符转换为位流,每八位一个码字。首先对数据进行分组,接着根据字符集转换为二进制码序列,再向序列中加入字符数与模式指示符的对应二进制码。
(3) 纠错编码:根据确定的等级产生纠错码字,并加入到数据码字序列的后面。生成纠错码主要是通过Reed-Solomon error correction算法实现的,分为三步:①计算校正子(syndrome);②计算错误位置;③计算错误值。
(4) 构造矩阵:先把数据分块,对每一块进行计算,得出相应的纠错码字区块;再把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列后面;最后把上面的完整序列填充到相应规格的二维码矩阵的区域中。
(5) 掩模:将掩模图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优地分布。
(6) 格式和版本信息:生成格式和版本信息放入相应区域内。
1.2 位置信息的二维码生成
在生活中,对地点的描述往往是文字性的,如C栋2楼文学区,然而计算机并不能直接将其与地点联系起来。为了能在地图上找到对应地点,笔者对图书馆的多个地点的坐标进行地理编码,形如A1-01-D1,然后用二维码技术生成含有坐标信息的二维码,这样只要用手机进行扫描二维码就可以读取相应位置信息。
如A1图书阅览区的第一个出口处,编码为A1-01-D1,在Version 1的尺寸下,纠错级别为H,则根据Alphanumeric mode字符编码。它是一个包括0-9、大写的A到Z(没有小写),以及某些符号(S|、%、*、+、-、.、/、: 和空格)的序列,这些字符会映射成一个字符索引表(如图1所示)。
注:SP是空格,Char是字符,Value是其索引值图1 Alphanumeric mode 字符编码表[8]
(1) 从字符索引表中找到A1-01-D1的索引(10,1,41,0,1,41,13,1),两两分组得到(10,1)、(41,0)、(1,41)、(13,1)。
(2) 把每组转成11bits的二进制码,可得:
(10,1) 10*45+1=451转成00111000011
(41,0) 41*45+0=1845转成11100110101
(1,41) 1*45+41=86转成00001010110
(13,1) 13*45+1=585转成01001001001
(3) 连接得到序列 00111000011 11100110101 00001010110 01001001001,再把字符的个数转成二进制 (Version 1-H为9 bits ): 8个字符,8转成 000001000,在二进制码前加上编码标识 0010 和表示字符个数为8的二进制编码,得到: 0010 000001000 00111000011 11100110101 00001010110 01001001001。
(4) 添加结束符,如果所有的编码加起来不是8个的倍数,还要在后面加上足够的0。如果还未达到最大的bits数的限制,还须加一些补齐码,重复下面的两个bytes:11101100 00010001。
(5) 通过Reed-Solomon error correction生成纠错码。把数据码和纠错码穿插放置,先把数据分块,对每一块进行计算,得出相应的纠错码字区块;再把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列。
(6) 把完整序列填充到相应规格的二维码矩阵的区域中,并生成格式和版本信息放入相应区域内。使用掩模图像进行XOR操作得到最终二维码。
上述算法可以保证每个二维码可对应唯一的一个地理编码,从而保证了二维码识别定位技术的准确性和可靠性。本项目采用在安卓平台下的二维码识别功能,在地图导航APP中使用谷歌提供的扫描二维码API。通过二维码储存足够量的坐标数据,用户在张贴二维码处进行扫描,获取地理编码字符串信息,再通过解析即可在地图上实现定位。该方法部署简单节约,抗干扰性强,有效避免了出错并可以储存足够的位置信息,适用于在图书馆等大型室内场所实现。
2.1 室内设施分类
在编码体系中,室内地图数据的基本对象是房间、走廊、POI等[9],为方便进行地理编码,在此需对室内设施进行分类。首先将所有设施分为两大类:一类为门、楼梯等可作为路径的通道入口[10];另一类为其他体现室内环境特征的功能区。一般室内场馆根据其功能具有不同的功能分区。如商场内有餐馆、超市、服装区、娱乐区等;而图书馆内则有图书借阅区、阅览区、自主学习区等。
在本项目中,参照图书馆原有平面图,大致依据不同功能分类,对室内设施分类,见表1。
表1 图书馆室内设施分类
2.2 空间位置编码
由于目前室内地图编码缺乏相关标准,本项目中采用了自行研究创立的编码规则系统,对场馆内部设施进行分类及编码,以建立属性信息与空间点的联系。
项目中选取的图书馆共分为六层楼,每层楼分为ABCDE 5个区,对每个定位点进行编码,每个编码分为3段,形式为xx-xx-xxx,如A2-01-ST7。
各段编码规则如下:
(1) 分区编号。大型场馆内部一般已有分区,沿用该分区既具地理区分性,又符合人类认知。因此,此处编码分区与图书馆分区一致,中间连通地带及其他地区编为F+楼层号。
具体编码格式为:1位字母(A-F)+1位数字。
(2) 功能编号。将功能区作为一个字段编码,有利于用户按需求快速检索到相关区域,体现电子地图的优点。
具体编码格式为:2位数字。其中,00:非功能区;01-29:各功能区编号,对应图书馆所具有的各功能设施类别,如图书借阅区(01)、办公区(02)、卫生间(26)、学术报告厅(29)等。
(3) 门或楼梯编号。门或楼梯是室内一个功能空间实体与外界联通的地方,是路径导航中不可或缺的节点,因此单独作为一个字段进行存储,以标识该空间点处的可连通性。由于一个功能区中可能具有多个门及楼梯,此处引入数字以做唯一区分标识。
门:D+1位数字。各区不连续编号,每个区以最靠东北方向的门起编号为1,再顺时针依次编号。
楼梯:ST+两位数字,每层楼最多有10个楼梯,由于各层楼梯大致相同,采用两位数字进行编号,每层同一位置楼梯编号相同,以保证连通性。
其他:字母O,适合如厕所、服务台、卫生间等较小且无需区分门的空间,此类节点在路径图中多为悬挂点。
根据以上编码规则,举例如下,1楼总服务台不属于A-E分区中的任何一个,第一字段为F1,总服务台功能编号为03,且无需区分门,故属性编码为:F1-03-O;2楼A2区图书借阅区东边楼梯为:A2-01-ST7。
导航电子系统架构图如图2所示。本研究在ArcGIS Server上发布地图服务(Map Service)及路网分析服务(Network Analysis Service)。Map Service允许用户以切片方式访问地图;Network Analysis Service进行网络分析[11],从而实现同层间的导航及不同层间的导航。
图2 系统结构
在定位节点上,用户可通过人机交互界面扫描二维码(如图3所示),得到对应于定位列表中Primary Key字段的索引值。定位列表保存有地图上所有可定位点的信息与索引,该列表由运行在ArcGIS Server上的程序自动生成与更新,储存在ArcGIS Server的数据库中。当安卓端与Server通信时,该列表加载到本地的缓存中,之后的查询指向本地缓存。通过检索列表从ArcGIS Server 中查找到唯一室内定位点。
图3 扫描二维码读取定位点信息
该系统对原生的MapView控件进行了扩展,更改了其对多个图层的状态控制机制,使其不活跃的图层得以在后台继续加载。当切换到一个楼层时,其他楼层所对应的楼层变得不可见,不响应,但标记图层上与该楼层对应的图形得以显示。这使得每一个楼层所对应的标记都不会相互影响。
该系统的寻径功能针对同楼层和不同楼层的两种情况采取不同的分析策略:
(1) 起点终点在同楼层:使用ArcGIS for Android SDK的原生路径分析类,与服务器的NAServer通信,得到路径信息,如图4所示。
(2) 起点终点在不同楼层:每一楼层中的各寻路点都是联通的,不同楼层由楼梯相互连接。因此,使用DFS算法,首先找到起点距离最近的楼梯,再找到与该楼梯联通的楼层,到达边界时回溯,直到找到第一个可行路径。
图4 最短路径实现图
本文基于二维码的位置信息生成基本算法,以武汉大学图书馆为例,进行了室内电子地图导航系统的设计与实现,为展会、图书馆和博物馆等大型建筑的室内导航提供了有益的探索。通过扫描二维码的方式使用户主动进行定位,它有别于传统手动输入文字的烦琐,利用图片扫描的方式来记录复杂的地理位置信息,同时又极为方便快捷,结果精确,成本低廉,不失为一种室内定位技术的良好方式。随着大型场馆的数量逐渐增多,传统的路标指示牌除了难以提供连续指引外,还存在成本高、数量少、更换困难等缺点。而二维码则可随时更新,还可通过显示屏显示,用户只需在起点处扫描二维码即可获取到终点路径。在图书馆情境下,除了道路指引,该系统经改进后还可提供书架索引、自习座位指引等,大幅度提升图书馆服务质量。随着二维码技术的逐渐成熟与推广,二维码已经成为人们生活的一部分,以二维码作为地理位置信息载体的应用将具有巨大的发展空间。
[1] 李文武. 基于OpenWrt Wi-Fi Mesh网络的室内导航[D]. 大连:大连理工大学, 2013.
[2] 曹世华. 室内定位技术和系统的研究进展[J]. 计算机系统应用, 2013(9):1-5.
[3] 夏英,万建斌, 刘素彤,等. 基于Wi-Fi和基站信号强度的室内定位系统设计与实现[J]. 数字通信, 2012, 39(6):21-25.
[4] 徐伟.基于Android手机的室内定位技术研究与实现[D].武汉:华中师范大学,2014.
[5] 杨军, 刘艳, 杜彦蕊. 关于二维码的研究和应用[J]. 应用科技, 2002, 29(11):11-13.
[6] 郭全中. 二维码的应用[J]. 党政论坛(干部文摘), 2013(11):26.
[7] 程裕强, 刘爱民, 周国军. 二维码生成算法研究[J]. 玉林师范学院学报, 2014(5):118-122.
[8] 陈皓.二维码的生成细节和原理[EB/OL].2013-10-29. http:∥developer.51cto.com/art/201310/414082_all.html.
[9] 任玉环,刘亚岚,彭玲,等.室内地图数据标准体系探讨[J].测绘通报,2015(7): 50-53.
[10] 游天, 周成虎, 陈曦. 室内地图表示方法研究与实践[J]. 测绘科学技术学报, 2014, 31(6):635-640.
[11] 杨泽运, 杨金玲, 李秀海,等. 基于ArcGIS Server的网络地图服务系统设计与实现[J]. 测绘工程, 2015,24(10):41-44.
[12] 任豪毅. 基于二维码的智能手机室内定位方法[D]. 杭州:浙江大学, 2013.
[13] 高建清, 董义, 董双林. 室内定位技术在高校图书馆中的应用[J]. 科技情报开发与经济, 2013, 23(23):6-8.
Design and Development of Indoor Navigation Map Based on QR Code: The Case of Wuhan University Library
ZHUANG Ying1,HUANG Lina1,ZHENG Hengjie2,LIU Tongshuo2,KANG Yuhao1
(1. School of Resources and Environmental Science, Wuhan University, Wuhan 430079, China; 2. International School of Software,Wuhan University, Wuhan 430079, China)
With the increase of large and complex public indoor space, indoor navigation has attracted great attention in the field of location based service. In this paper, we design and develop a navigational electronic map for the complex indoor space based on the spatial location technology and mobile map. For the purpose of obtaining the accurate indoor location, the quick response(QR) code is used, and a set of position coding rules for the complex indoor structures are designed. The library of Wuhan University is used as a sample area in the study. Then a mobile navigation electronic map, which is friendly and easy to provide indoor navigation service as well as to advise the optimal path in the library, is developed and implemented.
indoor location; quick response code technology; indoor navigation; optimal path; library
庄莹,黄丽娜,郑恒杰,等.二维码定位技术支持下的室内导航电子地图的设计与实现——以武汉大学图书馆为例[J].测绘通报,2017(5):125-128.
10.13474/j.cnki.11-2246.2017.0170.
2016-07-28;
2017-01-12
国家基础科学人才培养基金(J1103409);武汉大学大学生创新创业训练项目(S2015531)
庄 莹(1995—),女,研究方向为制图与地理信息。E-mail: 1102092161@qq.com
黄丽娜
P28
A
0494-0911(2017)05-0125-04