李 超 于運淥 雷振伍 孫德輝 鄧小寶
(北方工業(yè)大學現(xiàn)場總線技術與自動化北京市重點實驗室 北京 100144)
公共安全是國家和社會穩(wěn)定發(fā)展的基礎條件,近年來,我國面臨的公共安全事件挑戰(zhàn)日趨嚴峻,嚴重威脅人民的生命和財產安全[1]。對公共安全數(shù)據(jù)進行有效的監(jiān)測和分析,有利于實現(xiàn)對公共安全事件進一步的決策和防護,對降低國家和社會危害尤為重要[2]。
在“互聯(lián)網(wǎng)+大數(shù)據(jù)”時代,公共安全數(shù)據(jù)呈現(xiàn)出多源異構、數(shù)據(jù)價值密度低等特點[3]?,F(xiàn)階段對公共安全數(shù)據(jù)可視化的研究潛能挖掘不夠[4],現(xiàn)有的GIS可視化的形式大多是特定研究方向的信息靜態(tài)展示[5],難以根據(jù)管理人員實際需求得到有效數(shù)據(jù)信息。而在數(shù)據(jù)索引方面,普遍采用基于數(shù)據(jù)表格的索引機制,缺少基于GIS和表格動態(tài)交互的數(shù)據(jù)索引,難以滿足公共安全領域對于數(shù)據(jù)管理效率的需求。
本文依據(jù)實驗室承擔的科技部重點研發(fā)計劃“國家公共安全應急平臺”所含專題“社會公共安全風險數(shù)據(jù)管理技術研究”的需求,構建基于GIS的公共安全數(shù)據(jù)可視化管理平臺,將可視化技術應用于公共安全領域,把包含復雜事件信息的公共安全數(shù)據(jù)轉變成易于理解的視覺圖像,并結合GIS呈現(xiàn)數(shù)據(jù)的空間信息,形成公共安全數(shù)據(jù)展示和查詢的信息目錄,以動態(tài)標簽的形式對單個數(shù)據(jù)點的綜合信息進行彈窗顯示,可通過點擊地圖數(shù)據(jù)點標記對應的表格數(shù)據(jù),同時可以選擇表格中數(shù)據(jù)定位到地圖中的數(shù)據(jù)點,實現(xiàn)公共安全數(shù)據(jù)的動態(tài)交互,從而針對公共安全事件實現(xiàn)更清晰的視覺判斷和更嚴謹?shù)臎Q策分析[6],并以地震事件數(shù)據(jù)為例進行實踐驗證。
本文將基于GIS的公共安全數(shù)據(jù)可視化管理平臺部署于HP Gen8服務器上,整體采用B/S(瀏覽器/服務器)架構[7]??赏ㄟ^前端瀏覽器展示公共安全數(shù)據(jù),從而對其進行圖形化顯示、彈窗顯示及信息檢索的有效管理,便于進一步分析和決策。平臺架構圖如圖1所示,主要分為以下四層。
圖1 平臺架構圖
(1) 數(shù)據(jù)支撐層:以HBase非關系型數(shù)據(jù)庫作為原始數(shù)據(jù)庫,用于存儲從互聯(lián)網(wǎng)得到的多源異構公共安全數(shù)據(jù);以MySQL關系型數(shù)據(jù)庫作為空間數(shù)據(jù)庫,用于存儲關系型空間數(shù)據(jù),空間數(shù)據(jù)經ArcMap處理形成統(tǒng)一坐標格式的地理信息數(shù)據(jù),以供發(fā)布地圖服務;以Geodatabase數(shù)據(jù)庫作為地理數(shù)據(jù)庫,用于存儲地圖要素等服務類可視化數(shù)據(jù),為數(shù)據(jù)專題圖可視化、模型分析等提供支持和保障。
(2) 中間支撐層:通過ArcGIS for Desktop完成數(shù)據(jù)的處理與轉換,結合ArcGIS Server地圖服務器,實現(xiàn)將數(shù)據(jù)發(fā)布成地圖服務的功能[8],通過ArcGIS API for JavaScript調用REST URL[9],完成在前端瀏覽器展示數(shù)據(jù)與地圖間的交互,從而實現(xiàn)數(shù)據(jù)的顯示、查詢、分析等功能。
(3) 模型層:該層實現(xiàn)可視化過程中的相關模型建立,通過映射關系模型可實現(xiàn)數(shù)據(jù)到GIS的映射,達到預期的可視化效果;通過建立可編輯也可重復的GP模型,可實現(xiàn)批量處理復雜GIS任務的功能;通過渲染模型實現(xiàn)對可視化數(shù)據(jù)的唯一值渲染、分級渲染,加強數(shù)據(jù)的GIS可視化效果。
(4) 可視化層:該層主要通過瀏覽器實現(xiàn)可視化結果的展示。主要包括地圖與表格間公共安全數(shù)據(jù)的信息交互、GIS專題地圖的展示、地圖的基本操作、數(shù)據(jù)的索引管理及數(shù)據(jù)分析。
基于公共安全數(shù)據(jù)的特性,以地震事件的震級作為關鍵參數(shù)表示其風險等級,進行基于GIS的公共安全數(shù)據(jù)可視化管理研究的實踐驗證。
實驗中的原始數(shù)據(jù)是從國家地震科學數(shù)據(jù)中心加載的實際中國歷史地震數(shù)據(jù),以中國地圖邊界范圍(中國經度范圍:73°33′E至135°05′E,緯度范圍:3°51′N至53°33′N)為參考限制,設置東經72°至136°,北緯3°至54°,截取自2017年以來中國所有的地震數(shù)據(jù),不限震級,得到了近5萬條xls格式類型的數(shù)據(jù)。原始數(shù)據(jù)樣例如圖2所示。
圖2 原始數(shù)據(jù)樣例
原始數(shù)據(jù)無法直接應用于可視化,需要進行相應的數(shù)據(jù)轉換。本文中的地圖數(shù)據(jù)基于的坐標系是GCS_WGS_1984,屬于地心坐標系,坐標原點位置設在地球質心[10],因此需結合ArcCataLog以及ArcMap將得到的原始數(shù)據(jù)轉換為相同坐標系的地理信息數(shù)據(jù)。
為了減少坐標系轉換中常見的錯誤發(fā)生,首先需要將xls數(shù)據(jù)類型轉換為csv格式,其次在坐標系轉換過程中X、Y坐標系不識別“度分秒”形式的經緯度信息,所以需要通過轉換將“度分秒”轉換為小數(shù)點形式。經度轉換方法如下:
D=SUBSTITUTE(SUBSTITUTE(LEFT(C5,LEN(C5)-1),"°",":"),"′",":")*24
緯度轉換方法如下:
F=SUBSTITUTE(SUBSTITUTE(LEFT(E5,LEN(E5)-1),"°",":"),"′",":")*24
其中:C為轉換前經度所在列,D為轉換后經度所在列。E為轉換前緯度所在列,F(xiàn)為轉換后緯度所在列。
最終將數(shù)據(jù)處理得到shp格式的地圖數(shù)據(jù),可發(fā)布地圖要素類數(shù)據(jù)服務。本文通過使用ArcGIS提供的Geodatabase數(shù)據(jù)庫來存儲地理空間數(shù)據(jù),該數(shù)據(jù)庫部署于HP Gen8系統(tǒng)服務器,具有處理數(shù)據(jù)速度快、安全性相對較高的優(yōu)點[11],因此通過Web服務器進行數(shù)據(jù)可視化展示的速率能夠得到保障。
可視化的實現(xiàn)主要依賴于ESRI公司提供的ArcGIS平臺[12],首先通過ArcMap對數(shù)據(jù)進行處理和轉換,然后結合ArcGIS Server對數(shù)據(jù)進行地圖服務的發(fā)布,通過調用ArcGIS API for JavaScript地圖服務接口和JSAPI庫功能組件進行專題圖的制作。在制作中國地圖的靜態(tài)唯一值專題圖后,將地震數(shù)據(jù)以震級為依據(jù)制作動態(tài)分級專題圖,之后實現(xiàn)靜態(tài)地圖和動態(tài)地圖的融合,通過Web界面以動態(tài)形式綜合展示地震數(shù)據(jù)的所有信息。可視化實現(xiàn)流程如圖3所示。
圖3 可視化實現(xiàn)流程
在實現(xiàn)地震數(shù)據(jù)可視化的過程中,功能模塊的設計是至關重要的環(huán)節(jié),本文構建的可視化功能模塊如圖4所示,包括功能調用模塊、圖層分析模塊、模型渲染模塊、地圖操作模塊和索引查詢模塊。
圖4 可視化功能模塊
功能調用模塊:該模塊主要引入API庫中提供的相關功能,通過require指令獲取所需要的功能模塊,生成每個功能模塊的函數(shù),實現(xiàn)可視化功能。
圖層分析模塊:該模塊主要功能是對圖層信息進行區(qū)分。圖層屬性包括最基本的點要素、線要素、面要素以及其他復雜的圖形要素等,通過對不同的要素進行分析,選擇相應的處理方式,為最終實現(xiàn)數(shù)據(jù)的可視化做好鋪墊,同時也可對圖層進行相應的功能設計,如圖層彈窗設計、圖層標注設計等。
模型渲染模塊:該模塊主要作用是利用唯一值渲染、分級渲染、熱力圖渲染等方式,對已分析完成的圖層屬性信息進行加工裝飾,實現(xiàn)可視化的展示功能。
地圖操作模塊:該模塊通過添加地圖小部件實現(xiàn)在可視化界面上的相關操作功能,如平移、縮放、底圖切換、測距等,也可通過添加圖例、標簽等增加可視化界面的豐富度。
索引查詢模塊:該模塊通過定義數(shù)據(jù)字段屬性,索引地圖上所有數(shù)據(jù)的信息,從而對所查詢內容進行精確定位查找以及范圍搜索,便于實現(xiàn)進一步的分析與決策。
空間數(shù)據(jù)發(fā)布成地圖服務是對空間數(shù)據(jù)進行處理的一種形式。通過ArcGIS Server提供的地圖服務接口,可以在ArcGIS API for JavaScript中調用地圖服務,實現(xiàn)對公共安全數(shù)據(jù)的可視化展示及空間分析。地圖服務發(fā)布過程為:首先在ArcMap中加載shp格式地圖數(shù)據(jù),選擇將數(shù)據(jù)發(fā)布為地圖服務,并連接到預先建立的ArcGIS Server Manager站點。在對發(fā)布服務的名稱及位置進行設置后,根據(jù)用戶需求,可以對服務進行相應的參數(shù)設置,如服務器最大返回的數(shù)據(jù)數(shù)量、服務類型、功能選擇等,最后進行服務分析,完成地圖服務的發(fā)布。
底圖加載是實現(xiàn)數(shù)據(jù)可視化管理的基礎條件。地圖的放大、縮小、平移等操作功能以及鷹眼圖、精確查詢等顯示功能都依賴于底圖,ArcGIS API接口提供了多樣化的底圖以供加載,包括streets、satellite、oceans等。由于ArcGIS官方提供給開發(fā)者的底圖主要為英文地圖,難以滿足本文可視化需求,因此通過調用服務加載中文版的世界地圖作為底圖,并設置中國地圖為Web界面的顯示中心。
中國地圖唯一值專題圖通過ArcGIS API for Java-Script調用中國地圖靜態(tài)切片服務實現(xiàn)。通過 SimpleFillSymbol函數(shù)定義渲染圖層為面要素,通過Unique ValueRenderer函數(shù)定義渲染模型為唯一值模式,并在渲染模型中將省份字段信息“province”定義為顏色渲染對象,實現(xiàn)對中國34個省級行政區(qū)的唯一值可視化。
地震分級圖通過ArcGIS API for JavaScript調用地震數(shù)據(jù)動態(tài)服務實現(xiàn)。通過SimpleMarkerSymbol函數(shù)定義渲染圖層為點要素,通過ClassBreaksRenderer函數(shù)完成分級渲染的模式定義,將渲染對象定義為數(shù)據(jù)字段信息中的“震級M”,實現(xiàn)對地震數(shù)據(jù)的分級可視化,并通過InfoTemplate函數(shù)實現(xiàn)綜合信息動態(tài)彈窗功能,同時可根據(jù)需求設置要顯示的字段信息。
數(shù)據(jù)索引管理的實現(xiàn)是在基于GIS可視化的基礎上,利用FeatureTable函數(shù)對要素表格進行設計,通過調用Query、QueryTask、Graphic等函數(shù),設計實現(xiàn)基于地圖及表格的地震數(shù)據(jù)查詢功能,并通過syncSelection、showAttachments、showRelatedRecords等功能組件對索引界面進行數(shù)據(jù)動態(tài)交互設計。
由于本文所研究數(shù)據(jù)的經緯度截取范圍是以中國邊界最大值為限值,所得地震數(shù)據(jù)包含了部分中國邊境的數(shù)據(jù),所以研究中加載的底圖是將中國定為中心的世界地圖。為了更好地體現(xiàn)數(shù)據(jù)的空間性,加強可視化效果,本文以34個省級行政區(qū)為單位進行模型渲染,制作中國地圖唯一值專題圖。
地震數(shù)據(jù)包含時間、空間、震級、深度等屬性信息,這些信息中震級是表征地震強弱的量度,是劃分震源放出的能量大小的等級,震級象征公共安全事件中的風險等級,以此字段信息作為數(shù)據(jù)劃分的標準更能突出數(shù)據(jù)的分布特點,便于進行分類查詢。地震震級劃分標準如表1所示。
表1 地震震級劃分標準
本文嚴格按照地震震級劃分標準實現(xiàn)地震數(shù)據(jù)的分級可視化,將每一條地震數(shù)據(jù)以點要素的形式展示在地圖界面。以空間信息字段作為依據(jù),實現(xiàn)點要素在地圖上的定位。以震級作為點要素所代表的數(shù)據(jù)字段信息,以不同顏色區(qū)分不同的震級,在地圖上以點密度圖形式呈現(xiàn)。通過彈窗形式對數(shù)據(jù)的所有字段信息進行綜合展示,實現(xiàn)直觀清晰查看每一條數(shù)據(jù)的時間、空間等信息的功能。地震數(shù)據(jù)分級圖如圖5所示。
圖5 地震數(shù)據(jù)分級圖
為了更好地突出空間感,加強空間屬性的可視化效果,本文設計實現(xiàn)了基于中國地圖唯一值專題圖和分級專題圖的疊加展示,將中國地圖靜態(tài)服務與地震數(shù)據(jù)動態(tài)服務進行了有效結合,實現(xiàn)了疊加專題圖的展示。疊加專題圖如圖6所示。
圖6 疊加專題圖
在疊加專題圖界面,可通過常規(guī)地圖操作進行縮放、平移,對地圖數(shù)據(jù)進行詳細查看,也可在彈窗界面通過“縮放至”按鈕直接跳轉到當前區(qū)域進行精確查看。地圖縮放圖如圖7所示。
圖7 地圖縮放圖
在可視化頁面可通過設置震級條件實現(xiàn)對應震級的數(shù)據(jù)索引。通過條件篩選,在可視化頁面及數(shù)據(jù)屬性圖表中只顯示要查詢的數(shù)據(jù)。同時可視化頁面與數(shù)據(jù)屬性圖表之間可以進行交互,在一方選擇任意數(shù)據(jù),另一方都可以跳轉到當前所選數(shù)據(jù)。“清除條件”按鈕可以實現(xiàn)清空所設置查詢條件、顯示所有數(shù)據(jù)信息的功能。數(shù)據(jù)索引初始界面如圖8所示。
圖8 數(shù)據(jù)索引初始界面
當設置震級條件為4.5級以上時,表格數(shù)據(jù)數(shù)量從48 606條下降到922條,同時在地圖上過濾掉震級為4.5級以下的數(shù)據(jù)點,清晰可見近3年全國發(fā)生的地震強度在中強震以上的地震比例相對比較少,而且震源基本位于中國的西部和南部,由此可以直觀查看數(shù)據(jù)的綜合信息,從而對事件進行有效的分析。條件設定索引界面如圖9所示。
圖9 條件設定索引界面
本文以公共安全為研究主題進行數(shù)據(jù)的可視化管理研究,基于地震事件數(shù)據(jù)進行了成果的驗證。以疊加專題圖、點密度圖的形式有效突出數(shù)據(jù)的關鍵屬性,同時基于圖表和地圖建立數(shù)據(jù)索引機制,形成動態(tài)的交互效果,構建了一個能更直觀有效對事件進行展示、查詢和分析的可視化管理平臺。結果表明,該可視化平臺改變了傳統(tǒng)的柵欄數(shù)據(jù)表現(xiàn)形式,突破了基于GIS的數(shù)據(jù)靜態(tài)可視化表達方式的局限,以動態(tài)的空間形式呈現(xiàn),并且滿足政府相關主管部門對公共安全事件數(shù)據(jù)的索引需求,對公共安全領域的數(shù)據(jù)研究具有一定參考價值。