針對天氣預報集合資料的時間層次聚類和視覺化

2021-09-23 06:39:53 字數 2503 閱讀 6764

集合(ensemble)模擬資料視覺化是科學視覺化的乙個重要研究方向,特別是針對氣象學這一特定領域。通過擾動初始條件或者使用不同的**模型公式,集合方法會生成代表大氣未來可能狀態的一些資料成員。分析集合預報中的時間演化和可變性是這類問題的乙個重要的任務。

在已有的方法中,spaghetti plots (義大利麵條圖)是一種比較常用的分析氣象標量場集合資料中等高線(iso-contour)的變化的方法。具體來講,對於每個時間步,都有乙個spaghetti plot展示某一iso-value下所有集合成員的等高線,這些spaghetti plots往往並列放置。如果需要看其動態演變,則需要通過動畫的方式。

但是,由於使用者需要感知大量的視覺資訊,動畫很難建立連續時間步下等高線之間的關聯。針對這一問題,今年的scivis上提出了一種新的方法,可以分析集合天氣預報資料中等高線的時空演變[1]。

文中的方法包含三個部分。如圖1所示,首先將所有集合成員具有相似時間演化特性的等高線進行聚類,得到乙個初始的等高線分類。然後,使用乙個時間層次聚類的方法將這些初始的等高線類沿時間步反向合併,得到乙個時間層次上的聚類樹。最後,設計了一種空間-時間聚類視覺化的方法來展示聚類資訊。下面我們將一一介紹各個步驟。

在初始等高線分類中,使用者首先選擇乙個感興趣的時間視窗,然後在乙個給定的iso-value下得到所有集合成員在這個時間視窗下的等高線。之後,使用符號距離函式(signed distance function, sdf)將這些等高線轉化為高維空間中的點,然後就可以使用一些標準的聚類方法對這些點進行聚類,從而得到對應等高線的初始聚類。

文中用了合成聚類(agglomerative hierarchical clustering, ahc)的方法,一開始將每個的等高線都看成是乙個個的類,然後迭代地將相似的類進行兩兩合併,直至最終只剩下乙個類或者所需要的類數。

對於每個類的所有等高線,我們可以從中選擇乙個中位等高線(median contour),其對應的高維空間的點到其他所有點的距離平方的和最小。有了中位等高線,我們再將所有等高線的空間標準差通過環繞在中位等高線的條帶展示出來,以表示該類中所有等高線的空間差異,這種視覺化形式叫做等高線變化圖(contour variability plot),如圖2所示。

為了得到所要的時間層次聚類,作者使用了ahc方法中的linkage criterion來決定類之間何時會合併。其思想就是,假設有n個類,根據類間距離的計算組織乙個n×n的linkage矩陣形式,矩陣每個單元表示兩個類之間的距離。這裡面類與類之間的距離是基於類中等高線對應的高維空間點之間的歐式距離計算得到。

作者定義了乙個類間距離的閾值,然後在初始等高線分類的基礎上,沿著反向時間步的方向對這些類進行合併。對於每乙個時間步,當有兩個類的距離小於閾值時,這兩個類會被合併,並且對應的linkage矩陣也會更新。這一過程一直迭代進行,直到該時間步上不再可以聚類。接著會進行前乙個時間步的合併過程,直至在第乙個時間步上形成乙個最終的類,如圖3所示。

得到時間層次聚類樹後,文章設計了一種空間-時間聚類視覺化的視覺化,包括兩種形式。一種是空間-時間聚類麵(space-time cluster su***ces)。對於每乙個類,它是將其每個時間步上中位等高線的符號距離場堆疊起來形成乙個空間-時間的3維距離場,然後使用光線追蹤和三線性插值繪製該3維場的level-0 set,得到乙個平滑的變化聚類麵,如圖4(a)所示。

為了展示聚類中等高線在時間上的傳播,還可以將所有等高線對應的符號距離值的標準差對映成顏色反應在聚類面上。如圖4(b)所示,其表示了隨時間的增加聚類成員在空間的伸展也越大,表示不確定性越大。

另一種視覺化表示形式是堆疊時間切片(stacked time-cuts)。因為對每乙個時間步,乙個類可以用乙個等高線變化圖來表示,因此將這個類對應的一系列離散時間步的等高線變化圖由下至上堆疊起來,便形成了堆疊時間切片。如圖5所示,可以很清楚看到聚類隨著時間的增長的演化。

總的來講,這篇文章針對二維時變標量場集合資料的等高線,使用一種新的方法展示其在時間和空間上的演化。不過,該方法建立在聚類只有合併沒有**這一假設上,其合理性值得推敲。不過這也正是這一方法可以改進的地方。

如果可以將等高線在演化過程中的出現、合併、**以及消亡等事件以一種比較好的形式展示出來,例如故事線等,可以讓使用者更好地對該類問題進行分析和理解。此外,文章使用的堆疊時間切片的視覺化方法在時間步比較多的情況下還不是非常靈活,這一點也是需要改進的地方。

天氣預報的獲取

好久沒有寫技術文章了,2010年工作太忙,奔波在國內各地,也沒什麼時間關注一些技術方面的事情,最近有乙個專案封閉開發,有些時間來寫些瑣碎的東西,就當是整理下最近的東西吧,沒什麼技術價值,純粹玩玩而已。本篇是獲取qq天氣預報資訊,獲取的是杭州的當天天氣,如果需要獲取未來三天以及其他城市的,做成配置即可...

天氣預報模組的實現

一 執行效果圖 二 核心 1.weatheradapter的 public class weatheradapter extends arrayadapter public view getview int position,view convertview,viewgroup viewgroup ...

vue 天氣預報的使用

第一步 需要拿到實時天氣的api介面 免費天氣api介面 需要注意的是在註冊賬號後記得啟用 然後拿到我們的天氣介面 在頁面中呼叫引入 天氣展示 margin right 20px weatherimg v bind style export default methods catch 值得注意的是 ...