一種基于三維虛擬地球的風(fēng)場可視化展示方法
【專利摘要】本發(fā)明涉及一種基于三維虛擬地球的風(fēng)場可視化展示方法,包括以下步驟:1.氣象自動站數(shù)據(jù)接入:服務(wù)端以氣象局提供的氣象自動站數(shù)據(jù)作為風(fēng)場數(shù)據(jù)的數(shù)據(jù)來源,以符合NetCDF規(guī)范的數(shù)據(jù)格式,定時導(dǎo)入氣象自動站數(shù)據(jù);2.風(fēng)場數(shù)據(jù)格點(diǎn)化:獲取的所述氣象自動站數(shù)據(jù)為離散點(diǎn)數(shù)據(jù),服務(wù)端將氣象自動站離散點(diǎn)數(shù)據(jù)根據(jù)風(fēng)場覆蓋的可視化區(qū)域插值為風(fēng)場格點(diǎn)數(shù)據(jù);3.用戶交互響應(yīng):客戶端根據(jù)用戶交互操作從服務(wù)端下載指定時間與空間的風(fēng)場格點(diǎn)數(shù)據(jù);4.風(fēng)場可視化:客戶端根據(jù)下載的風(fēng)場格點(diǎn)數(shù)據(jù)驅(qū)動粒子系統(tǒng),通過控制粒子在三維空間中的運(yùn)動實(shí)現(xiàn)實(shí)時風(fēng)場可視化。該方法不僅展示效果好,而且運(yùn)行高效,實(shí)時性強(qiáng)。
【專利說明】一種基于三維虛擬地球的風(fēng)場可視化展示方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及風(fēng)場可視化展示【技術(shù)領(lǐng)域】,特別是一種使用格點(diǎn)化風(fēng)場數(shù)據(jù)驅(qū)動粒子系統(tǒng)模擬風(fēng)場、通過煙霧運(yùn)動形式展示風(fēng)場可視化、在三維虛擬地球環(huán)境下真實(shí)、快速模擬多層次(宏觀、中觀、局部)風(fēng)場的方法。
【背景技術(shù)】
[0002]隨著科學(xué)技術(shù)尤其是計算機(jī)技術(shù)的快速發(fā)展,傳統(tǒng)可視化技術(shù)已經(jīng)不能滿足社會需求的快速提高,計算可視化成為了將科學(xué)計算數(shù)據(jù)轉(zhuǎn)化為人們?nèi)菀桌斫獾膱D形或圖像形式的主要手段,而且向著實(shí)時、交互、多維度、虛擬現(xiàn)實(shí)及網(wǎng)絡(luò)應(yīng)用等方向深入發(fā)展。
[0003]地理信息系統(tǒng)(GIS)作為地理與環(huán)境信息可視化的最好載體,已經(jīng)越來越被社會認(rèn)知與接受,尤其是近年來興起的三維數(shù)字地球技術(shù),集合傳統(tǒng)GIS功能與三維可視化技術(shù),在許多領(lǐng)域使用日漸頻繁,尤其是在氣象應(yīng)用上,常用于大氣環(huán)境監(jiān)控、災(zāi)害預(yù)報預(yù)警等,可以將海量氣象原始數(shù)據(jù)經(jīng)過分析、轉(zhuǎn)化、整理、統(tǒng)計等手段,得到人們需要的結(jié)果,但由于大氣環(huán)境的多變性、復(fù)雜性,使用怎樣的方法在三維數(shù)字地球中對其進(jìn)行動態(tài)展示,一直是研究的熱點(diǎn)方向。目前常用的風(fēng)場可視化展示方法大體包含以下兩類:
[0004]標(biāo)量場可視化技術(shù),如將二維網(wǎng)格分布的風(fēng)場數(shù)據(jù)抽取出等值線,再對等值線進(jìn)行取樣插值平滑的等值線法。使用等值線法時通常搭配系列色板將各等值區(qū)域填充以便于使用者觀看;
[0005]矢量場可視化技術(shù),例如使用簡單符號如箭頭標(biāo)注風(fēng)向,箭頭長短表示風(fēng)速的標(biāo)注法;使用一組帶有表示氣流方向箭頭的曲線構(gòu)成流線圖的矢量線法;將風(fēng)場中的風(fēng)矢量數(shù)據(jù)賦予粒子系統(tǒng),控制其中的粒子運(yùn)動,從而動態(tài)展示風(fēng)場的粒子法;基于紋理的矢量場可視化算法,例如線積分卷積中的點(diǎn)噪聲法、紋理卷積算法。
[0006]但是,現(xiàn)有風(fēng)場可視化技術(shù)普遍為二維可視化,基本方法如箭標(biāo)圖、風(fēng)場分布圖、流線圖、紋理圖等使用抽象元素,如箭頭、顏色、線條等對風(fēng)場的數(shù)據(jù)進(jìn)行描述,不存在真實(shí)感也無法給予普通觀察者直觀感受,而且這些方法只能簡單反映風(fēng)場的瞬時狀態(tài),無法動態(tài)展示其發(fā)展與演變過程。粒子法可以生成較為細(xì)致的風(fēng)場效果,可以進(jìn)行動態(tài)展示,但由于其前期需要根據(jù)風(fēng)場數(shù)據(jù)追蹤粒子軌跡,后期需要對計算結(jié)果進(jìn)行實(shí)時動畫渲染,涉及到大量數(shù)學(xué)計算過程,同時隨著粒子數(shù)量增加,計算量將迅速增長,將給系統(tǒng)軟、硬件帶來很大壓力。而且真實(shí)風(fēng)場變化頻繁且涉及范圍較大,使用粒子法對采集到的原始數(shù)據(jù)直接進(jìn)行可視化處理,所需傳輸?shù)臄?shù)據(jù)也將占用大量網(wǎng)絡(luò)帶寬。因此傳統(tǒng)的粒子法難以滿足在三維數(shù)字地球系統(tǒng)中動態(tài)展示大面積實(shí)時風(fēng)場的要求。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種基于三維虛擬地球的風(fēng)場可視化展示方法,該方法不僅展示效果好,而且運(yùn)行高效,實(shí)時性強(qiáng)。
[0008]為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于三維虛擬地球的風(fēng)場可視化展示方法,包括以下步驟:
[0009]步驟一、氣象自動站數(shù)據(jù)接入:服務(wù)端以氣象局提供的氣象自動站數(shù)據(jù)作為風(fēng)場數(shù)據(jù)的數(shù)據(jù)來源,以符合NetCDF規(guī)范的數(shù)據(jù)格式,定時導(dǎo)入氣象自動站數(shù)據(jù);
[0010]步驟二、風(fēng)場數(shù)據(jù)格點(diǎn)化:獲取的所述氣象自動站數(shù)據(jù)為離散點(diǎn)數(shù)據(jù),服務(wù)端將氣象自動站離散點(diǎn)數(shù)據(jù)根據(jù)風(fēng)場覆蓋的可視化區(qū)域插值為風(fēng)場格點(diǎn)數(shù)據(jù);
[0011]步驟三、用戶交互響應(yīng):客戶端根據(jù)用戶交互操作從服務(wù)端下載指定時間與空間的風(fēng)場格點(diǎn)數(shù)據(jù);
[0012]步驟四、風(fēng)場可視化:客戶端根據(jù)下載的風(fēng)場格點(diǎn)數(shù)據(jù)驅(qū)動粒子系統(tǒng),通過控制粒子在三維空間中的運(yùn)動實(shí)現(xiàn)實(shí)時風(fēng)場可視化。
[0013]進(jìn)一步的,在步驟一中,服務(wù)端定時通過數(shù)據(jù)導(dǎo)入接口連接氣象自動站數(shù)據(jù)收集服務(wù)器,導(dǎo)入氣象自動站數(shù)據(jù),導(dǎo)入時間間隔與氣象自動站記錄更新間隔相適應(yīng);數(shù)據(jù)導(dǎo)入后按氣象自動站記錄時間戳劃分批次。
[0014]進(jìn)一步的,在步驟二中,數(shù)據(jù)導(dǎo)入完成后觸發(fā)風(fēng)場格點(diǎn)數(shù)據(jù)生成,將獲取的氣象自動站離散點(diǎn)數(shù)據(jù)插值為覆蓋所有可視化區(qū)域的風(fēng)場格點(diǎn)數(shù)據(jù);該方法與三維數(shù)字地球系統(tǒng)結(jié)合,風(fēng)場格點(diǎn)在WGS-84坐標(biāo)系下,以經(jīng)緯度為單位進(jìn)行劃分,風(fēng)場格點(diǎn)編號的確定方法為:將可視化區(qū)域以經(jīng)緯度為單位,按四叉樹規(guī)則分為若干等級,每個四叉樹分塊以nXn網(wǎng)格劃分格點(diǎn);設(shè)在任意分塊內(nèi),經(jīng)度最小值為Lontl,最大值為Lon1,纟韋度最小值為Latci,最大值為Lat1,格點(diǎn)經(jīng)度間隔為Loni,格點(diǎn)緯度間隔為Lati,經(jīng)度方向格點(diǎn)數(shù)為LonNum,緯度方向格點(diǎn)數(shù)為 LatNum,則 Loni= (Lon1 — Lon0) /LonNum, Lati= (Lat1 一 Lat。)/LatNum,對于在風(fēng)場格點(diǎn)數(shù)據(jù)范圍內(nèi)的任意`位置Posx(lonx, Iatx),其經(jīng)向編號LonNo= [ (1nx-Lonci)/Loni],諱向編號LatNo=[ (Iatx-Latci)/Lati],式中符號[]表示取整;將所述風(fēng)場格點(diǎn)數(shù)據(jù)存儲于服務(wù)端,當(dāng)客戶端需要時通過時間與風(fēng)場格點(diǎn)編號獲取任意風(fēng)場格點(diǎn)數(shù)據(jù)。
[0015]進(jìn)一步的,在步驟三中,客戶端根據(jù)數(shù)據(jù)時間與區(qū)域向服務(wù)端請求數(shù)據(jù),數(shù)據(jù)時間由用戶使用時間軸設(shè)置;數(shù)據(jù)區(qū)域由用戶當(dāng)前瀏覽區(qū)域確定,具體步驟為:首先由當(dāng)前相機(jī)高度確定對應(yīng)的四叉樹數(shù)據(jù)加載等級,然后使用相機(jī)視景體與四叉樹相交計算獲取視野范圍對應(yīng)風(fēng)場數(shù)據(jù)分塊與格點(diǎn)行列范圍,最后根據(jù)行列編號向服務(wù)端請求數(shù)據(jù);客戶端與服務(wù)端交互使用WCF數(shù)據(jù)服務(wù),可根據(jù)網(wǎng)絡(luò)環(huán)境需要選擇連接方式。
[0016]進(jìn)一步的,在步驟四中,風(fēng)場可視化包括數(shù)據(jù)更新、視圖更新和數(shù)據(jù)顯示;
[0017]I)數(shù)據(jù)更新過程包括格點(diǎn)數(shù)據(jù)更新與粒子更新;數(shù)據(jù)更新過程中使用的時間包括:數(shù)據(jù)更新時間t,對應(yīng)數(shù)據(jù)采集時間,用于控制數(shù)據(jù)加載;粒子更新時間ti;即粒子系統(tǒng)更新粒子所使用的時間,用于控制粒子的運(yùn)動;當(dāng)1變化時,格點(diǎn)數(shù)據(jù)更新,當(dāng)ti變化時,粒子風(fēng)場系統(tǒng)更新;
[0018]1.1)格點(diǎn)數(shù)據(jù)更新:客戶端瀏覽不同時間點(diǎn)風(fēng)場時,根據(jù)瀏覽時間加載前后兩個時間點(diǎn)的風(fēng)場格點(diǎn)數(shù)據(jù);設(shè)前一個時間點(diǎn)為&,后一個時間點(diǎn)為h,系統(tǒng)當(dāng)前時間為t,設(shè)當(dāng)前瀏覽的格點(diǎn)在格網(wǎng)中的編號為(LonNo,LatNo),該格點(diǎn)在兩個時間點(diǎn)上的風(fēng)速分別為Speed。、Speed1,則任意 t 滿足時刻速度 Speed1= (l_k) Speedc^kSpeed1,其中k=t/(t!-t0);當(dāng)系統(tǒng)沒有新時間點(diǎn)數(shù)據(jù)時,速度SpeedT=SpeedQ ;
[0019]1.2)粒子更新:粒子更新過程包括粒子創(chuàng)建、粒子位置更新和邊界檢測;
[0020]粒子創(chuàng)建:根據(jù)粒子數(shù)量上限、限制邊界、限制高度等預(yù)設(shè)參數(shù)與當(dāng)前粒子分布等條件生成新的粒子,使粒子覆蓋整個區(qū)域;粒子創(chuàng)建使用RenderToTexture技術(shù),具體過程為:對應(yīng)風(fēng)場可視化區(qū)域定義一幅空白紋理;在隨機(jī)渲染粒子的同時把粒子渲染到空白紋理的像素點(diǎn)上;在同一像素點(diǎn)重疊的粒子越多,像素灰度值越高;通過設(shè)置像素灰度閾值,僅在低于閾值像素對應(yīng)空間區(qū)域生成粒子;
[0021]粒子位置更新:使用粒子系統(tǒng)展現(xiàn)風(fēng)場可視化,粒子運(yùn)動速度與方向由所在格點(diǎn)的風(fēng)速與風(fēng)向決定,粒子位置更新間隔由粒子更新時間\決定,當(dāng)風(fēng)場數(shù)據(jù)停止更新時,粒子將根據(jù)\繼續(xù)更新;與風(fēng)場格點(diǎn)相同,粒子系統(tǒng)采用WGS-84坐標(biāo)系標(biāo)注粒子坐標(biāo),但粒子位置變化使用世界坐標(biāo)系計算:設(shè)粒子的初始WGS-84坐標(biāo)為GeoPos^Lon。,Lat0, Alt0),地球半徑為Re,則粒子的初始世界坐標(biāo)WorldPosci (?, y0, z0)為:
[0022]X0= (RE+Alt0) cosLatQcosLon0
[0023]y0= (RE+Alt0) cosLat0sinLon0
[0024]Z0= (RE+Alt0) SinLat0
[0025]設(shè)該粒子所在格點(diǎn)風(fēng)向角為θ,風(fēng)速為Speedx,粒子更新時間為ti;則新坐標(biāo)WorldPos1 (X1, yu Z1)為:
【權(quán)利要求】
1.一種基于三維虛擬地球的風(fēng)場可視化展示方法,其特征在于,包括以下步驟: 步驟一、氣象自動站數(shù)據(jù)接入:服務(wù)端以氣象局提供的氣象自動站數(shù)據(jù)作為風(fēng)場數(shù)據(jù)的數(shù)據(jù)來源,以符合NetCDF規(guī)范的數(shù)據(jù)格式,定時導(dǎo)入氣象自動站數(shù)據(jù); 步驟二、風(fēng)場數(shù)據(jù)格點(diǎn)化:獲取的所述氣象自動站數(shù)據(jù)為離散點(diǎn)數(shù)據(jù),服務(wù)端將氣象自動站離散點(diǎn)數(shù)據(jù)根據(jù)風(fēng)場覆蓋的可視化區(qū)域插值為風(fēng)場格點(diǎn)數(shù)據(jù); 步驟三、用戶交互響應(yīng):客戶端根據(jù)用戶交互操作從服務(wù)端下載指定時間與空間的風(fēng)場格點(diǎn)數(shù)據(jù); 步驟四、風(fēng)場可視化:客戶端根據(jù)下載的風(fēng)場格點(diǎn)數(shù)據(jù)驅(qū)動粒子系統(tǒng),通過控制粒子在三維空間中的運(yùn)動實(shí)現(xiàn)實(shí)時風(fēng)場可視化。
2.根據(jù)權(quán)利要求1所述的一種基于三維虛擬地球的風(fēng)場可視化展示方法,其特征在于,在步驟一中,服務(wù)端定時通過數(shù)據(jù)導(dǎo)入接口連接氣象自動站數(shù)據(jù)收集服務(wù)器,導(dǎo)入氣象自動站數(shù)據(jù),導(dǎo)入時間間隔與氣象自動站記錄更新間隔相適應(yīng);數(shù)據(jù)導(dǎo)入后按氣象自動站記錄時間戳劃分批次。
3.根據(jù)權(quán)利要求1所述的一種基于三維虛擬地球的風(fēng)場可視化展示方法,其特征在于,在步驟二中,數(shù)據(jù)導(dǎo)入完成后觸發(fā)風(fēng)場格點(diǎn)數(shù)據(jù)生成,將獲取的氣象自動站離散點(diǎn)數(shù)據(jù)插值為覆蓋所有可視化區(qū)域的風(fēng)場格點(diǎn)數(shù)據(jù);該方法與三維數(shù)字地球系統(tǒng)結(jié)合,風(fēng)場格點(diǎn)在WGS-84坐標(biāo)系下,以經(jīng)緯度為單位進(jìn)行劃分,風(fēng)場格點(diǎn)編號的確定方法為:將可視化區(qū)域以經(jīng)緯度為單位,按四叉樹規(guī)則分為若干等級,每個四叉樹分塊以nXn網(wǎng)格劃分格點(diǎn);設(shè)在任意分塊內(nèi),經(jīng)度最小值為Lontl,最大值為Lon1,纟韋度最小值為Latci,最大值為Lat1,格點(diǎn)經(jīng)度間隔為Loni,格點(diǎn)緯度間隔為Lati,經(jīng)度方向格點(diǎn)數(shù)為LonNum,緯度方向格點(diǎn)數(shù)為 LatNum,則 LonfiXoni — Lon0) /LonNum, Lati= (Lat1 一 Lat0) /LatNum,對于在風(fēng)場格點(diǎn)數(shù)據(jù)范圍內(nèi)的任意位置Pos`x(lonx, Iatx),其經(jīng)向編號LonNo= [ (1nx-Lontl)/Loni],諱向編號LatNo^aatfLat^/Lati],式中符號[]表示取整;將所述風(fēng)場格點(diǎn)數(shù)據(jù)存儲于服務(wù)端,當(dāng)客戶端需要時通過時間與風(fēng)場格點(diǎn)編號獲取任意風(fēng)場格點(diǎn)數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種基于三維虛擬地球的風(fēng)場可視化展示方法,其特征在于,在步驟三中,客戶端根據(jù)數(shù)據(jù)時間與區(qū)域向服務(wù)端請求數(shù)據(jù),數(shù)據(jù)時間由用戶使用時間軸設(shè)置;數(shù)據(jù)區(qū)域由用戶當(dāng)前瀏覽區(qū)域確定,具體步驟為:首先由當(dāng)前相機(jī)高度確定對應(yīng)的四叉樹數(shù)據(jù)加載等級,然后使用相機(jī)視景體與四叉樹相交計算獲取視野范圍對應(yīng)風(fēng)場數(shù)據(jù)分塊與格點(diǎn)行列范圍,最后根據(jù)行列編號向服務(wù)端請求數(shù)據(jù);客戶端與服務(wù)端交互使用WCF數(shù)據(jù)服務(wù),可根據(jù)網(wǎng)絡(luò)環(huán)境需要選擇連接方式。
5.根據(jù)權(quán)利要求1所述的一種基于三維虛擬地球的風(fēng)場可視化展示方法,其特征在于,在步驟四中,風(fēng)場可視化包括數(shù)據(jù)更新、視圖更新和數(shù)據(jù)顯示; I)數(shù)據(jù)更新過程包括格點(diǎn)數(shù)據(jù)更新與粒子更新;數(shù)據(jù)更新過程中使用的時間包括:數(shù)據(jù)更新時間t,對應(yīng)數(shù)據(jù)采集時間,用于控制數(shù)據(jù)加載;粒子更新時間ti;即粒子系統(tǒng)更新粒子所使用的時間,用于控制粒子的運(yùn)動;當(dāng)1變化時,格點(diǎn)數(shù)據(jù)更新,當(dāng)ti變化時,粒子風(fēng)場系統(tǒng)更新; ` 1.1)格點(diǎn)數(shù)據(jù)更新:客戶端瀏覽不同時間點(diǎn)風(fēng)場時,根據(jù)瀏覽時間加載前后兩個時間點(diǎn)的風(fēng)場格點(diǎn)數(shù)據(jù);設(shè)前一個時間點(diǎn)為td,后一個時間點(diǎn)為h,系統(tǒng)當(dāng)前時間為t,設(shè)當(dāng)前瀏覽的格點(diǎn)在格網(wǎng)中的編號為(LonNo,LatNo),該格點(diǎn)在兩個時間點(diǎn)上的風(fēng)速分別為Speed。、Speed1,則任意 t 滿足 tQ < t < t1; t 時刻速度 SpeedT= (l_k) Speedc^kSpeed1,其中 k=t/(?^?ο);當(dāng)系統(tǒng)沒有新時間點(diǎn)數(shù)據(jù)時,速度SpeedT=SpeedQ ; .1.2)粒子更新:粒子更新過程包括粒子創(chuàng)建、粒子位置更新和邊界檢測; 粒子創(chuàng)建:根據(jù)粒子數(shù)量上限、限制邊界、限制高度等預(yù)設(shè)參數(shù)與當(dāng)前粒子分布等條件生成新的粒子,使粒子覆蓋整個區(qū)域;粒子創(chuàng)建使用RenderToTexture技術(shù),具體過程為:對應(yīng)風(fēng)場可視化區(qū)域定義一幅空白紋理;在隨機(jī)渲染粒子的同時把粒子渲染到空白紋理的像素點(diǎn)上;在同一像素點(diǎn)重疊的粒子越多,像素灰度值越高;通過設(shè)置像素灰度閾值,僅在低于閾值像素對應(yīng)空間區(qū)域生成粒子; 粒子位置更新:使用粒子系統(tǒng)展現(xiàn)風(fēng)場可視化,粒子運(yùn)動速度與方向由所在格點(diǎn)的風(fēng)速與風(fēng)向決定,粒子位置更新間隔由粒子更新時間\決定,當(dāng)風(fēng)場數(shù)據(jù)停止更新時,粒子將根據(jù)\繼續(xù)更新;與風(fēng)場格點(diǎn)相同,粒子系統(tǒng)采用WGS-84坐標(biāo)系標(biāo)注粒子坐標(biāo),但粒子位置變化使用世界坐標(biāo)系計算:設(shè)粒子的初始WGS-84坐標(biāo)為GeoPoS。(Lon。,Lat0, Alt0),地球半徑為Re,則粒子的初始世界坐標(biāo)WorldPosci (Xtl, y0, z0)為:
X0= (RE+Alt0) cosLat0cosLon0
y0= (RE+Alt0) cosLat0sinLon0
Z0= (RE+Alt0) SinLat0 設(shè)該粒子所在格點(diǎn)風(fēng)向角為θ,風(fēng)速為Speedx,粒子更新時間為ti;則新坐標(biāo)WorldPos1 (X1, yu Z1)為:
X1=Xc^tiSpeedxSin ( Θ+180。)
Y1=Yc^tiSpeedxCos ( Θ+180° )
Z1=Z0
粒子的新 WGS-84 坐標(biāo) GeoPos1 (Lon1, Lat1, Alt1)為:
【文檔編號】G06T15/00GK103606192SQ201310624667
【公開日】2014年2月26日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】廖福旺, 陳金祥, 陳強(qiáng), 林承華, 林嘉, 梁曼舒 申請人:國家電網(wǎng)公司, 國網(wǎng)福建省電力有限公司, 國網(wǎng)福建省電力有限公司電力科學(xué)研究院