基于LBS的校園定位系統設計與實現_第1頁
基于LBS的校園定位系統設計與實現_第2頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于LBS的校園定位系統設計與實現摘要:為了解決目前智能手機中位置服務LBS(LocationBasedService)類移動應用在小環境區域不能準確提供位置服務的問題,以校園為例提出了一種基于室內外定位的LBS系統設計方案。首先介紹系統結構設計,然后詳細分析了MobileGIS、GPS基于WiFi信號強度值的位置指紋定位算法等系統設計中的關鍵技術,最后測試驗證系統的各個功能模塊。測試結果表明,系統可以實現終端定位、室內位置服務、校園導航、地圖服務等功能,且操作便捷,具備可行性和實用性。關鍵詞:位置服務;Android;室內外定位;MobileGISAbstract:Thisstudyaddressesthedislocationofthecurrentapplicationsoftwareoftheintelligentmobilephonelocationbasedservice(LocationBasedService,LBS),adesignsolutionofcampusLBSsystemisintroducedbasedonindoor-outdoorpositioning.First,thearchitectureofthesystemisintroduced.ThenthekeytechnologiessuchasMobileGIS,GPSandtheRSSIfingerprintpositioningstrategyinsystemdesignareanalyzedelaborately.Atlastthefunctionmodulesofsystemaretestedandverified.Testresultsshowthatthesystemcanrealizesomefunctionsofterminalpositioning,servicebasedonindoorpositioning,campusnavigation,mapserviceandsoon.Itoccupiesfea-turesofconvenience,feasibilityandpracticality.Keywords:locationbasedservice;Android;indoor-outdoorpositioning;mobileGIS0引言近年來,移動互聯網技術飛速發展、Android智能手機的日益普及,基于Android平臺而開發的各種移動應用層出不窮。其中,被看作移動互聯網領域的“殺手級應用”的LBS更是得到了前所未有的發展。LBS發展至今,人們更加需要在像學校、醫院這樣的小環境區域中獲得準確LBS服務。提供LBS服務必須在確定用戶位置的基礎上,而這樣的小環境區域往往包含室內和室外兩種不同的環境。在室外,GPS提供了非常精準的位置信息但是衛星信號易受到建筑物的遮擋,在室內環境下GPS并不能提供高精度的定位,而WiFi、ZigBee、藍牙、紅外、超聲波、射頻識別、超寬帶等無線定位技術快速發展,成為對GPS的有力補充。因此本文以校園這個特殊職能的小環境區域為研究對象,基于Android平臺設計和實現了一個校園LBS系統:以ArcGIS系列軟件制作的校園地圖為背景;室外環境中通過接收GPS信號進行定位;室內環境中在無需利用額外硬件設備的前提下,綜合考慮無線信號覆蓋范圍、受室內環境影響程度、定位精度要求等等,采用基于WiFi信號強度的位置指紋定位算法進行定位。系統可為師生和來訪者提供位置相關的信息服務。1.系統設計1.1系統需求分析本系統所追求的理想結果是在室外環境中,地圖服務功能能夠讓用戶在終端設備上查看校園環境地圖,通過放大縮小、上下移動等操作全面熟悉校園環境。實時定位用戶位置、查詢從當前位置前往目的地的最優路徑并標記在校園環境地圖上;在室內環境中,根據用戶的選擇顯示相應的室內環境地圖。定位時,將用戶相對于室內環境的位置標記在室內環境地圖上,并且能夠獲取該位置相應的服務信息,例如,空教室信息、課程信息等等。1.2系統總體設計根據系統的需求分析,整個系統在邏輯上分為客戶端、服務器端與數據庫三層架構。系統結構如下:圖1系統架構圖(1)客戶端:安裝于Android系統的智能手機上,完成核心功能與數據的前臺顯示,是與用戶進行交互的重要層。系統核心功能主要包括地圖服務、室外GPS定位、校園路徑指引、室內WiFi定位、課程信息查詢、空教室查詢。(2)服務器端:運行于PC端,主要分為GIS服務器、Web服務器和定位服務器。將ArcGISDesktop軟件創建的校園地圖利用ArcGISServer發布于Web服務器,并實現管理和更新。當Web服務器接收到客戶端發來的地圖操作請求時,通知GIS服務器根據要求調用數據庫中的地圖數據以及相應的地理處理工具來提供服務。定位服務器主要用于運行算法,當接收到客戶端發來的無線信號時,調用室內定位算法確定終端設備的位置,并將該位置的相關數據發送至客戶端。客戶端與服務端之間利用無線網絡進行數據傳輸,通過標準的HTTP協議進行通信。(3)數據庫:負責向服務層提供數據支持。客戶端使用SQLite和文件方式存儲少量本地數據;定位服務器采用Mysql數據庫存儲室內定位中離線訓練階段的位置指紋庫、空閑教室信息和課程信息。GIS服務器采用Geodatabase地理數據庫存儲校園地圖的空間數據和屬性數據。校園地圖系統設計針對校園環境的地圖系統的設計過程就是將校園地理信息矢量化為地圖并完成發布和管理的過程,由ArcGISDesktop軟件來完成空間數據的采集、編輯、分析、更新等操作,ArcGISServer實現地圖服務和網絡分析服務發布,在Android平臺上結合ArcGISforAndroid插件訪問自行發布的地圖,獲取地圖服務和網絡分析服務。2.1空間數據的采集空間數據的采集是將紙質地圖像、外業、遙感影觀測數據、文本資料等不同來源的數據轉換成計算機可以接收與處理的數字形式。本地圖中,主要包括以下幾種數據:(1)地圖數據,采用了由學校提供的校園平面地圖。(2)影像地圖,在GoogleEarth上利用GEtScreen軟件截取校園衛星影像數據。(3)實測數據,由于設備有限,本地圖直接通過ArcGISOnline、GoogleMap等現有的地圖軟件測量比較獲取地圖點坐標、道路路線長度等數據。2.2地理配準采集的校園平面地圖和衛星影像數據是不含任何地理數據信息的,要使用它就要進行配

準以及賦予它正確的地理數據。這里必須引入空間參考的概念。空間參考包括X、Y、Z值坐標系以及X、Y、Z和M值的容差值和分辨率值,使用這些屬性,可以確定一個地物在地球上的位置。常用的坐標系統主要包括地理坐標系和投影坐標系。本地圖中選擇地理坐標系GCS_WGS_198該坐標系就是移動平臺GPS所采用的坐標系統,通過GPS獲得的坐標信息都是按這個坐標系提供的經緯度。ArcGIS中地理配準使用Geo-referencing工具條,一般要經過坐標系的選擇添加控制點、檢查殘差、校正及重采樣等幾個步驟。為減少誤差帶來的影響,控制點應當盡量選取衛星影像上容易分辨且比較精細特征點或者圖像邊緣處的點。并且盡可能在區域當中均勻、滿幅的選點。影像特征變化較大的地區應該多選幾個控制點。2.3空間數據的編輯完成地理配準之后,需要構建校園要素圖,對校園內所需描述的要素以圖層的形式表現出來,這是一個矢量化的過程。根據系統的設計要求,將校園地圖的空間數據分為5個圖層,涉及點要素、線要素和面要素3種圖層類型,完成對不同屬性地物的矢量化。ArcGIS中空間數據的編輯使用Editor工具條,依次對各個圖層的地物進行編輯。進行數據編輯時需要注意各個數據元素之間的拓撲規則2.4空間數據的分析ArcGIS中使用網絡分析功能模擬解決現實世界的多種網絡問題。根據網絡問題的不同類型,可以采取不同的建模方式。對于定向網絡,通常采用幾何網絡分析方式建模。對于非定向網絡通常采用網絡數據集的方式建模。交通網絡屬于非定向網絡,適用由邊、交匯點和轉彎要素組成的網絡數據集建模。步驟如下:首先建立和編輯網絡數據集;然后在網絡數據集中利用ArcToolbox中的網絡分析擴展模塊進行點到點的路徑分析,獲得最短路徑。2.5地圖服務與網絡分析服務發布ArcGISServer服務器上發布服務之前需先安裝IIS,它是允許在網絡(包括互聯網和局域網)上發布信息的Web服務器。校園地圖服務和網絡分析服務發布成功之后,可在ArcGISOnline上實現在線訪問,通過IIS供不同的移動終端調用。Android平臺使用ArcGISforAndroid插件調用自行發布的地圖,執行最短路徑分析操作。基于WiFi信號強度的位置指紋定位復來雜多變的室內環境中,無線信號傳播衰減模型難以準確的描述具有較強時變特性的WiFi信號強度與距離之間的關系。由于基于WiFi信號強度值的位置指紋定位算法具有較好的定位魯棒性,因此本系統使用它進行室內定位。位置指紋定位是依據終端所處位置的位置指紋信息,查詢位置指紋庫,根據相應的匹配算法來估計終端所處的位置。可獲取的位置指紋有多種,因RSSI易于測量,因而受到了廣泛關注。位置指紋定位通常分為兩個階段離線建庫階段和在線定位階段。離線建庫階段首先建立一張與目標環境地理圖相對應的地理空間坐標圖來,然后將目標區域劃分為若干采集點。采集點的密集程度及數量可根據環境而定,一般情況下,采集點越密集,定位結果越精準對每個采集點多次掃描每個AP的值,定位號強度值,掃描結果進行“平滑”處理,去除一些跳變較大的值,其余值求平均,形成RSSI位置指紋庫。本文采用高斯濾波方法對信號進行“平滑”處理,之所以采取高斯濾波方法,是由于RSSI值的分布與正態分布曲線相似。根據所查資料可知,AP接入點個數為4個時室內環境位置指紋可滿足定位精度的要求,因此將RSSI位置指紋庫的數據表設計RSSI位置指紋庫的數據表設計為vID、X、Y、MAC1RSSI1、MAC2RSSI2、MAC3RSSI3MAC4RSSI4>形式,其中ID為各個采集點編號,X、Y為采集點的橫縱坐標,MAC1MAC2MAC3MAC4分別為4個AP接入點的物理地址,RSSI1、RSSI2、RSSI3、RSSI4分別為對應的信號強度平均值,也是用于定位的指紋特征。考慮到校園樓宇AP的布設情況,大多數樓宇都能滿足一個樓層4個接入點或者更多的要求,這里不再另外布置AP,而是選擇平均信號強度值最大的4個現有AP進行建庫。測量無線信號的設備使用華碩筆記本A45V測試軟件是專門寫的一個采集無線信號的小程序。在線定位階段,通過客戶端掃描當前位置的實時信號強度值。為了提高數據準確性將掃描次數定為5次然后取平均值作為該AP的實時信號強度值。將處理好的實時RSSI值發送至定位服務器,由定位服務器調用最近鄰算法與位置指紋庫進行匹配,找出與當前位置距離最近的采集點,從而估算出終端所在位置。校園LBS系統功能模塊實現4.1開發環境的搭建開始開發本應用時,我們要先搭建開發環境。我們首先需要安裝幾個軟件和開發包。JavaJDK。JDK是JAVA語言的軟件工具開發包。有了他我們才能運行JAVA文件。在安裝完了JDK后我們還需進行環境變量的配置,確保我們在各個文件夾下都能運行Java應用。AndroidStudio°AndroidStudio是一個Android集成開發工具,提供了集成的Android開發工具用于開發和調試;它是基于Gradle的構建支持和Android專屬的重構和快速修復;提示工具以捕獲性能、可用性、版本兼容性等問題和基于模板的向導來生成常用的Android應用設計;組功能強大的布局編輯器,可以讓你拖拉UI控件并進行效果預覽。高德地圖AndroidSDK。高德地圖AndroidSDK是一套基于Android2.1及以上版本設備的應用程序接口。通過調用地圖SDK接口,我們可以訪問高德地圖服務和數據,構建功能豐富、交互性強的地圖類應用程序。為了在Android地圖應用程序中使用高德SDK和高德API,需要將相關文件拷貝到文件夾LIBS下,一個是.jar文件,另一個是.so文件。另外我們需要使用高德賬號申請一個安全碼,然后再配置Android應用的Key,并在清單文件中的vapplication>標簽內使用<meta>標簽填寫這個Key。需要注意的是一個應用對應一個安全碼。具體的下文會詳細說明。完成了以上開發環境搭建工作后,我們就可以開始開發我們的應用了。4.2校園定位微微任務APP具體設計之前下載好的.so和.jar文件放入libs文件夾下,對于每個jar文件,右鍵-選擇AddAsLibrary,導入到工程中。工程文件結構大致如圖所示。添加用戶key在工程的“AndroidManifest.xml”文件如下代碼中添加您的用戶Key添加所需權限在工程的“AndroidManifest.xml”文件中進行添加。在布局xml文件中添加地圖控件。創建地圖Activity,由于Java文件涉及的代碼比較多,這里展示部分代碼

配置AndroidManifest.xml;在application標簽中聲明service組件,每個app擁有自己單獨的定位service;然后在使用權限7.啟動定位功能:在主線程中獲得地圖對象AMap并設置疋位監聽且實現LocationSour1publicclassMainActivityextendsActivitymolementsLocationSource:if(alap=-null){Jilflp=g*+Tap();"設罷顯示定血証尹旦可斗UiSettin^ssettings=allap.^etlliSettings();aMap.setlocaticmScuice(tnis)詁/設置了龍氈監聽這里慕丈現LocationSource接匚"星否顯示宗位技擔settinfs.setliyLdcatiorButtDnEnabled(truE);?aMap.setlyLocatiorLEratled(true);/,宣示走位曇幷且可d融氏走位弄認星9!ce接口后配置參數,啟動定位4567g01CH12衛1415It17IEIS20R22jtiLdriot£4567g01CH12衛1415It17IEIS20R22//設置左住回調監聽,這旻妾寶現AM/p.xM'oriLjMtcincrt?口FAMipLocaVoiListcncrS口只KuiiLLCdlioiC'idiiged75法可以賣規「用亍接收舁歩返回的J宦塚臭’夢覲是AM沖LtJEior咲星>,:nC口cs+iqt£!11ent.setLocati口討兒衣十罰己丁(this)"細斜館位善裁nCocaTi.o(nOpricin-lit也AKapLocarionCllenTOpiioii^舌走也H尢Hght_4xu「acy有璉愛樓三.Baner/_Saving為低韻耗橈王.Uevice_Sen^crs星僅設備槓弍汕ccatictun1ion.setLccat1cnModeCAltarLocatiorClietitijptiDb.AlftarLo二atlonllode.Hi£h*_Azctiacy);//i墮呈吞返回地址信壽(現運回地址信皂)jhLL";dtiO'riOptJDn,fttCTccdAidiass(true)*達煩一況駄認^fdlseitil-ocati?riOp11.on.?e±0tn匚eLjcwtion.[tsSP);"設賽是昔客制simrn’戢認為聲麗慚mCocatiowO^ticirLsetfifiA:tiireScan(ll;打逸昱吞允許複擬位豊默認Wke,不如複擬喳晝mLQC^tiQrOptjon^sct^P^kE^atlc:false)〃設迓圭也亙]隔單位宣秒;齊認育2QOOmsmLacatiarOp11otLsg+Lulaf/al(2JU(J);"給癥竝客戶翩漳設匝應舞nCocaTiorClientnsstLocatioinOptiantnLcc^lionOtXiQii):"啟刃圭位mLota±iordiETL±.s-tartL&UMtixjnJ;8.實現AmapLocationListener8.實現pp」lziccassM^inActivityextendsActi\itvimplementsLocationSource,AMepLoca:ionLis:ener{?I'veixidepnblicvii.idonLomtinmChmjpd(AM^pLerfl+innnH^pLern'tinn)\if(allapLceation'-null;.if(aWacLocatiorLgetErrorCodeO=0){/徒位成切回凋倍息,設譽相關消息aMapLocaton.getLocatioilypei)當前走位結杲來灑r婦網蜓鑿S結冥『詳見官方走aMapLocati.ortpl€tLattude(;;/磁取筑度aMapL口cdti.On?電tl_OHigtbclfiC;//牡度alTapLocation.getAccuracy0;〃獲嶽稽莖信盡SimploDitmFozmitdf_rowSimploDitoFoinalCy^yy-MM-ddHMtATiSS');Datedate-nevBate(affapLocatian.g&lTi1716()df.format(da-:?』;/,走位花丸afflapLocatiorLyetAddrtf&i「如異Optkni中晉IN氏cAddi巴巧九治2,則IS丙此卒黑,應隼定隹結臬中會有地址信昌GPs^fcTi^lfll地址信.昌”4.3應用aNapLocation-9tK<Jun(r>();//'匡貳信啟aNarLocation.cietPrcvinceO://^信息arnapLocati.on.yetCity();//Mr^走肓aJffapLocation-getDiStrict0勺城區信梟aftLipLuuatiuiLgetStreet();/;雀道(f?aMapLocation-gftStreelNLjm();//街道門牌■£■信鳥oHfapLacatiui)-g|CtCity匸CCC0;f/城兒離菊aMapLocatiorLgeiAcICode();昇地區瘵瑪4.3應用功能測試我們

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論