摘 要: 隨著智能手機的普及,人們對信息的要求越來越高,現(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所示。
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所示。
系統(tǒng)數(shù)據(jù)交互過程是:首先服務(wù)器端實現(xiàn)相關(guān)的業(yè)務(wù)數(shù)據(jù)的邏輯處理,比如相關(guān)信息數(shù)據(jù)的讀取、更新、導(dǎo)入和修改,以及把數(shù)據(jù)庫中的數(shù)據(jù)系列化為xml或json格式。然后移動終端通過網(wǎng)絡(luò)連接服務(wù)器,在數(shù)據(jù)庫中進行數(shù)據(jù)的查詢、存儲或修改,最后將所需數(shù)據(jù)返回給移動終端,完成數(shù)據(jù)交互。
2.3 功能設(shè)計
功能設(shè)計如圖2所示。
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所示。
(1)電子地圖功能
電子地圖功能是實現(xiàn)放大、縮小、平移,以及手觸摸式的放大縮小、衛(wèi)星/交通圖顯示等功能。主要調(diào)用zoomin(放大)、zoomout(縮?。?、zoomToScale(地圖級別設(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所示的方法。
圖4中,首先調(diào)用centerAt()方法在地圖上繪制定位點的位置信息;其次通過getDrawable()方法,獲取警情對應(yīng)的圖標資源;最后通過addGraphic()方法將警情標注到地圖上,同時與服務(wù)器進行同步。
3.3 警情提醒服務(wù)
警情提醒服務(wù)實現(xiàn)附近警情信息推送,當(dāng)用戶啟用應(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].武漢大學(xué)學(xué)報(信息科學(xué)版),2014(4):390-396.
[6] 彭擁兵.論警情通報制度的價值[J].福建公安高等專科學(xué)校學(xué)報,2005(2):30-32.