李心愉,楊 恒
(山東省海河淮河小清河流域水利管理服務中心,山東 濟南 250100)
隨著我國水利水電技術的不斷發(fā)展,水利工程的數量和規(guī)模不斷擴大,工程項目中水利數據越來越多產生多維數據集合[1]。這些數據維度高、信息復雜,如何從高維水利數據中了解數據結構,并獲取有用的水利信息就成為當前解決的技術問題[2]。針對該問題,文獻[3]提出分層平行坐標可視化技術,用樹形結構展示高維數據幾何,雖然能夠更好地分析隱藏信息,但分層平行坐標可視化時間復雜度較高,數據處理效率低下,獲取有效數據能力滯后。文獻[4]應用維度重排算法,可以調整溫度間距,提高了可視化效果。但僅優(yōu)化了維度關系,沒有對高緯度數據集合進行處理。在數據處理時間時,無法實現高緯度信息降維處理。
針對上述技術的不足,本研究應用MulSim聚類算法實現水利多維數據信息的管理,該方法能夠根據水利信息的屬性值進行評估,將多維數據集劃分為多個簇。利用BIM技術建立多維水利信息可視化管理系統(tǒng),對水利工程各階段數據進行采集,并對多維數據進行可視化顯示,有利于直觀了解工程信息并方便管理。下文對該技術內容進行詳細描述。
為了提高水利信息管控能力,設計了一套可視化管控系統(tǒng),能夠對水利工程結構受到的水壓、水流流速、溫度、地基沉降等因素進行信息分析,應用可視化管理系統(tǒng)使管理人員可隨時對水利建筑結構、監(jiān)測器狀態(tài)、監(jiān)測數據等信息進行添加、查詢和修改??梢暬芾硐到y(tǒng)架構示意圖如圖1所示。
數據庫管理系統(tǒng)為目前主流的CS系統(tǒng)框架,可以在系統(tǒng)設計時在客戶端和服務器之間進行任務分配,更好地提供數據管理服務[6]。由于服務器運行數據的負擔較輕,再加上存儲管理功能透明,能夠實現客戶端和服務器間的快速有效響應,使系統(tǒng)任務分配均勻。數據庫管理系統(tǒng)以C#為主要編程語言,面向對象且運行于.NTE Framework之上,采用Microsoft Visual Studio 2013作為開發(fā)平臺[7]。數據庫服務器采用Microsoft SQL Server 2012,具有非過程化和統(tǒng)一化的命令集,能夠完成各類數據庫間信息的操作[12]。系統(tǒng)提出一種數據立方體結構Nanocubes,能夠有效降低數據占用的內存空間,對高維多粒度的水利數據進行高效的存儲和檢索,可以支持多維度的實時聚合分析。系統(tǒng)的可視化框架采用MVVM架構模式,通過Controller實現可視化相關視圖操作業(yè)務,視圖模型ViewModel可重用、獨立開發(fā)的特點,MVVM的視圖層包含數據綁定和事件的主動視圖層[8]。根據多維水利信息的不同功能,利用SQL技術對數據庫進行設計,其中用戶數據庫中主要用來存儲管理人員的賬號信息,權限級別和賬號可用狀態(tài)等信息,監(jiān)測數據主要用來存儲不同類型監(jiān)測器監(jiān)測到的水利信息,包括水溫、監(jiān)測時間、設備編號、參數值等[9]。在數據庫中選中編號可查看監(jiān)測數據參數,直觀顯示了水利數據的最大值、最小值,增加了水利信息峰值讀取和查詢的準確性。
圖1 水利信息管控系統(tǒng)架構示意圖
多維水利信息可視化管理系統(tǒng)幫助管理人員實現水利工程信息的實時、動態(tài)可視化管理,根據采集到的信息做出正確、合理的安排。將重復的監(jiān)測信息數據分析和處理工作簡單化,只需將監(jiān)測器采集到的水利數據傳輸到數據庫管理系統(tǒng),自動對各類水利信息進行整理和分類[10]。本研究系統(tǒng)的可視化控制單元使用STC89C51RC單片機作為控制模塊,外部集成無線傳輸模塊、電平轉換模塊和其他模塊,可視化控制單元結構如圖2所示。
圖2 可視化控制單元結構
可視化控制單元使用了12MHZ的無源晶振,兩個引腳與主控單元的XTAL1和XTAL2相連接,并在主控單元的下方連接一個30 pF的電容,用來消除電路工作時產生的諧波,提高控制單元的穩(wěn)定性。在REST引腳經過一個10 kΩ的下拉電阻接地,在電源與復位引腳之間串聯一個10μF的電容C1,電路開始工作時先給電容進行充電,充電完成后可以給REST引腳一個值為2μs的高電平,完成控制器初始化將寄存器清零。在控制單元的外圍電路中設置有2個SPI通信接口,接口1用來進行芯片的調試,藍牙模塊以T1CC2540/41芯片作為處理器。藍牙芯片的引腳1連接電源模塊,引腳2接地,將引腳3連接一個10kΩ的電阻,設置為復位端用來控制模塊的正常復位[11]。將通信端口21設定為控制單元芯片的串口發(fā)送引腳,并連接控制單元的RX4引腳,實現數據的傳輸和通信。主控制芯片的引腳連接無線傳輸模塊和串口模塊后,可以控制GSM模塊和功能按鍵模塊實現并聯。在可視化控制單元的控制下,在主控制芯片和觸控屏之間設置一個中間層,在中間層內設定一個串行通信模塊,主控制芯片的串口0連接一個5 V的TLL電平微控制器,在顯示模塊的RS-232接口連接串行通信辦卡的串口1。板卡電路的電源電壓為3.3 V,顯示模塊的接口連接轉換芯片的串口實現可視化控制單元的電平轉換[12]。
在可視化控制單元硬件電路結構和監(jiān)測器設備的支持下,采集到多利工程的多維數據,對應整合處理為3個維度的數據集合,數據集合可表示為:
(3)
其中X、Y、Z表示水利工程信息的維度。隨著水利工程的不斷建設發(fā)展,水利多維信息不斷變化,更新處理多維數據,再進行平滑處理,可表示為:
(4)
其中Pd表示多維數據的濾波數值,i表水利工程數據鄰域的更新參數。同步該濾波數據后,根據多維水利數據的時間狀態(tài),離散控制得到平滑數據,可表示為:
(5)
其中xk+1表示k+1時刻多維水利數據的狀態(tài)參數,FK+1表示多維水利數據的變換矩陣,Bk+1表示控制輸入的水利數據[13]。使用濾波迭代處理離散過程,計算多維水利數據的增益,可表示為:
(6)
其中Hk+1表示示k+1時刻多維水利數據的狀態(tài)量,H′表示狀態(tài)量的測量值,R表示濾波偏差。
以增益作為多維水利數據的轉換量,以該轉換值作為多維數據的標準變化區(qū)間,實現水利工程中不同維度數據的相互轉換。使用可視化控制單元和數據管理系統(tǒng),實現多維水利信息的可視化和數據管理。
基于上述技術的不足,為了能夠在多維數據集中的情況下識別出形狀、密度、大小不同的簇,本研究提出了MulSim聚類算法。聚類過程將多維水利數據集的點進行分組,簇內的點盡可能相似,簇與簇之間的點盡可能區(qū)分開,本研究相似度函數自動適應數據集密度變化[14]。設定x1,x2,…,xn表示多維水利數據集中的n個點,對于數據集中任意點xi,最相似的k個點被稱為xi的k最近鄰,表示為Nk(xi),Nk(xi)?。
給定數據集中兩個點xi和xj,當xi∈Nk(xi)且xj∈Nk(xi)時,xi和xj為互k最近鄰,點xi的互k最近鄰的集合為MkNN(xi)。對于數據點a、b,根據歐式距離獲取兩個點所有的kNN,并根據距離進行排序,得到兩個點的排序位置,定義兩點的相似性度量,可表示為:
biggerk(a,b)=bigger(oa(b),ob(a))
(1)
其中oa(b)表示b在a序列中的位置,ob(a)表示a在b序列中的位置,biggerk(a,b)的值為兩個位置中較大的值[15]。兩點之間biggerk(a,b)較小說明a是b的較近鄰值,并且b也是a的較近鄰值。
為了構件簇結構,引入閾值k,也是多維水利數據中每個數據點的kNN個數[16]。對于數據集中的兩個點xi和xj,如果兩個點相似,則biggerk(xi,xj)≤k。只有一個點與點xi相似時,且點xi的一個或多個個kNN點相似,才將這兩個點放置在一個簇中。當數據點xi的MkNN和xj的MkNN的交集中點數大于給定數量時,才能將點xi和xj放置在同一個簇中[17]。如果點xi和xj中一個互k最近鄰,xi和xj相似且同時與xi的m個最近鄰相似,則:
|MkNN(xi)∩MkNN(xj)|≥m
(2)
其中k表示bigger的閾值,m表示聚類時需要xi的最近鄰的數量,MkNN(xi)表示xi的互k最近鄰,MkNN(xj)表示xj的互k最近鄰[18]。多維水利數據聚類過程如表1所示。
表1 多維水利數據聚類過程
多維水利數據集中一個數據點與另一個相似,同時也與這個點的多個相鄰點相似,根據相似度函數將這兩個點分配到同一個簇中,并且在聚類的過程中能夠自動適應數據集密度的變化。
為驗證本研究多維水利信息可視化管理系統(tǒng)的性能,分別使用文獻[3]系統(tǒng)、文獻[4]系統(tǒng)和本研究系統(tǒng)進行實驗,對比三種系統(tǒng)的聚類效果和可視化時間。本研究實驗利用VC編輯軟件和OPENGL數據庫,將OPENGL和可視化仿真結合,以多維水利數據為依據,依靠系統(tǒng)的數據處理能力和圖形處理能力,對多維水利工程信息進行處理和可視化分析。實驗環(huán)境如圖3所示。
圖3 實驗環(huán)境
實驗環(huán)境配置如表2所示。
表2 實驗環(huán)境配置
在淮河流域中隨機選擇一處水域環(huán)境作為實驗對象,實驗水域環(huán)境如圖4所示。
圖4 實驗水域環(huán)境
在實驗水域環(huán)境中隨機分布6個采集點,采集水利數據,經過系統(tǒng)處理分析后得到采集點的水利數據如表3所示。
表3 采集點水利數據
以表3中采集點的水利數據為實驗樣本數據,使用三種系統(tǒng)對實驗數據進行聚類分析,得到的聚類結果如圖5所示。
圖5 聚類結果
觀察三種系統(tǒng)的聚類結果可知,本研究系統(tǒng)的多維數據聚類算法對采集點水利數據的聚類效果最好,聚類得到簇的個數最多,并且檢測到的異常數據點的個數最多。本研究系統(tǒng)能夠根據不同閾值有效地處理異常點,閾值越大檢測出的異常點的個數越多。其中對采集點4數據集進行聚類得到簇的個數最多達到13個,檢測到的異常點個數為220個。
文獻[3]系統(tǒng)對采集點3數據集進行處理,將數據集3最多分為9個簇,對采集點1進行聚類得到簇的個數最小僅為4個。檢測到采集點4中數據的異常點個數最多,最高達到148個,對采集點5的水利數據檢測到的異常點個數最少為72個。文獻[4]對多維水利數據的聚類效果不好,得到簇的個數和檢測到異常數據點的個數不多,文獻[4]在對采集點2和采集點5中的數據進行聚類時得到簇的個數與文獻[3]系統(tǒng)一樣。對實驗樣本處理后得到簇的個數最多為8個,檢測到的異常點數最多為135,最低為76個。
使用三種系統(tǒng)的可視化開發(fā)工具對采集到的多維水利數據進行可視化處理,在表2所示的相同的實驗環(huán)境下,統(tǒng)計三種系統(tǒng)的數據可視化時間,可視化結果如圖6所示。
圖6 可視化結果
根據采集點的可視化時間變化可知,在相同的操作環(huán)境下三種系統(tǒng)對同一采集點數據集的可視化時間不同。本研究可視化管理系統(tǒng)對多維數據的可視化時間最短,6個采集點水利數據的平均可視化時間為42 ms。其中對采集點2的水利數據可視化時間最大為57 ms,采集點5的水利數據可視化時間最小為20 ms。文獻[3]系統(tǒng)的平均可視化時間為75.8 ms,文獻[4]系統(tǒng)的平均可視化時間為93.2 ms。文獻[3]系統(tǒng)和文獻[4]系統(tǒng)對6個采集點數據的可視化時間都大于本研究可視化時間,且都在60 ms以上。
分析水利數據特點,建立多維水利信息可視化管理系統(tǒng),實現了多維水利數據的可視化表達,提高了信息管理效率,并降低了運營管理成本。提出了MulSim聚類算法, 單個點與多個點相似的聚類策略,具有更強的限制條件,能夠檢測出不同的簇數據結構。并引入合適的閾值k,且點xi的一個或多個kNN點相似,才將這兩個點放置在一個簇中。使用STC89C51RC單片機設計可視化控制單元,并加入無源晶振和起振電容,消除電路工作時的諧波,并將采集到的多維水利數據整合為三個維度的數據集合。
本研究仍存在一些不足還需改進,由于監(jiān)測器采集到水利數據量過大,將監(jiān)測數據批量錄入數據庫管理系統(tǒng)的速度較慢,還需進行優(yōu)化。