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