謝宏蘭
摘要:近年來,各種地圖導航應用的出現(xiàn),大大便利了人們的生活。隨著室外定位技術的成熟,人們對室內(nèi)定位的需求也正在逐漸增加。在室內(nèi)停車場中,由于車位眾多,地形復雜,時常出現(xiàn)車主在尋找車輛時,無法確認位置,從而浪費大量時間的情況。室內(nèi)停車場車輛定位及導航能為車主提供一個室內(nèi)導航的幫助,使得車主在該應用的幫助下能快速找到自己的車輛,節(jié)省了車主的時間。本系統(tǒng)的主要應用場景為室內(nèi)停車場,主要用于在室內(nèi)對人員和車輛進行定位,方便人們在復雜的室內(nèi)停車場環(huán)境下快速地找到自己的車輛。
關鍵詞:定位;導航;室內(nèi)停車場
中圖分類號:TP3 文獻標識碼:A
文章編號:1009-3044(2020)12-0219-02
1前言
現(xiàn)如今,越來越多的人擁有了自己的汽車,汽車已經(jīng)成為人們出行的主要方式之一,使人們的出行生活變得更加方便,快捷。但人們自己開車出行就必須面臨停車的問題,車主們時常遇到找不到停車場,車位不足,車位收費價格不合理等眾多問題,停車已經(jīng)成為廣大車主的一大難題。車主們不僅在停車時會遇到問題,取車時,車主們也會遇到各種各樣的困難。隨著停車場的逐漸規(guī)范化,越來越多的停車場轉移到了室內(nèi)空間。然而,室內(nèi)空間環(huán)境復雜,為車主找車帶來了困難。一方面,各位車主難以準確的記住自己車的位置。另一方面,車主即使能夠記住,而在復雜的室內(nèi)環(huán)境下,車主也難以準確判斷出自己的當前位置,更無法快速準確地找到自己的車輛。本文旨在建立一個室內(nèi)停車場車輛定位及導航系統(tǒng),解決廣大車主停車難的問題,為人們的出行生活帶來便利。
2系統(tǒng)概述
本文設計的室內(nèi)停車場車輛定位及導航系統(tǒng)主要完成如下功能:
1)方便車主停車:在停車時,為車主提供附近停車場信息,車位數(shù)量,收費標準等,供車主選擇,讓車主能夠找到合適的停車場,停放車輛。
2)方便車主尋找車輛:在車主尋找車輛時,系統(tǒng)提供位置確定和路徑導航服務,幫助車主快速找到自己的車輛,節(jié)省車主的時間。
3)停車場信息展示:在用戶需要停車時,為用戶展示停車場的詳細信息,包括實時車位數(shù),收費標準,停車場樓層信息,及停車場地圖等,供用戶選擇。
4)停車位記錄:當車主停好車后,根據(jù)停車場地圖選擇自己的停車位,并將信息保存在手機中,以便找車時使用。
5)室內(nèi)定位:找車時,當車主進入停車場后,接收到WiFi信號,根據(jù)WiFi的信號強度(WiFi值)計算出距離,實現(xiàn)定位。
6)路徑導航:以定位結果為起點,以記錄的停車位為終點,運用廣度優(yōu)先遍歷算法,計算出最短路徑,為車主提供路徑導航。
本系統(tǒng)設計中,采用了Client/Server架構,通過合理分配任務到客戶端和服務端,降低系統(tǒng)的通訊開銷,客戶端需要安裝相應軟件才可進行管理操作,系統(tǒng)架構如圖1所示。
在本系統(tǒng)中,使用MySQL數(shù)據(jù)庫存儲停車場數(shù)據(jù),服務端用Struts2框架搭建,使用JDBC技術連接MySQL數(shù)據(jù)庫,主要實現(xiàn)與客戶端進行停車場數(shù)據(jù)傳輸?shù)墓δ?。Android客戶端通過HttpURLConnection技術實現(xiàn)訪問服務端,獲取停車場的數(shù)據(jù)信息,之后根據(jù)相應的停車場信息和接收到的WiFi熱點信息,進行計算,實現(xiàn)定位功能。系統(tǒng)中的WiFi熱點需要設置在停車場的固定位點,并記錄在數(shù)據(jù)庫中,在數(shù)據(jù)傳輸時,發(fā)送至Android客戶端,便于進行定位運算。
本系統(tǒng)主要分為兩個工作流程,停車操作和找車操作。在停車過程中主要實現(xiàn)停車場信息展示和車位記錄的功能,在找車過程中主要實現(xiàn)室內(nèi)定位和路徑導航的功能。在停車過程中,客戶端會先展示數(shù)據(jù)庫中的停車場的基本信息,在用戶點擊選擇后,進入查看該停車場的詳細信息,并顯示該停車場的具體樓層。在用戶選擇樓層后,即進入相應的停車場地圖,地圖上會顯示車位分布及狀態(tài)等,在車主停好車后,選擇相應車位,經(jīng)系統(tǒng)驗證后,車位信息則被記錄在本地,完成停車過程。在找車過程中,系統(tǒng)會先檢查是否有停車位記錄,當系統(tǒng)有停車位記錄時,跳轉至找車界面,用戶開啟定位后,系統(tǒng)根據(jù)接收到的WiFi熱點信息,計算出當前位置,系統(tǒng)加載相應樓層地圖并顯示出當前位置,完成定位功能。之后,用戶點擊路徑顯示后,系統(tǒng)根據(jù)當前位置和車位記錄,使用廣度優(yōu)先遍歷計算出最短路徑,實現(xiàn)路徑導航的功能??紤]到系統(tǒng)的實用性,添加了部分實用功能。在停車和找車時,都加入了常用地圖應用(高德地圖,百度地圖)軟件的跳轉功能,便于車主找到停車場。同時,還加入了實時車位的功能,停車或找車操作完成后,相應車位狀態(tài)發(fā)生改變。在找車過程還加入了路徑信息詳情的功能,根據(jù)路徑計算出相應距離及方向,更加方便車主找車。
3地圖數(shù)據(jù)設計及定位導航原理
室內(nèi)停車場車輛定位及導航系統(tǒng)需要進行定位操作,所以需要繪制地圖,設計地圖數(shù)據(jù)結構等相關操作,良好的地圖數(shù)據(jù)結構是完成定位導航功能的基礎。在本系統(tǒng)的開發(fā)過程中,地圖在Eclipse中進行繪制,使用Java語言,運用Bufferedlmage和Graphics相關技術進行地圖的繪制,繪制完成后再將內(nèi)容生成圖片,寫入文件即可。地圖的數(shù)據(jù)結構設計則相對于較為復雜,需要考慮到定位和導航功能等的實現(xiàn)。地圖設計中,需要對地圖建立坐標系,即X(橫坐標)和Y(縱坐標),同時考慮到減少數(shù)據(jù)傳輸,建立Point類,有x,y和id 3個屬性,x,y分別表示橫縱坐標,id則為坐標轉換后的數(shù)據(jù),在數(shù)據(jù)庫和數(shù)據(jù)傳輸過程中,只有id屬性,具體運算時再還原為相應坐標,減少數(shù)據(jù)存儲和傳輸。通過Point類的建立,地圖中每個點則都有對應的數(shù)據(jù)表示。之后,即可將具體車位位置,WiFi熱點位置,電梯位置等與相應位點進行對應,也可將定位結果顯示在地圖上。
此時,雖然已經(jīng)完成定位功能,但路徑導航的實現(xiàn),還需要其他規(guī)則。在系統(tǒng)中,定義roadpoint為路徑遍歷點,endpoint路徑遍歷端點,在進行路徑導航時,先計算出起點和終點對應的最近的路徑遍歷點,再以這兩個遍歷點為起點和終點,運用廣度優(yōu)先遍歷算法即可找出最短路徑,遍歷結束后再進行回溯,找出路徑的各個關鍵點(包括起點,起點對應的遍歷點,遍歷過程中的路徑端點,終點對應的遍歷點,終點),將各個關鍵點按順序連接,即可找出最短路徑,顯示在地圖上,實現(xiàn)路徑導航功能。圖示如下:
如圖2,圖中黑色點p1,p2,p3,p4,p5,p6即為endpoint路徑遍歷端點,藍色線上的點(包括黑色點)即為roadpoint為路徑遍歷點。如圖3,圖中黑色點即為路徑關鍵點,令pl為起點,p7為終點,則p2為起點對應的路徑遍歷點,p6為終點對應的路徑遍歷點,p3,p4,p5即為遍歷過程中的路徑端點。將路徑關鍵點依次連接,即可得到最短路徑(藍色直線)。
4停車流程設計
本系統(tǒng)的停車流程如圖4所示。首先,用戶在點擊停車后,跳轉至停車場選擇頁面,界面UI主要由一個ListView構成,應用從服務器獲得停車場名和實時車位信息,并顯示在界面上,供用戶選擇。待用戶點擊選擇停車場后,進入樓層選擇頁面,此界面UI由TextView,ImageButton和ListView構成,Text-View用于顯示停車場詳細信息,ImageButton用于提供按鈕跳轉第三方地圖應用導航至該停車場,ListView則用于顯示樓層和各個樓層的車位數(shù)量。當用戶點擊選擇樓層后,進入停車位選擇頁面,此界面UI主要由ImageView,Spinner和Button構成,ImageView用于顯示地圖,Spinner列表選擇框供用戶選擇停車位,Button進行停車位確定記錄操作,車位記錄使用SharedPref-erences完成,同時為便于找車過程,還會將需要的停車場信息也記錄。停車流程的每個頁面都需要進行網(wǎng)絡通信,從服務端獲取停車場數(shù)據(jù),同時還要完成地圖下載的功能。
5找車流程設計
本系統(tǒng)的找車流程如圖5所示。在用戶點擊找車后,系統(tǒng)會根據(jù)SharedPreferences中的信息先判斷是否有停車位記錄,如果沒有,則會顯示Toast提示信息。如果有車位記錄則會彈出一個PopupMenu,提供進入停車場和導航至停車場兩個選擇。在用戶選擇點擊進入停車場后,正式進入找車流程。在此頁面中有查看車位信息,開始定位,顯示路徑和導航詳情四個功能,UI界面中主要使用了Button,ImageView和AlertDialog三個控件。在用戶點擊查看車位信息后,系統(tǒng)取出找車流程中用SharedPreferences記錄的停車位信息,并彈出一個AlertDialog顯示給用戶。
6小結
本室內(nèi)停車場車輛定位及導航系統(tǒng)對整個停車過程和找車過程涉及的功能都進行了設計,且對系統(tǒng)的核心功能定位導航,也都較好的設計了。整個應用界面簡潔、美觀、操作方便、意義明確,給用戶提供良好的人機交互體驗。同時,在用戶進行誤操作或進行敏感操作時,給予相應的提示信息,給出相應提示及確認操作,確保系統(tǒng)安全性。