莊 瑩,黃麗娜,鄭恒杰,劉統碩,康雨豪
(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