《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于眾包模式的移動警情系統(tǒng)設(shè)計與實現(xiàn)
基于眾包模式的移動警情系統(tǒng)設(shè)計與實現(xiàn)
2015年微型機與應(yīng)用第5期
唐 李,吳 升
(福州大學 空間數(shù)據(jù)挖掘與信息共享教育部重點實驗室 福建省空間信息工程研究中心,福建 福州 350001)
摘要: 隨著智能手機的普及,人們對信息的要求越來越高,現(xiàn)有的警情通報存在實時獲取困難等問題。為解決這些問題,本文提出了一種基于眾包模式的移動警情系統(tǒng),移動端采用ArcGIS Runtime SDK for Android接口進行二次開發(fā)。移動端通過無線網(wǎng)絡(luò)實現(xiàn)與服務(wù)器端的數(shù)據(jù)通信以及移動端之間的警情信息共享,最終達到“人人為警”的目的。
Abstract:
Key words :

  摘  要: 隨著智能手機的普及,人們對信息的要求越來越高,現(xiàn)有的警情通報存在實時獲取困難等問題。為解決這些問題,本文提出了一種基于眾包模式移動警情系統(tǒng),移動端采用ArcGIS Runtime SDK for Android接口進行二次開發(fā)。移動端通過無線網(wǎng)絡(luò)實現(xiàn)與服務(wù)器端的數(shù)據(jù)通信以及移動端之間的警情信息共享,最終達到“人人為警”的目的。

  關(guān)鍵詞: 眾包模式;Android;ArcGIS Server;移動警情

0 引言

  眾包是2006年由美國《連線》雜志作家、資深編輯杰夫·豪(Jeff Howe)首次提出的[1]。眾包模式是指能吸引公眾的參與,收集公眾建議,吸納集體智慧。眾包是一種分布式的問題解決和生產(chǎn)模式。在地理空間行業(yè),眾包系統(tǒng)是一種由用戶貢獻并且是自下而上的自發(fā)式地理信息[2],其數(shù)據(jù)是由大量非專業(yè)人員志愿獲取并通過互聯(lián)網(wǎng)向大眾或相關(guān)機構(gòu)提供的一種開放地理空間數(shù)據(jù)[3-4]。代表性的眾包地理數(shù)據(jù)有GPS路線數(shù)據(jù)(如OpenStreetMap,簡稱OSM)、用戶協(xié)作標注編輯的地圖數(shù)據(jù)(如Wikimapia)、各類社交網(wǎng)站數(shù)據(jù)(如Twitter、Facebook、微博等)、街旁用戶簽到的興趣點數(shù)據(jù)等[5]。通過分析現(xiàn)有的警情通報方式[6],發(fā)現(xiàn)存在警情信息無法實時獲取、地理位置無法直觀體現(xiàn)等問題。為解決這些問題,本文把警情信息作為一種眾包地理數(shù)據(jù),結(jié)合眾包模式和移動應(yīng)用的特點,設(shè)計和實現(xiàn)了移動警情系統(tǒng)。

1 建設(shè)目標

  移動警情系統(tǒng)的建設(shè)需要綜合警情通報的業(yè)務(wù)特點,結(jié)合LBS理論、計算機網(wǎng)絡(luò)、無線通信、數(shù)據(jù)庫等技術(shù)構(gòu)建基于眾包模式的移動警情系統(tǒng),為警情信息的獲取和共享提供一個全面的解決方案。具體包括以下五個方面:(1)提供電子地圖服務(wù)。(2)提供移動位置服務(wù)。(3)警情信息采集服務(wù)。(4)提供警情信息提醒服務(wù)。(5)應(yīng)急路線規(guī)劃服務(wù)。

2 系統(tǒng)設(shè)計

  2.1 移動警情系統(tǒng)網(wǎng)絡(luò)拓撲架構(gòu)

  移動警情系統(tǒng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。

001.jpg

  2.2 數(shù)據(jù)管理和交互

  移動警情系統(tǒng)的數(shù)據(jù)管理分為移動端的數(shù)據(jù)管理和服務(wù)器端的數(shù)據(jù)管理兩個部分。本系統(tǒng)移動端采用輕量級SQLite數(shù)據(jù)庫存儲和管理數(shù)據(jù)。服務(wù)器端采用MySQL數(shù)據(jù)庫來模擬后臺數(shù)據(jù),并進行數(shù)據(jù)的相關(guān)操作。基本數(shù)據(jù)分為3類:警情信息、位置信息、文檔和附件,如表1所示。警情數(shù)據(jù)庫表設(shè)計和字段說明如表2所示。

005.jpg

  系統(tǒng)數(shù)據(jù)交互過程是:首先服務(wù)器端實現(xiàn)相關(guān)的業(yè)務(wù)數(shù)據(jù)的邏輯處理,比如相關(guān)信息數(shù)據(jù)的讀取、更新、導入和修改,以及把數(shù)據(jù)庫中的數(shù)據(jù)系列化為xml或json格式。然后移動終端通過網(wǎng)絡(luò)連接服務(wù)器,在數(shù)據(jù)庫中進行數(shù)據(jù)的查詢、存儲或修改,最后將所需數(shù)據(jù)返回給移動終端,完成數(shù)據(jù)交互。

  2.3 功能設(shè)計

  功能設(shè)計如圖2所示。

002.jpg

3 關(guān)鍵模塊實現(xiàn)

  本系統(tǒng)以ArcGIS Server和Android為開發(fā)平臺,在Eclipse開發(fā)環(huán)境中,針對移動警情的業(yè)務(wù)流程,使用Java語言基于ArcGIS Runtime SDK for Android的接口進行開發(fā)。系統(tǒng)后臺空間數(shù)據(jù)服務(wù)采用ESRI的ArcGIS Server平臺發(fā)布基礎(chǔ)地形服務(wù),并使用ArcGIS Server切片緩存技術(shù)對基礎(chǔ)地形服務(wù)進行切片,實現(xiàn)移動端對空間數(shù)據(jù)的快速訪問。

  3.1 地圖服務(wù)

  地圖服務(wù)主要實現(xiàn)三個功能:電子地圖功能、定位功能、地址查詢功能,具體使用到的方法如圖3所示。

003.jpg

  (1)電子地圖功能

  電子地圖功能是實現(xiàn)放大、縮小、平移,以及手觸摸式的放大縮小、衛(wèi)星/交通圖顯示等功能。主要調(diào)用zoomin(放大)、zoomout(縮?。oomToScale(地圖級別設(shè)置)、getRotationAngle(地圖旋轉(zhuǎn))和setVisble(不同圖層顯示)五個方法。

 ?。?)定位功能

  定位功能就是用戶通過移動設(shè)備獲取位置信息(經(jīng)緯度)并在地圖上展示的功能。系統(tǒng)主要通過兩種方式獲取到定位服務(wù),一是通過點擊“定位”按鈕觸發(fā)定位事件,二是通過移動設(shè)備的位置更新觸發(fā)定位事件。具體為:MapView通過調(diào)用getLocationService方法獲取一個LocationService定位服務(wù),通過這個LocationService定位服務(wù)可以開啟/關(guān)閉GPS,設(shè)置一些有用的屬性。同時通過setLocationListener方法來監(jiān)聽位置的變化。

 ?。?)地址查詢

  地址查詢是用戶通過地址名(物理地址名)獲取到位置信息(經(jīng)緯度)并在地圖上渲染的過程。地址查詢功能的實現(xiàn)過程是實現(xiàn)searchAddress和handleSearchAddress兩個方法,其中handleSearchAddress方法會通過調(diào)用ArcGIS Server Geocoding Services實現(xiàn)地理編碼功能,獲取到位置信息,并最終在地圖上渲染。

  3.2 警情報告服務(wù)

  警情報告是用戶采集警情,并在地圖上實時標注的功能。要使用到一個客戶端的要素圖層GraphicsLayer,以及PictureMarker Symbol這個符號類。GraphicsLayer是ArcGIS Runtime for Android中比較重要的圖層類型,也是使用最為頻繁的一個。GraphicsLayer可以包含一個或多個Graphic對象,查詢的返回結(jié)果和標注的Graphic數(shù)據(jù)都要通過它呈現(xiàn)。警情報告主要用到圖4所示的方法。

004.jpg

  圖4中,首先調(diào)用centerAt()方法在地圖上繪制定位點的位置信息;其次通過getDrawable()方法,獲取警情對應(yīng)的圖標資源;最后通過addGraphic()方法將警情標注到地圖上,同時與服務(wù)器進行同步。

  3.3 警情提醒服務(wù)

  警情提醒服務(wù)實現(xiàn)附近警情信息推送,當用戶啟用應(yīng)用并開啟定位設(shè)備時,即可使用警情信息的推送服務(wù)。用于限定并進行警情信息過濾的條件主要有三個:經(jīng)度、緯度、半徑。將此三個要素作為過濾方法getEventInfo()的輸入?yún)?shù),并將符合條件的警情信息作為輸出參數(shù),即:

  public static String[][]getEventInfo(double lat, double lon,int radius){};

  通過三個規(guī)則限定條件,從服務(wù)器獲取警情信息,并將信息置于類型為JOSNArray的stationJsonArray變量中。將stationJsonArray變量的長度作為info數(shù)組的長度,并將stationJsonArray變量中所包含的內(nèi)容一一賦值給info數(shù)組,并作為getEventInfo()方法的返回值。

  3.4 應(yīng)急路線規(guī)劃服務(wù)

  應(yīng)急路線規(guī)劃功能是通過用戶輸入出發(fā)地和目的地即避難場所,進而由服務(wù)器規(guī)劃最佳前往路線的過程。主要通過arcgisonline上已經(jīng)發(fā)布的網(wǎng)絡(luò)分析服務(wù)實現(xiàn)。執(zhí)行路徑分析可以通過RoutingTask類的solve方法來進行,通過給slove方法傳遞RoutingParameters類型的參數(shù),即可以實現(xiàn)最短路徑的查找。

4 結(jié)束語

  隨著社會的發(fā)展、科技的進步,人們對信息的需求進一步提高,特別在我國這樣一個人口數(shù)量龐大的國家,公眾的生活安全越來越重要。本文設(shè)計實現(xiàn)的系統(tǒng)具有地圖服務(wù)、警情報告、警情提醒服務(wù)、應(yīng)急路徑規(guī)劃服務(wù)等功能。系統(tǒng)達到了“人人為警”的設(shè)計目標,并具有良好的體驗效果。

參考文獻

  [1] HOWE J. The rise of crowdsourcing[J]. Wired magazine, 2006,14(6):1-4.

  [2] 付品德,孫九林.WebGIS原理與應(yīng)用[M].北京:高等教育出版社,2012.

  [3] HEIPKE C. Crowdsourcing geospatial data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2010,65(6): 550-557.

  [4] GILES J. Wikipedia rival calls in the experts[J]. Nature, 2006,443(7111):493-493.

  [5] 單杰,秦昆,黃長青,等.眾源地理數(shù)據(jù)處理與分析方法探討[J].武漢大學學報(信息科學版),2014(4):390-396.

  [6] 彭擁兵.論警情通報制度的價值[J].福建公安高等??茖W校學報,2005(2):30-32.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。