李江 蔣文潔
(1.三江學院,江蘇 南京 210012;2.江蘇蘇海信息科技(集團)有限公司,江蘇 南京 210000)
自全球知名的咨詢公司麥肯錫提出“大數據”時代以來,互聯網與信息化領域的快速發展讓人們逐漸認識到網絡大數據的背景意義[1]。帶有定位信息的數據量呈現爆炸性增長的態勢,加上現代測繪技術(衛星、航空飛機、飛艇、無人機等)以及各種可穿戴設備的發展,網絡簽到、軌跡數據、物流數據等與空間位置有關的數據飛速增加[2]。更重要的是,伴隨著互聯網與人的生活緊密相關,人的行為實時制造數據,這些數據交織在一起就形成海量數據[3]。
科技的發展帶動了警力數字化裝備的提升,警力定位、移動、聲視頻對講等都配備現代化、信息化的系統軟件,每時每刻都在產生大量數據,如何有效地分析數據,提升數據的利用價值,合理劃分安排警力資源,提高安保、出警效率是警務系統管理部門的重要工作職能。整理與合理利用大數據,可以提高生活水平,而一成不變,只會堆積耗費資源與帶寬,所以在參與警務系統的開發中,歸納總結了有效的技術方法,使用輕量級的WebGIS,即可實現大數據的展示與分析。
本文主要從技術方面,介紹利用OpenLayers 代碼庫,實現大數據的實時獲取、整理、展示、分析功能,從代碼視角構建輕量級WebGIS 應用。
WebGIS 是互聯網技術應用于地理信息系統(GIS)開發的產物,是傳統GIS 在網絡上的延伸和發展,具有傳統GIS 的特點,可以實現空間數據的檢索、查詢、制圖輸出、編輯等GIS 基本功能,同時通過互聯網對地理信息數據進行發布和應用,以實現空間數據的共享和互操作,是互聯網上地理信息發布、共享和交流協作的基礎。WebGIS 使GIS 的功能得以擴展,具有易操作性、跨平臺性、良好的擴展性以及信息分布共享等特性[4]。
OpenLayers 是一個用于開發WebGIS 客戶端的JavaScript 包,可以實現標準格式發布的地圖數據訪問,其設計之意是為互聯網客戶端提供強大的地圖展示功能,為地理空間數據的信息化處理提供極大的便利[5-6]。OpenLayers 采用面向對象方式開發,并使用來自Prototype.js 和Rico 中的一些組件,開發者可以通過OpenLayers 在瀏覽器中實現對地圖數據的豐富操作。
目前,主流地圖上的應用開發,一般以B/S(瀏覽器/服務器)模式呈現,即把業務應用集中在服務器上開發,瀏覽器負責展示。瀏覽器可以用PC 端、平板端、移動設備端等,如上模式即保證瀏覽端不需要安裝應用,且把煩瑣的計算分析等應用分配給強大硬件支撐的服務器端,保障了瀏覽器端的輕量級。
在警務系統的大數據展示與分析實現中,我們采用html5+js 實現瀏覽器端(即前端),用.net 的MVC 框架實現服務器端,采用portgresql+postgis 存儲業務數據。本文僅介紹前端的實現。
本節將以可運行代碼段方式,按順序介紹實現大數據在WebGIS 上的展示分析,主要包括大數據實時獲取、大數據在前端的展示、大數據的熱區分析、大數據的移動模擬。
大數據的產生有很多種方式,由于涉及數據隱私等相關問題,數據的實時獲取根據業務需求而需要獲取授權等。本次項目的數據來源是警務工作設備產生的數據,設備內置應用會將位置數據實時推送至服務器端,從而組成龐大的大數據記錄。實時獲取原理是當數據庫記錄有更新時,則利用JS 類庫去提取。目前,主流用WebSocket 實時動態獲取數據,也就是采用通信方式監聽數據,數據發生變化即通信開始連接工作。
WebSocket 在完成連接并初始化之后,開始接收數據平臺推送來的信息,有新的位置信息便會立刻推送,應用端使用onmessag()方法進行實時監聽。
獲取實時推送數據后,需要在瀏覽器(即Web)上展示,數據展示的基礎是電子地圖,因行業的不同,可能需要展示不同的背景地圖(即GIS),因此,大數據最終需要展示于WebGIS 上。
前端通過服務器端應用,從數據庫取得數據后,將所有數據直接展示在地圖上,可能是無序繁雜的,需要根據數據的業務特征進行分類與整理,然后再按業務的合理性進行展示。因此,需要先定義數據格式,再進行數據拼裝,最后進行展示。
3.2.1 定義數據格式
在Web 端,JSON 是比較主流的交換數據格式,具體可自擬。
3.2.2 數據拼裝
傳遞來的數據,需要根據定義的格式進行拼裝,然后才能交付標準化的數據,如下示例。 });

3.2.3 數據展示
在完成數據的拼裝后,即可把標準化的數據作為數據源,賦予容器進行展示,如下示例。
var ws = new WebSocket(“警員實時位置信息服務數據源地址”);

大數據進行邏輯拼裝后,可以分類、聚合或指定條件在地圖上展示,即完成大數據在WebGIS 的初級功能。專題圖是GIS 的分析手段之一,因為圖表以比較直觀的方式展示數據的結構要素,與數字表格相比,不精準但直觀,所以專題圖在GIS 分析中經常采用,它提供給決策管理層很直觀的數據感受。項目使用的熱區專題圖,即根據大數據分析指定時段全區警力的部署、執行、圍欄狀況等。
熱區專題圖可聚合多種大數據,采用漸進的色帶來表現數據熱區情況,可以直觀展現空間數據的疏密程度或頻率高低。大數據拼裝、提取時,可依照小時、日、月、季等限制要素,然后根據數據情況在WebGIS 上實現熱區分析效果圖。
項目所涉及的大數據是人員的實時位置數據,需要模擬數據的移動情況,分析人員的警務活動情況,分析設定電子圍欄的安全性等。我們在開發工作中,需要獲取指定對象的位置數據,通過拼裝形成軌跡,然后把數據按照OpenLayers 的要求創建數據源,在地圖容器上疊加,并采用移動模擬方法進行模擬,從而實現人員移動的效果。
本文介紹了利用OpenLayers 技術方法實現大數據在輕量級WebGIS 上的展示與分析,包括數據的實時獲取、熱區分析和移動模擬等方面。目前市場上有不少WebGIS 類庫,可擴展實現數據豐富的可視化分析、大數據挖掘計算等。
數據展示是呈現大數據的基本要素,把數據用活是大數據最終存活深度的展現。每時每刻、日益增長的數據給了社會壓力,同樣也帶來無窮機遇,大數據研究已遍布多學科,作為應用的開發者,希望研究者有更多高效的算法、合理的模型能為開發所用,同時開發者也應把數據、服務呈現給社會。