李 超 于運淥 雷振伍 孫德輝 鄧小寶
(北方工業大學現場總線技術與自動化北京市重點實驗室 北京 100144)
公共安全是國家和社會穩定發展的基礎條件,近年來,我國面臨的公共安全事件挑戰日趨嚴峻,嚴重威脅人民的生命和財產安全[1]。對公共安全數據進行有效的監測和分析,有利于實現對公共安全事件進一步的決策和防護,對降低國家和社會危害尤為重要[2]。
在“互聯網+大數據”時代,公共安全數據呈現出多源異構、數據價值密度低等特點[3]。現階段對公共安全數據可視化的研究潛能挖掘不夠[4],現有的GIS可視化的形式大多是特定研究方向的信息靜態展示[5],難以根據管理人員實際需求得到有效數據信息。而在數據索引方面,普遍采用基于數據表格的索引機制,缺少基于GIS和表格動態交互的數據索引,難以滿足公共安全領域對于數據管理效率的需求。
本文依據實驗室承擔的科技部重點研發計劃“國家公共安全應急平臺”所含專題“社會公共安全風險數據管理技術研究”的需求,構建基于GIS的公共安全數據可視化管理平臺,將可視化技術應用于公共安全領域,把包含復雜事件信息的公共安全數據轉變成易于理解的視覺圖像,并結合GIS呈現數據的空間信息,形成公共安全數據展示和查詢的信息目錄,以動態標簽的形式對單個數據點的綜合信息進行彈窗顯示,可通過點擊地圖數據點標記對應的表格數據,同時可以選擇表格中數據定位到地圖中的數據點,實現公共安全數據的動態交互,從而針對公共安全事件實現更清晰的視覺判斷和更嚴謹的決策分析[6],并以地震事件數據為例進行實踐驗證。
本文將基于GIS的公共安全數據可視化管理平臺部署于HP Gen8服務器上,整體采用B/S(瀏覽器/服務器)架構[7]。可通過前端瀏覽器展示公共安全數據,從而對其進行圖形化顯示、彈窗顯示及信息檢索的有效管理,便于進一步分析和決策。平臺架構圖如圖1所示,主要分為以下四層。

圖1 平臺架構圖
(1) 數據支撐層:以HBase非關系型數據庫作為原始數據庫,用于存儲從互聯網得到的多源異構公共安全數據;以MySQL關系型數據庫作為空間數據庫,用于存儲關系型空間數據,空間數據經ArcMap處理形成統一坐標格式的地理信息數據,以供發布地圖服務;以Geodatabase數據庫作為地理數據庫,用于存儲地圖要素等服務類可視化數據,為數據專題圖可視化、模型分析等提供支持和保障。
(2) 中間支撐層:通過ArcGIS for Desktop完成數據的處理與轉換,結合ArcGIS Server地圖服務器,實現將數據發布成地圖服務的功能[8],通過ArcGIS API for JavaScript調用REST URL[9],完成在前端瀏覽器展示數據與地圖間的交互,從而實現數據的顯示、查詢、分析等功能。
(3) 模型層:該層實現可視化過程中的相關模型建立,通過映射關系模型可實現數據到GIS的映射,達到預期的可視化效果;通過建立可編輯也可重復的GP模型,可實現批量處理復雜GIS任務的功能;通過渲染模型實現對可視化數據的唯一值渲染、分級渲染,加強數據的GIS可視化效果。
(4) 可視化層:該層主要通過瀏覽器實現可視化結果的展示。主要包括地圖與表格間公共安全數據的信息交互、GIS專題地圖的展示、地圖的基本操作、數據的索引管理及數據分析。
基于公共安全數據的特性,以地震事件的震級作為關鍵參數表示其風險等級,進行基于GIS的公共安全數據可視化管理研究的實踐驗證。
實驗中的原始數據是從國家地震科學數據中心加載的實際中國歷史地震數據,以中國地圖邊界范圍(中國經度范圍:73°33′E至135°05′E,緯度范圍:3°51′N至53°33′N)為參考限制,設置東經72°至136°,北緯3°至54°,截取自2017年以來中國所有的地震數據,不限震級,得到了近5萬條xls格式類型的數據。原始數據樣例如圖2所示。

圖2 原始數據樣例
原始數據無法直接應用于可視化,需要進行相應的數據轉換。本文中的地圖數據基于的坐標系是GCS_WGS_1984,屬于地心坐標系,坐標原點位置設在地球質心[10],因此需結合ArcCataLog以及ArcMap將得到的原始數據轉換為相同坐標系的地理信息數據。
為了減少坐標系轉換中常見的錯誤發生,首先需要將xls數據類型轉換為csv格式,其次在坐標系轉換過程中X、Y坐標系不識別“度分秒”形式的經緯度信息,所以需要通過轉換將“度分秒”轉換為小數點形式。經度轉換方法如下:
D=SUBSTITUTE(SUBSTITUTE(LEFT(C5,LEN(C5)-1),"°",":"),"′",":")*24
緯度轉換方法如下:
F=SUBSTITUTE(SUBSTITUTE(LEFT(E5,LEN(E5)-1),"°",":"),"′",":")*24
其中:C為轉換前經度所在列,D為轉換后經度所在列。E為轉換前緯度所在列,F為轉換后緯度所在列。
最終將數據處理得到shp格式的地圖數據,可發布地圖要素類數據服務。本文通過使用ArcGIS提供的Geodatabase數據庫來存儲地理空間數據,該數據庫部署于HP Gen8系統服務器,具有處理數據速度快、安全性相對較高的優點[11],因此通過Web服務器進行數據可視化展示的速率能夠得到保障。
可視化的實現主要依賴于ESRI公司提供的ArcGIS平臺[12],首先通過ArcMap對數據進行處理和轉換,然后結合ArcGIS Server對數據進行地圖服務的發布,通過調用ArcGIS API for JavaScript地圖服務接口和JSAPI庫功能組件進行專題圖的制作。在制作中國地圖的靜態唯一值專題圖后,將地震數據以震級為依據制作動態分級專題圖,之后實現靜態地圖和動態地圖的融合,通過Web界面以動態形式綜合展示地震數據的所有信息。可視化實現流程如圖3所示。

圖3 可視化實現流程
在實現地震數據可視化的過程中,功能模塊的設計是至關重要的環節,本文構建的可視化功能模塊如圖4所示,包括功能調用模塊、圖層分析模塊、模型渲染模塊、地圖操作模塊和索引查詢模塊。

圖4 可視化功能模塊
功能調用模塊:該模塊主要引入API庫中提供的相關功能,通過require指令獲取所需要的功能模塊,生成每個功能模塊的函數,實現可視化功能。
圖層分析模塊:該模塊主要功能是對圖層信息進行區分。圖層屬性包括最基本的點要素、線要素、面要素以及其他復雜的圖形要素等,通過對不同的要素進行分析,選擇相應的處理方式,為最終實現數據的可視化做好鋪墊,同時也可對圖層進行相應的功能設計,如圖層彈窗設計、圖層標注設計等。
模型渲染模塊:該模塊主要作用是利用唯一值渲染、分級渲染、熱力圖渲染等方式,對已分析完成的圖層屬性信息進行加工裝飾,實現可視化的展示功能。
地圖操作模塊:該模塊通過添加地圖小部件實現在可視化界面上的相關操作功能,如平移、縮放、底圖切換、測距等,也可通過添加圖例、標簽等增加可視化界面的豐富度。
索引查詢模塊:該模塊通過定義數據字段屬性,索引地圖上所有數據的信息,從而對所查詢內容進行精確定位查找以及范圍搜索,便于實現進一步的分析與決策。
空間數據發布成地圖服務是對空間數據進行處理的一種形式。通過ArcGIS Server提供的地圖服務接口,可以在ArcGIS API for JavaScript中調用地圖服務,實現對公共安全數據的可視化展示及空間分析。地圖服務發布過程為:首先在ArcMap中加載shp格式地圖數據,選擇將數據發布為地圖服務,并連接到預先建立的ArcGIS Server Manager站點。在對發布服務的名稱及位置進行設置后,根據用戶需求,可以對服務進行相應的參數設置,如服務器最大返回的數據數量、服務類型、功能選擇等,最后進行服務分析,完成地圖服務的發布。
底圖加載是實現數據可視化管理的基礎條件。地圖的放大、縮小、平移等操作功能以及鷹眼圖、精確查詢等顯示功能都依賴于底圖,ArcGIS API接口提供了多樣化的底圖以供加載,包括streets、satellite、oceans等。由于ArcGIS官方提供給開發者的底圖主要為英文地圖,難以滿足本文可視化需求,因此通過調用服務加載中文版的世界地圖作為底圖,并設置中國地圖為Web界面的顯示中心。
中國地圖唯一值專題圖通過ArcGIS API for Java-Script調用中國地圖靜態切片服務實現。通過 SimpleFillSymbol函數定義渲染圖層為面要素,通過Unique ValueRenderer函數定義渲染模型為唯一值模式,并在渲染模型中將省份字段信息“province”定義為顏色渲染對象,實現對中國34個省級行政區的唯一值可視化。
地震分級圖通過ArcGIS API for JavaScript調用地震數據動態服務實現。通過SimpleMarkerSymbol函數定義渲染圖層為點要素,通過ClassBreaksRenderer函數完成分級渲染的模式定義,將渲染對象定義為數據字段信息中的“震級M”,實現對地震數據的分級可視化,并通過InfoTemplate函數實現綜合信息動態彈窗功能,同時可根據需求設置要顯示的字段信息。
數據索引管理的實現是在基于GIS可視化的基礎上,利用FeatureTable函數對要素表格進行設計,通過調用Query、QueryTask、Graphic等函數,設計實現基于地圖及表格的地震數據查詢功能,并通過syncSelection、showAttachments、showRelatedRecords等功能組件對索引界面進行數據動態交互設計。
由于本文所研究數據的經緯度截取范圍是以中國邊界最大值為限值,所得地震數據包含了部分中國邊境的數據,所以研究中加載的底圖是將中國定為中心的世界地圖。為了更好地體現數據的空間性,加強可視化效果,本文以34個省級行政區為單位進行模型渲染,制作中國地圖唯一值專題圖。
地震數據包含時間、空間、震級、深度等屬性信息,這些信息中震級是表征地震強弱的量度,是劃分震源放出的能量大小的等級,震級象征公共安全事件中的風險等級,以此字段信息作為數據劃分的標準更能突出數據的分布特點,便于進行分類查詢。地震震級劃分標準如表1所示。

表1 地震震級劃分標準
本文嚴格按照地震震級劃分標準實現地震數據的分級可視化,將每一條地震數據以點要素的形式展示在地圖界面。以空間信息字段作為依據,實現點要素在地圖上的定位。以震級作為點要素所代表的數據字段信息,以不同顏色區分不同的震級,在地圖上以點密度圖形式呈現。通過彈窗形式對數據的所有字段信息進行綜合展示,實現直觀清晰查看每一條數據的時間、空間等信息的功能。地震數據分級圖如圖5所示。

圖5 地震數據分級圖
為了更好地突出空間感,加強空間屬性的可視化效果,本文設計實現了基于中國地圖唯一值專題圖和分級專題圖的疊加展示,將中國地圖靜態服務與地震數據動態服務進行了有效結合,實現了疊加專題圖的展示。疊加專題圖如圖6所示。

圖6 疊加專題圖
在疊加專題圖界面,可通過常規地圖操作進行縮放、平移,對地圖數據進行詳細查看,也可在彈窗界面通過“縮放至”按鈕直接跳轉到當前區域進行精確查看。地圖縮放圖如圖7所示。

圖7 地圖縮放圖
在可視化頁面可通過設置震級條件實現對應震級的數據索引。通過條件篩選,在可視化頁面及數據屬性圖表中只顯示要查詢的數據。同時可視化頁面與數據屬性圖表之間可以進行交互,在一方選擇任意數據,另一方都可以跳轉到當前所選數據。“清除條件”按鈕可以實現清空所設置查詢條件、顯示所有數據信息的功能。數據索引初始界面如圖8所示。

圖8 數據索引初始界面
當設置震級條件為4.5級以上時,表格數據數量從48 606條下降到922條,同時在地圖上過濾掉震級為4.5級以下的數據點,清晰可見近3年全國發生的地震強度在中強震以上的地震比例相對比較少,而且震源基本位于中國的西部和南部,由此可以直觀查看數據的綜合信息,從而對事件進行有效的分析。條件設定索引界面如圖9所示。

圖9 條件設定索引界面
本文以公共安全為研究主題進行數據的可視化管理研究,基于地震事件數據進行了成果的驗證。以疊加專題圖、點密度圖的形式有效突出數據的關鍵屬性,同時基于圖表和地圖建立數據索引機制,形成動態的交互效果,構建了一個能更直觀有效對事件進行展示、查詢和分析的可視化管理平臺。結果表明,該可視化平臺改變了傳統的柵欄數據表現形式,突破了基于GIS的數據靜態可視化表達方式的局限,以動態的空間形式呈現,并且滿足政府相關主管部門對公共安全事件數據的索引需求,對公共安全領域的數據研究具有一定參考價值。