《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種基于無線定位技術的LBS應用
一種基于無線定位技術的LBS應用
2014年微型機與應用第9期
何錫標,陳淑榮
上海海事大學 信息工程學院,上海 201306
摘要: 基于位置服務LBS(Location Based Service)是移動終端利用通信運營商的移動通信網絡或者其他定位方式(GPS、Wi-Fi等)來獲取移動終端用戶的地理位置信息,應用開發商基于此用戶位置信息,為用戶提供更多的增值服務,如無線訂餐、打車、社區交友等。其中典型的應用有國外的Foursquare、Gowalla、Whrrl等,國內則有大眾點評、微信、易信等。
Abstract:
Key words :

摘  要: 基于無線定位技術在Android智能手機平臺上設計了一個無線購物的LBS系統。該系統針對傳統GPS衛星信號無法良好覆蓋復雜建筑物的應用局限性,利用百度地圖API以及定位SDK確定定位因素;結合GPS、基站及Wi-Fi等信號的情況生成混合定位依據,根據定位依據實現移動客戶端的地圖顯示、無線定位和線路導航功能;并在此基礎上為移動用戶提供無線購物服務。

關鍵詞: 基于位置服務Android系統平臺;定位;百度地圖

       基于位置服務LBS(Location Based Service)是移動終端利用通信運營商的移動通信網絡或者其他定位方式(GPS、Wi-Fi等)來獲取移動終端用戶的地理位置信息,應用開發商基于此用戶位置信息,為用戶提供更多的增值服務,如無線訂餐、打車、社區交友等。其中典型的應用有國外的Foursquare、Gowalla、Whrrl等,國內則有大眾點評、微信、易信等。

       LBS應用的核心是通過定位技術來獲取移動終端的地理位置信息,通常將定位技術主要分為基于網絡的定位技術和基于移動終端定位技術兩大類。常見的基于網絡的定位技術包括蜂窩網絡中的到達時間TOA、到達角度AOA、到達時間差TDOA和Wi-Fi無線系統中基于信號強度RSSI定位,RSSI包括信號強度指紋定位和信號強度建模定位兩種方法。Microsoft設計的RADAR系統是一個典型的基于信號強度指紋分析的定位系統,而參考文獻[1]則采用一種基于權值選擇的定位策略,由于Wi-Fi定位范圍有限,常用于室內定位?;诮K端的定位技術通常有衛星導航定位GPS和網絡輔助的GPS定位等,它們是獲取室外地理位置的有效方式。GPS系統根據星歷參數EPH和歷書參數ALM測算到衛星與用戶之間的相對位置,借助于導航算法最小二乘法或者卡爾曼濾波法[2]計算得到用戶的地理位置。但GPS衛星信號不容易穿透各種復雜的建筑物,僅僅適用于室外定位并且初次定位時間長。

       針對幾種傳統定位技術應用的局限性,本文借助于百度地圖API以及定位SDK,結合多種定位技術,采用混合定位的方式獲取移動終端的地理位置,并基于此設計了一個無線購物LBS系統。移動客戶端通過該應用除了實現無線購物功能外,還實現了移動用戶的地理位置定位、路線導航及選擇個性化服務。系統服務器為客戶端提供無線購物服務,并實現管理員后臺管理和維護操作功能。

1 LBS系統架構與方案設計

       LBS應用系統通常由移動終端、內容提供商、通信網絡和定位組件[3]4個部分組成,如圖1所示。移動終端是連接網絡能夠進行語音和數據通信的手持電子設備;內容提供商是為移動終端提供數據服務的載體,如數據庫服務器、Web服務器和應用服務器等;通信網絡是移動終端與內容提供商之間進行數據交互的通道;定位組件是為了實現移動終端的定位導航功能,如GPS定位衛星、移動網絡基站和無線網絡等。

J5N[__S1QNG%)RXF8@0%XSR.png

       利用混合定位依據實現Android智能手機無線定位后,為移動用戶提供無線購物功能。無線購物系統基于C/S體系架構,其中服務器端主要實現用戶信息和商品信息維護、處理客戶端發來的HTTP請求以及實現管理員后臺操作;手機客戶端實現用戶注冊登錄、商品瀏覽、購買、評價以及用戶地理位置定位和線路導航功能,如圖2所示。另外,客戶端還將實現地圖加載、地圖瀏覽和地圖查詢功能。

W(RX}QRL~())O5(N_5GYV6Q.png

       系統服務器利用MyEclipse集成開發環境,將服務部署在Apache Tomcat應用服務器上,后臺數據使用MySQL以及Navicat數據庫管理工具以便后臺數據的存儲和維護,通過JDBC的方式進行數據訪問??蛻舳嘶贏ndroid平臺通過XML語言進行用戶的UI設計,用Java語言設計Activity、Service等組件以及HTTP通信接口,以實現客戶端與服務器端的信息交互。

2 系統實現及關鍵技術

2.1 服務器端設計模型

       無線購物系統服務器端搭載在Apache Tomcat服務器上,采用MVC設計模型,如圖3所示。通過Java Bean封裝數據作為數據模型,JSP和HTML等技術完成服務器端Web頁面的設計,利用Java語言設計Servlet作為控制器,控制著整個服務器端的響應并且完成客戶端用戶請求處理。

FA)H86J]G_~E2_6(8)])0LR.png

       MVC設計模型將系統服務分成Model、View和Controller 3個基本部分,將系統業務邏輯與數據顯示分離,從而提高應用系統的可擴展性和維護性。例如管理員登錄系統后向Servlet發送請求,Servlet將請求參數封裝至Java Bean中實現相關數據更新,根據請求類型查詢后臺數據庫,填充查詢結果到相應的視圖頁面并顯示在瀏覽器中,以實現管理員對無線購物系統的管理和維護。

2.2 系統定位原理及過程

       利用百度地圖API實現移動終端的混合定位,首先需把百度地圖的開發包locSDK.jar文件以及與定位相關的liblocSDK.so文件導入工程中。移動終端的混合定位過程為LBS應用程序通過定位SDK發起定位請求,定位SDK收到請求后根據定位因素,即終端的網絡狀態(如GPS信號、Wi-Fi信號或者基站信號等)生成相應的定位依據,將定位依據發送至定位服務器,服務器處理定位請求后將定位結果經由定位SDK最終回送給LBS應用程序,為移動用戶提供必要的地理位置信息和導航路線信息,如圖4所示。

]K~ME6$11GO8J])1NV%JAFK.png

       利用百度地圖API開發過程中用到的幾個主要關鍵類如下。

       (1)Map View:一個顯示地圖的視圖,當被焦點選中時,它能捕獲按鍵事件和觸摸手勢去平移和縮放地圖;

       (2)GeoPoint:表示一個地理坐標點,存放經度和緯度,以微度的整數形式存儲;

       (3)MKEvent:地圖事件類,主要功能是實現網絡連接、網絡數據驗證和授權驗證等;

       (4)LocationData:用戶位置信息,存放信息包含了定位精度、經緯度坐標、GPS定位衛星數目和定位時速度等;

       (5)LocationClient:定位SDK核心類,實現定位參數設置、注冊監聽函數及發起定位功能;

       (6)BDLocation:封裝了定位SDK的定位結果,通過該類用戶可以獲取位置的坐標和精度半徑等信息。

       移動用戶終端將依據實時的網絡情況采用混合定位方式返回用戶的地理位置信息。在進行定位開發時,Manifest.xml配置文件必須聲明應用程序的使用權限如Wi-Fi、Internet、Network等,移動客戶端定位的部分示例代碼如下。

mLocClient=new LocationClient(this); //定位初始化

locData=new LocationData();

mLocClient.registerLocationListener(myListener);

LocationClientOption option=new LocationClientOption();

option.setOpenGps(true);//打開GPS

option.setCoorType("bd09ll"); //設置坐標類型

mLocClient.setLocOption(option);

mLocClient.start();

myLocationOverlay=new locationOverlay(mMapView);

//定位圖層初始化

myLocationOverlay.setData(locData); //設置定位數據

mMapView.getOverlays().add(myLocationOverlay);

//加定位圖層

myLocationOverlay.enableCompass();

mMapView.refresh();//修改定位數據后刷新圖層生效

2.3 JDBC數據庫訪問技術

       服務器端的后臺利用MySQL關系型數據庫,存儲著用戶信息、商品信息、后臺管理員信息等數據,服務器端利用JDBC(Java Database Connectivity)方式連接關系型數據庫,通過SQL結構化查詢語言來實現數據庫數據的增刪改查操作。JDBC編程步驟大致分為以下幾步:(1)加載數據庫驅動;(2)通過DriverManager獲取數據庫連接;(3)通過Connection對象創建Statement對象;(4)使用Statement執行SQL語句;(5)獲取操作結果集;(6)回收數據庫資源,包括關閉ResultSet、Statement和Connection對象等資源。

       這樣,通過JDBC訪問方式實現對主流數據庫的操作。并且利用JDBC操作數據庫可以實現跨數據庫、跨平臺,具有非常優秀的可移植性能。

2.4 服務器與客戶端HTTP通信

       在無線購物系統中,客戶端在注冊登錄、瀏覽和購買商品時必須將用戶信息及商品信息封裝后向服務器端發起請求,以得到服務器端的響應數據。HTTP協議是實現客戶端與服務器端數據交互和通信的主要途徑??蛻舳送ㄟ^GET和POST兩種請求方式向Web服務器發送請求。服務器端控制器Servlet將根據客戶端發起的請求類型調用不同的響應函數對客戶端請求進行相應處理。Web服務器將處理結果回送到客戶端進行界面更新,客戶端發送HTTP請求的Java示例代碼如下。

public static HttpClient httpClient=new DefaultHttpClient();

public static String getRequest(String url) throws Exception{

HttpGet get=new HttpGet(url);  //GET請求方式

HttpResponse httpResponse=httpClient.execute(get);

 if(httpResponse.getStatusLine().getStatusCode()==200){

  String result=EntityUtils.toString(httpResponse.getEntity());

   return result;

}

return null;

}

public static String postRequest(String url,Map<String,String> rawParams)throws Exception{

HttpPost post = new HttpPost(url);  //POST請求方式

List<NameValuePair> params=new arrayList<NameValuePair>();

for(String key:rawParams.keySet()) {//封裝請求參數

params.add(new BasicNameValuePair(key,rawParams.get(key)));

 }

 ……

 return null;

}

3 實驗結果與分析

       無線購物LBS系統服務器端在MyEclipse 8.5集成環境中開發,部署于Tomcat 7.0應用服務器,數據庫采用MySQL 5.5;客戶端由Eclipse集成開發平臺和Android ADT組成,利用Android智能手機對所開發的系統進行測試。

       用戶通過無線購物應用獲取到感興趣的商家地址以及商品詳細信息,如圖5(a)所示。移動用戶向定位服務器發起定位請求,獲取到移動終端的當前位置,如圖5(b)所示,百度定位SDK將獲取得到的定位信息通過定位圖層顯示在終端上,并顯示出了用戶的當前經緯度信息。系統還為用戶和商家之間提供了合理的駕車導航路線,用戶可以選擇送貨上門服務或者到店取貨服務,如圖5(c)所示。

W%8`G]9}@0EHY~552RHKY[C.png

       本文基于Android智能手機平臺,利用百度地圖API及定位SDK結合多種定位技術設計并實現了一個無線購物LBS應用。移動用戶借助于本系統可實現地理位置混合定位、地圖導航,并向服務器獲取基于位置的無線購物服務。

參考文獻

[1] 雷地球,羅海勇,劉曉明.一種基于Wi-Fi的室內定位系統設計與實現[C].第5屆全國普適計算學術會議,2010(10):77-79.

[2] 干國強.導航與定位——現代戰爭的北斗星[M].北京:國防工業出版社,2000.

[3] [西]Richard Ferraro,[土]Murat Aktihanoglu,LBS應用開發[M].李麗,譯.北京:人民郵電出版社,2012.

[4] 周傲英,楊彬,金澈清,等.基于位置的服務:架構與進展[J].計算機學報,2011,34(7):1156-1157.

[5] 顧聰,陳益強,劉軍發,等.基于Android平臺的室內LBS系統設計與實現[J].計算機工程與設計,2012,33(1):396-400.

[6] RETSCHER G, HECHT T. Investigation of location capabilities of four different smart phones for LBS navigation applications[C]. 2012 International Conference on Indoor Positioning and Indoor Navigation, 2012:1-6.

[7] KUMAR S, QADEER M A, GUPTA A. Location based services using Android[C]. IEEE International Conference on Internet Multimedia Services Architecture and Applications(IMSAA), 2009:1-5.

[8] KUSHWAHA A, HUSHWAHA V. Location based services using Android mobile operating system[J]. International Journal of Advances in Engineering & Technology,2011(3):14-20.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜精品理论片a级按摩| 伊大人香蕉综合8在线视| 欧美中文字幕| 亚洲一区欧美一区| 99re这里只有精品6| 91久久精品日日躁夜夜躁欧美 | 亚洲电影免费观看高清完整版在线 | 国产一区高清视频| 国产精品一区在线观看你懂的| 欧美婷婷在线| 国产精品盗摄久久久| 欧美日韩中文在线观看| 欧美日韩成人综合天天影院| 欧美精品免费视频| 欧美日韩在线三级| 国产精品久久久久aaaa| 国产精品日韩欧美一区二区| 国产精品青草综合久久久久99| 国产精品免费区二区三区观看| 欧美天堂在线观看| 国产精品美女在线观看| 国产视频精品网| 韩日在线一区| 亚洲国产天堂久久综合| 亚洲美女一区| 这里只有视频精品| 亚洲免费综合| 欧美专区中文字幕| 最新国产成人av网站网址麻豆 | 欧美1区2区| 欧美日韩卡一卡二| 国产精品日韩欧美综合| 国产日韩综合| 在线观看成人小视频| 亚洲激情小视频| 一区二区精品在线| 欧美在线啊v一区| 亚洲第一搞黄网站| 日韩午夜视频在线观看| 亚洲免费视频观看| 久久综合久久综合这里只有精品| 欧美成人午夜激情| 国产精品99免费看 | 香蕉亚洲视频| 亚洲欧洲一区| 亚洲一级二级在线| 久久久国产精品一区二区中文| 免费不卡在线观看av| 欧美日韩免费一区| 国产亚洲精品自拍| 亚洲国产三级在线| 亚洲欧美日韩精品久久奇米色影视| 亚洲第一区在线| 亚洲视频在线视频| 久久久久久久一区| 欧美日韩国产黄| 国产亚洲一区二区三区在线观看| 亚洲黄色成人网| 午夜精品久久久久久久蜜桃app| 亚洲黄色在线看| 亚洲综合大片69999| 久久综合给合久久狠狠色| 欧美性猛交一区二区三区精品| 国产综合婷婷| 中文精品视频| 亚洲激情在线激情| 欧美亚洲一级| 欧美精品日韩www.p站| 国产精品一区亚洲| 日韩天堂在线观看| 久久精品国产精品亚洲| 亚洲综合第一页| 欧美a一区二区| 国产一区二三区| 亚洲午夜久久久久久尤物| 亚洲青色在线| 久久久久.com| 国产精品视频xxx| 日韩午夜精品视频| 亚洲欧洲日本国产| 久久精品综合网| 国产精品久久久久aaaa| 亚洲精品国精品久久99热一| 亚洲大片一区二区三区| 亚洲欧美日韩国产中文| 欧美精品免费在线| 影院欧美亚洲| 久久国产精品久久w女人spa| 香蕉成人久久| 欧美天堂亚洲电影院在线播放| 亚洲激情国产精品| 亚洲国产欧美一区二区三区久久| 欧美在线播放一区二区| 欧美性色aⅴ视频一区日韩精品| 91久久国产综合久久| 亚洲国产精品激情在线观看| 久久精品国产99精品国产亚洲性色| 欧美色欧美亚洲另类七区| 91久久久久久久久久久久久| 久久国产精品久久精品国产| 午夜视频一区| 国产精品久久网站| 在线视频你懂得一区 | 亚洲一区二区三区欧美| 欧美日韩国产精品一区| 亚洲经典三级| 亚洲精品一二三| 免费视频一区二区三区在线观看| 国自产拍偷拍福利精品免费一| 午夜视频在线观看一区| 午夜免费电影一区在线观看| 国产精品成人一区二区艾草| 99综合视频| 中日韩男男gay无套| 欧美日韩一区在线观看视频| 日韩视频不卡| 亚洲视频香蕉人妖| 欧美性感一类影片在线播放 | 国产欧美大片| 亚洲欧美精品在线观看| 欧美一级淫片aaaaaaa视频| 国产精品婷婷午夜在线观看| 一本色道久久综合亚洲精品按摩| 99视频一区| 欧美日韩一区二区三| 日韩视频第一页| 亚洲伊人伊色伊影伊综合网| 国产精品护士白丝一区av| 亚洲免费综合| 久久久久久久999精品视频| 激情综合色丁香一区二区| 亚洲激情偷拍| 欧美剧在线观看| 99日韩精品| 亚洲欧美日本国产有色| 国产伦精品一区二区三区四区免费 | 欧美三级精品| 亚洲视频精选在线| 欧美一区二区三区在线观看视频 | 乱人伦精品视频在线观看| 亚洲成色999久久网站| 亚洲免费精彩视频| 欧美四级在线观看| 欧美一区二区三区男人的天堂 | 亚洲欧美国产精品va在线观看| 久久国产一区二区三区| 精品51国产黑色丝袜高跟鞋| 亚洲日本激情| 欧美日韩在线影院| 午夜精品久久久久久久久久久久久 | 黄色国产精品| 日韩天堂在线观看| 欧美体内谢she精2性欧美| 亚洲欧美电影在线观看| 老司机久久99久久精品播放免费| 最新成人av在线| 午夜精品久久久久久| 在线成人欧美| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产午夜精品久久久久久久| 亚洲国内精品| 欧美视频在线观看视频极品| 欧美一级欧美一级在线播放| 欧美国产成人在线| 亚洲性人人天天夜夜摸| 久久一综合视频| 一区二区国产精品| 久久在线免费| 一区二区精品在线| 久久久久欧美精品| 99热免费精品在线观看| 久久人人97超碰人人澡爱香蕉 | 亚洲无人区一区| 久久亚洲欧美国产精品乐播| 日韩视频在线观看| 久久婷婷麻豆| 亚洲一区二区毛片| 欧美承认网站| 午夜精品视频一区| 欧美人与禽猛交乱配视频| 欧美亚洲一级片| 欧美日韩成人精品| 久久激情网站| 国产精品成人一区二区网站软件 | 亚洲卡通欧美制服中文| 国产欧美成人| 一区二区三区国产精华| 精品成人一区二区三区| 亚洲欧美日产图| 亚洲欧洲精品一区二区精品久久久| 性色av香蕉一区二区| 亚洲人成网站色ww在线| 久久精品国产亚洲aⅴ| 在线视频日本亚洲性| 欧美国产视频日韩| 亚洲国产高潮在线观看| 国产麻豆精品久久一二三| 一本一本久久| 亚洲国产福利在线| 久久青草福利网站|