鄧波濤,曾 志,羅中良
(1.惠州城市職業(yè)學(xué)院 信息學(xué)院,廣東 惠州 516025; 2.惠州學(xué)院 計算機科學(xué)與工程學(xué)院,廣東 惠州 516007)
可視化是一種將結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為可視圖表的方法,通過挖掘數(shù)據(jù)間的隱藏信息,更直觀展現(xiàn)的技術(shù)方法[1].使用可視化技術(shù),可以在盤根錯節(jié)的聯(lián)系中,把巨量的信息進行篩選與提煉,從而把數(shù)據(jù)的本質(zhì)直接展示給讀者.到目前為止,通過系統(tǒng)進行可視化表達的技術(shù)有很多,如Web前端的Tabular[2]、ECharts等數(shù)據(jù)可視化技術(shù)[3],及目前比較流行的Python語言,這些可視化表達技術(shù)僅是從數(shù)據(jù)處理的應(yīng)用層面,并沒有就數(shù)學(xué)原理的角度揭示可視化表達的實現(xiàn)機制.隨著數(shù)據(jù)應(yīng)用的不斷深入,可視化技術(shù)的應(yīng)用領(lǐng)域正在不斷地拓展.然而,等值線圖形的形成機理是可視化分析中不可忽視的一項重要內(nèi)容,透過某一類特殊的等值線,可以辨別出所有相同屬性值的位置信息.通過查看不同屬性值相等點間的距離,也可以大致地掌握所有數(shù)據(jù)的分布規(guī)律.因此,作為與人們休戚相關(guān)的環(huán)境要素(平均風(fēng)速、平均氣壓和平均水汽壓),其可視化表示就顯得尤為重要.因為環(huán)境要素的可視化表達主要以等值線形式呈現(xiàn),通過等值線圖的辨識,氣候分析人員可以更加直觀地通過氣壓、風(fēng)速的變化、頻率的分布等環(huán)境狀況,對氣候的變化作出進一步研判.
等值線生成的過程中,空間中的鄰近距離越小的兩個離散點,其屬性值相似性越強,而屬性值相等點的值變化通常表現(xiàn)更為平滑,且服從于某種特定的統(tǒng)計穩(wěn)定性關(guān)系.而不同領(lǐng)域,等值線生成算法也可能不一樣.如LiDAR點云數(shù)據(jù)的等值線繪制方法[4],規(guī)則型離散點信息場的等值線圖的生成算法[5],包括用于高次單元網(wǎng)格系統(tǒng)的等參數(shù)插值函數(shù)的算法[6],或通過非線性訓(xùn)練,求解對應(yīng)節(jié)點的預(yù)測值,采用插補法完成等值線繪制[7].通常,等值線的生成大多采用線性插值原理,等值點間連線的平滑度是衡量圖形質(zhì)量的重要標志.目前已有的平滑方法很多,典型的有張力樣條法和五點加權(quán)平均法等[8].其中,張力樣條函數(shù)法通過計算獲得相應(yīng)的數(shù)據(jù)點來形成光滑曲線,缺點是計算量略大;而五點加權(quán)平均法相對較為直觀,易于實現(xiàn).針對數(shù)據(jù)點少有斷層現(xiàn)象,文獻[9]在考慮了斷層兩邊數(shù)據(jù)點的空間相關(guān)性,這使得處理結(jié)果既與整體趨勢相一致又與斷層附近的變化趨勢相匹配,使得等值線有較好的視覺效果.與以往算法不同,本文主要關(guān)注在屬性值相同情況下,跨度較大的離散點間即數(shù)據(jù)缺失時,采用通過插值網(wǎng)格化方法實現(xiàn)等值線圖形的平滑方法,從而提升插入網(wǎng)格點的精度.
一般地,大氣環(huán)境要素、地質(zhì)、地球物理領(lǐng)域的應(yīng)用等值線使用較為常見,比如海洋表面溫度場等值線應(yīng)用[10].一方面,等值線可以在二維空間中構(gòu)筑某一屬性值的變化情況,甚至可以生成三維空間的曲面形態(tài)[8].考慮到在二維空間中數(shù)據(jù)的分布是不均勻的,所以,在等值線圖生成之前,首先對數(shù)據(jù)采用網(wǎng)格化處理,即把不規(guī)則分布的源數(shù)據(jù)進行預(yù)處理,形成一個有規(guī)則空間矩形網(wǎng)格.源數(shù)據(jù)的不規(guī)則特點,常常造成數(shù)據(jù)間跨點距離較大,從而出現(xiàn)“空洞”現(xiàn)象,這就需要利用網(wǎng)格化的內(nèi)插或者外推方法去插入數(shù)據(jù)點,填補這些“空洞”.常用的插值網(wǎng)格化或者空間插值方法有最近鄰方法和克里金方法等.在最近鄰法中,網(wǎng)格點P(x,y)的屬性值通常取為該點最鄰近點的屬性值.因此,最近鄰點插值的前提必須是數(shù)據(jù)均勻分布.其與KNN算法類似,針對某屬性使用C-均值算法對所有數(shù)據(jù)點進行分類,并求得每一類點的平均屬性值,最近鄰點的屬性值,取為該類數(shù)據(jù)點的平均屬性值.然而,克立金方法也是一種求最優(yōu)、線性、無偏內(nèi)插估計量的最優(yōu)內(nèi)插法,其作用對象是分布在空間上的數(shù)據(jù).與常規(guī)算法不同, 克立金方法還考慮了源數(shù)據(jù)點的空間相關(guān)性,不但給出待估計點的數(shù)值,也給出衡量精度的方差.到目前為止,克里金方法獲得了多個改進的方法,包括普通克里金、泛克里金法等.兩種算法都是基于空間上變量較為平穩(wěn)的情況,一方面,平穩(wěn)指的是隨機函數(shù)Z(x)的數(shù)學(xué)期望m(x)=E{Z(x)}與其相對應(yīng)的x己知,或者一個與x無關(guān)的數(shù)學(xué)期望值.另一方面,準平穩(wěn)就是指隨機函數(shù)Z(x)的數(shù)學(xué)期望m(x)既不平穩(wěn)又不是已知.在本文中,綜合考量各因素,空間格網(wǎng)插值運算將采用普通克里金方法進行[11].
網(wǎng)格化處理前,可將制圖區(qū)劃分成m×n個網(wǎng)格數(shù)據(jù)點,并設(shè)X沿方向分割為j=1,2,…,n個點;沿Y方向的分割為i=1,2,…,m個點, 將任一網(wǎng)格點記為gDi,j.設(shè)沿X方向單位網(wǎng)格邊長為rN,沿Y方向單位網(wǎng)格邊長為cN,則網(wǎng)格點的坐標計算為:xi,j=j×rN;yi,j=i×cN.由此,網(wǎng)格點區(qū)域是由(m-1)×n條縱邊和m×(n-1)條橫邊組成.
假定有n個已知的數(shù)據(jù)點,通過采用線性組合的方式,可獲得影響范圍內(nèi)任一點的估計值,即:
在式(1)中,λi表示各已知數(shù)據(jù)點Z(xi)對應(yīng)待估值點數(shù)值的加權(quán)系數(shù),通常為百分比.要解出公式(1)中的加權(quán)系數(shù)λi(i=1,2,…,n),滿足估值Zv*具有線性、無偏、最小估計方差的條件.由此獲得的λi被稱作Kriging權(quán)系數(shù),估計量Zv*稱為Zv的Kriging估計值.此時,得到的估計方差也稱為Kriging方差為. 其求解過程包含2步.
(1)無偏差條件
由Kriging方法的特性可知,如果要滿足Zv*為Zv的無偏估計量,則有:E[Zv*-Zv]=0.或:E[Zv*]=.又因為:.則其無偏特性為:.
(2)估計方差最小條件(最優(yōu)條件)
因為Kriging方法必須滿足估計方差最小條件的特性,所以其方差計算為式(2):
在求無偏性條件中,估計方差的最小權(quán)系數(shù)λi(i=1,2,…,n),就必須求解條件極值,可以通過拉格朗日乘法進行計算.
即:
方程組(3)即為普通Kriging方程組.易知, 該方程組中有n+1個方程和n+1個未知數(shù),方程組顯然是有解的.將n個權(quán)系數(shù)λi代入到式(1)就可以得出待估計點的數(shù)值,代入到式(2)就可以得出表示估計精度的Kriging方差.
到目前為止,通過網(wǎng)格點數(shù)據(jù)生成等值線的方法很多,其中之一是通過在網(wǎng)格邊做線性插值而得到等值點,再依照某一特定方位的方法對各等值點連線,便得到等值線.另一種方法則通過網(wǎng)格點數(shù)據(jù)擬合生成一個曲面函數(shù),再細分網(wǎng)格產(chǎn)生更小的網(wǎng)格單元,接著通過曲面函數(shù)求解的值對網(wǎng)格點逐單元追蹤形成等值線.
在可視化實現(xiàn)中,使用較多的是網(wǎng)格序列法和網(wǎng)格無關(guān)法,它們均屬于等值線抽取算法.其中,網(wǎng)格序列法總體上是根據(jù)網(wǎng)格單元的排列順序,逐單元依序處理,追蹤每個單元相對應(yīng)的點形成線段.此外,網(wǎng)格無關(guān)法則是從給定等值線的起點,依據(jù)附近點的某一屬性值,找到新的等值點.不斷重復(fù)找尋這些等指點,直到新點能與邊界區(qū)域連通,亦或回到給定的起點,等值線便形成.考慮到網(wǎng)格序列法遍歷的效率較差,網(wǎng)格無關(guān)法是其完善后的方法,效率相對較高.筆者采用的是網(wǎng)格無關(guān)法,現(xiàn)假定網(wǎng)格單元為矩形,則生成等值線的主要算法步驟為:(1)依次計算各網(wǎng)格單元特定屬性值和等值線的每一個交點;(2)依序連接每個網(wǎng)格交點,構(gòu)建相應(yīng)的等值線線段;(3)連接所有網(wǎng)格區(qū)域范圍內(nèi)的等值線線段,形成該網(wǎng)格區(qū)域范圍內(nèi)的等值線.
通常情況下,數(shù)據(jù)來源都是相關(guān)領(lǐng)域部門提供的,其中大部分是離散數(shù)據(jù).規(guī)則分布數(shù)據(jù)多用于內(nèi)插等值點數(shù)據(jù),規(guī)律地分布在二維空間中兩組平行線上.格網(wǎng)數(shù)據(jù)要么來源于實際測量,源數(shù)據(jù)是通過規(guī)則的矩形或網(wǎng)格進行采樣;要么源于任意離散點數(shù)據(jù)插值.精度要求比較高的一般采用規(guī)則分布的數(shù)據(jù),類似等高線和攝影測量方面的應(yīng)用.而在實際生產(chǎn)活動中,得到的源數(shù)據(jù)大多數(shù)是隨機分布的離散型數(shù)據(jù).然而,不管哪一類數(shù)據(jù),均以離散型數(shù)據(jù)為主.本實驗所使用數(shù)據(jù)均來自中國氣象數(shù)據(jù)網(wǎng)(http://data.com.cn).
IDL即交互式數(shù)據(jù)語言,是一種數(shù)據(jù)分析和圖像化應(yīng)用程序及編程語言.簡單地說,它可以迅速地把數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的圖像(二維圖形與三維圖形都適用).筆者使用的平臺是ENVI/IDL,采用插值網(wǎng)格化Kriging方法的IDL實現(xiàn),其實現(xiàn)代碼為:
實驗采用插值網(wǎng)格化Kriging方法IDL實現(xiàn)與不使用Kriging方法進行對比分析,獲得等值線效果見圖1;左圖均為未采用插值網(wǎng)格化Kriging方法IDL實現(xiàn)效果,右圖均為使用本文提出的插值網(wǎng)格化Kriging方法的實現(xiàn)效果圖.
從圖1可知:(1)未使用Kriging方法IDL實現(xiàn)效果實現(xiàn)等值線時,等值線的分布相對比較稀疏,這說明單位差值較小;其次,該等值線圖中的線條比較少,而且比較粗糙;另外,等值線的光滑度也不夠,從而影響等值線的分析,也并不能較好地體現(xiàn)出數(shù)據(jù)的內(nèi)在含義.(2)使用Kriging方法IDL實現(xiàn)等值線時,等值線分布地比較密集;且等值線圖中的等值線數(shù)目較多,相對比較細致一點.不過,與未使用該算法生成的等值線不同,它的線條比較光滑圓潤,這說明在進行光滑處理時的效果不錯.(3)兩種方法中,雖然使用Kriging方法IDL實現(xiàn)相對復(fù)雜一點,但是平滑度效果很好,利于我們通過生成的等值線對相應(yīng)的數(shù)據(jù)進行分析.因此,使用Kriging方法IDL實現(xiàn)等值線的可視化表達效果更加友好.
當(dāng)前,實現(xiàn)等值線可視化方法很多,包括比較著名的徑向基函數(shù)法、線性三角網(wǎng)法等.衡量可視化的優(yōu)劣除考慮圖形平滑效果外,還應(yīng)考慮計算的效率,然而無論哪種計算方法,均與參加可視化運算的數(shù)據(jù)量有關(guān).在保證一定數(shù)據(jù)可視化計算的基礎(chǔ)上,算法本身的難易程度與計算效率密切相關(guān).經(jīng)比較分析,總體上幾種算法在計算效率相當(dāng),考慮到篇幅有限,算法比較的性能圖在此不再呈現(xiàn).
筆者基于生成等值線的基本原理與計算方法,重點探討了等值線光滑的離散數(shù)據(jù)點的插值網(wǎng)格化方法——最近鄰方法和克里金方法,解決跨度較大的離散點間即數(shù)據(jù)缺失形成“空洞”的情形,通過實例驗證采用插值網(wǎng)格化方法實現(xiàn)等值線圖形的平滑方法,進而提升插入網(wǎng)格點的精度的問題.并針對本文提出的網(wǎng)格插值化Kriging計算方法進行IDL實現(xiàn),分析得出采用網(wǎng)格插值化Kriging計算方法實現(xiàn)效果略優(yōu)的一般性結(jié)論.當(dāng)然,算法仍存在一些可以改進的地方,包括大數(shù)據(jù)體量下性能和可視化效果等,如何獲得更高效的方法生成等值線視圖,從而得到更加準確和美觀的等值線圖.