摘 要: 隨著智能手機(jī)的普及,,人們對信息的要求越來越高,,現(xiàn)有的警情通報存在實時獲取困難等問題。為解決這些問題,,本文提出了一種基于眾包模式的移動警情系統(tǒng),,移動端采用ArcGIS Runtime SDK for Android接口進(jìn)行二次開發(fā)。移動端通過無線網(wǎng)絡(luò)實現(xiàn)與服務(wù)器端的數(shù)據(jù)通信以及移動端之間的警情信息共享,,最終達(dá)到“人人為警”的目的,。
關(guān)鍵詞: 眾包模式;Android,;ArcGIS Server,;移動警情
0 引言
眾包是2006年由美國《連線》雜志作家、資深編輯杰夫·豪(Jeff Howe)首次提出的[1],。眾包模式是指能吸引公眾的參與,,收集公眾建議,吸納集體智慧,。眾包是一種分布式的問題解決和生產(chǎn)模式,。在地理空間行業(yè),眾包系統(tǒng)是一種由用戶貢獻(xiàn)并且是自下而上的自發(fā)式地理信息[2],,其數(shù)據(jù)是由大量非專業(yè)人員志愿獲取并通過互聯(lián)網(wǎng)向大眾或相關(guān)機(jī)構(gòu)提供的一種開放地理空間數(shù)據(jù)[3-4],。代表性的眾包地理數(shù)據(jù)有GPS路線數(shù)據(jù)(如OpenStreetMap,簡稱OSM),、用戶協(xié)作標(biāo)注編輯的地圖數(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è)目標(biāo)
移動警情系統(tǒng)的建設(shè)需要綜合警情通報的業(yè)務(wù)特點,,結(jié)合LBS理論、計算機(jī)網(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ò)拓?fù)浼軜?gòu)
移動警情系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(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ù),,并進(jìn)行數(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ù)庫中進(jìn)行數(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的接口進(jìn)行開發(fā),。系統(tǒng)后臺空間數(shù)據(jù)服務(wù)采用ESRI的ArcGIS Server平臺發(fā)布基礎(chǔ)地形服務(wù),并使用ArcGIS Server切片緩存技術(shù)對基礎(chǔ)地形服務(wù)進(jìn)行切片,實現(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ù)
警情報告是用戶采集警情,,并在地圖上實時標(biāo)注的功能。要使用到一個客戶端的要素圖層GraphicsLayer,,以及PictureMarker Symbol這個符號類,。GraphicsLayer是ArcGIS Runtime for Android中比較重要的圖層類型,也是使用最為頻繁的一個,。GraphicsLayer可以包含一個或多個Graphic對象,,查詢的返回結(jié)果和標(biāo)注的Graphic數(shù)據(jù)都要通過它呈現(xiàn)。警情報告主要用到圖4所示的方法,。
圖4中,,首先調(diào)用centerAt()方法在地圖上繪制定位點的位置信息;其次通過getDrawable()方法,,獲取警情對應(yīng)的圖標(biāo)資源,;最后通過addGraphic()方法將警情標(biāo)注到地圖上,同時與服務(wù)器進(jìn)行同步,。
3.3 警情提醒服務(wù)
警情提醒服務(wù)實現(xiàn)附近警情信息推送,,當(dāng)用戶啟用應(yīng)用并開啟定位設(shè)備時,即可使用警情信息的推送服務(wù),。用于限定并進(jìn)行警情信息過濾的條件主要有三個:經(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ā)地和目的地即避難場所,,進(jìn)而由服務(wù)器規(guī)劃最佳前往路線的過程,。主要通過arcgisonline上已經(jīng)發(fā)布的網(wǎng)絡(luò)分析服務(wù)實現(xiàn)。執(zhí)行路徑分析可以通過RoutingTask類的solve方法來進(jìn)行,,通過給slove方法傳遞RoutingParameters類型的參數(shù),,即可以實現(xiàn)最短路徑的查找。
4 結(jié)束語
隨著社會的發(fā)展,、科技的進(jìn)步,,人們對信息的需求進(jìn)一步提高,特別在我國這樣一個人口數(shù)量龐大的國家,,公眾的生活安全越來越重要,。本文設(shè)計實現(xiàn)的系統(tǒng)具有地圖服務(wù)、警情報告,、警情提醒服務(wù),、應(yīng)急路徑規(guī)劃服務(wù)等功能,。系統(tǒng)達(dá)到了“人人為警”的設(shè)計目標(biāo),并具有良好的體驗效果,。
參考文獻(xiàn)
[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].福建公安高等??茖W(xué)校學(xué)報,2005(2):30-32.