国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Google Earth的城市實時天氣可視化系統(tǒng)

2013-09-08 10:17:06唐慧強
計算機工程與設計 2013年10期
關鍵詞:雨滴繪制天氣

唐慧強,薛 莉

(南京信息工程大學 信息與控制學院,江蘇 南京210044)

0 引 言

傳統(tǒng)的氣象數(shù)據(jù)多以文本、表格等單純的表現(xiàn)形式為主,對于公眾來說抽象難懂,缺乏直觀性。氣象要素,如濕度、風向風速、氣壓等均針對特定的時間和空間而言,因此氣象信息在某種意義上都是地理信息[1]。Google Earth系統(tǒng),與傳統(tǒng)的地理信息系統(tǒng) (GIS)相比,其優(yōu)勢在于接口開放和數(shù)據(jù)的免維護,可視化表達效果好,并且是普及率較高的大眾化系統(tǒng),因此,Google Earth適合于表達氣象信息。目前一般做法是利用天氣過程中的降水資料、紅外云圖等,編寫KML文件,在Google Earth平臺上顯示[2],只是對歷史天氣狀況的再現(xiàn)而沒有顯示實時天氣情況。國外學者則多是利用包含雷達、臺風、降水量等信息的KMZ文件,在Google Earth上以多種顏色對應不同等級的方式表示天氣信息[3,4],提供此KMZ文件的網站有預警決策支持系統(tǒng) (WDSS)、美國國家天氣服務中心 (NWS)等,雖然具有較好的實時性,但其表現(xiàn)形式不如公眾常見的云雨霧雪等景象直觀。本文通過C#調用天氣預報Web服務,解析獲取天氣信息,基于粒子系統(tǒng)和物理模型模擬雨雪等天氣信息對應的場景。查詢時,Google Earth瞬間定位到所需城市,在該城市背景上呈現(xiàn)實時的天氣動畫,實現(xiàn)國內主要城市天氣的三維動態(tài)可視化顯示。

1 降雨的理論及模型

1.1 粒子系統(tǒng)

粒子系統(tǒng)理論是迄今為止描述不規(guī)則物體最成熟的理論之一,依靠對粒子隨機過程的管理來充分體現(xiàn)無規(guī)則的模糊景物特征,粒子具有形狀、大小、位置等多種屬性。通過粒子的產生、成長、消亡、更新、繪制等過程,可以模擬云、雨、霧、雪等自然現(xiàn)象[5]。本文以下雨效果為例進行相關研究。

1.2 下雨效果的模擬

模擬下雨效果應考慮雨滴的形狀建模和運動建模兩方面,前者可采用元球模型構建,后者需考慮無風和有風環(huán)境下的運動。

(1)雨粒子的形狀建模

雨粒子形狀由其直徑d決定:d<2 mm時,雨粒子為球狀;2 mm<d<6 mm 時,雨粒子為橢球狀;d>6 mm 時,較大的雨粒子會分裂,變成諸多小圓球。鑒于此,雨粒子形狀可以使用元球模型來模擬,即對于d<2 mm的雨滴,兩個元球融合成一個元球,雨滴增大時使二者圓心距增大,則漸漸變成橢球形雨粒子。此外,雨粒子降落過程中會發(fā)生碰撞,形成更大的雨粒子,當d>6 mm時便會分裂。

為了保證雨粒子在裂合等一系列變化過程中表面的光滑性,模型中利用Wyvill的六次多項式勢函數(shù)[6]

對于多個元球,表面形狀用下式表示

式中:qi——元球的密度;fi——元球的勢函數(shù);T0——極限值 (常數(shù))。

通過確定T0便可以產生一個比較理想的雨粒子融合、變形、分裂的效果。

(2)雨粒子的運動建模

下雨時,往往風雨交加,雨粒子本身質量又很小,受風的影響較大,因此重點討論雨粒子在有風情況下的運動。雨粒子直徑d<6 mm時,在降落過程中形狀維持不變,近似為球狀,故只需考慮風力、水平方向粘滯阻力與雨粒子水平速度的關系。討論如下:

設F表示風力,f表示水平方向的粘滯阻力,根據(jù)流體力學可得

式中:ρ——流體密度;S——流速垂直方向和物體之間最大的橫截面積;Cd——阻力系數(shù)。

雷諾數(shù)用下式表示

式中:l——特征長度;η——流體的粘滯系數(shù);v——物體的速度。

在0<Re<2×105的范圍內,Cd與Re的關系為

對于球體,S=πr2,l=2r,當Re<1時:

當103<Re<2×105時,Cd近似為0.4,則f=0.2ρπr2v2,即球體所受阻力和v2成正比。雨滴降落接近地面時,其速度為:

(1)當Re<1時

在水平阻力與風力的影響下,雨粒子的運動用下式表示

又因為v(0)=0,解方程 (6)得

式中:ρw——水的密度;r——雨滴的半徑。

(2)當103<Re<2×105時

又由v(0)=0,解方程 (9)得

式中:ρ——空氣的密度。

(3)當1<Re<103時,(1)(2)中對Cd的簡化不再適用。方程-F=0的解是水平方向的雨滴終速度v,設函數(shù)f(v)=-F,那么f(v))上跟隨v的增大而單調遞增,故可用牛頓切線法求方程-F=0的近似解,最終得到雨滴的速度v。

基于上述對雨滴運動過程的分析,能夠得到比較真實的雨滴速度和加速度,以此作為粒子屬性,便于體現(xiàn)風力對雨的影響,從而增強真實感。繪制時,在每一滴雨滴位置上直接調用OpenGL的繪制函數(shù)生成雨滴。

2 系統(tǒng)開發(fā)關鍵技術

2.1 Google Earth二次開發(fā)技術

Google Earth(GE)提供COM API作為公共接口,其中包括11個接口,最重要的一個是IApplicationGE,本文利用此接口控制GE程序的啟動、退出、地圖窗口句柄的獲 取 等 一 系 列 復 雜 操 作[7]。KML (keyhole markup language)類似于XML,描述了與地理要素相關的信息 (如點、線、面、文字描述、圖像等),可以被 Google Earth瀏覽[8]。

2.2 Weather Web Service

Web Service作為應用組件,以分布式架構的方式由Web網絡向服務需求者提供服務[9],結構如圖1所示。本系統(tǒng)的天氣數(shù)據(jù)通過調用 Weather Web Service獲取,自動更新一次需2.5小時左右,可靠性高。實時及接下來三天的天氣狀況,通過調用getWeatherbyCityName函數(shù),以查詢地點名稱為參數(shù),可以輕松獲取。

大型起重作業(yè)必須編制《三措兩案》,并逐級審批。嚴格審核起重機械檢驗證明及作業(yè)人員的《特種作業(yè)操作證》,吊裝作業(yè)必須設專人指揮,指揮人員不得兼做其他工作,應認真觀察起重作業(yè)周圍環(huán)境,確保信號正確無誤,嚴禁吊裝物體從人的頭上越過或停留,遇大雨、雷電、大霧、風力6級以上等惡劣天氣,嚴禁露天起重作業(yè)。

圖1 Web Service體系結構

2.3 系統(tǒng)框架設計

城市實時天氣可視化顯示系統(tǒng)整體由三層架構組成,利用.NET技術開發(fā)整個系統(tǒng)的框架,Web服務作為業(yè)務中間件用于獲取實時天氣信息,SQL Server 2005保存城市的經緯度等相關信息,OpenGL繪制雨雪等天氣效果。客戶端采用VS2008+C#.NET調用GE的接口函數(shù),最終實現(xiàn)后臺所提取的業(yè)務數(shù)據(jù)及天氣動畫的疊加顯示。系統(tǒng)結構如圖2所示。

圖2 系統(tǒng)結構

3 系統(tǒng)實現(xiàn)

3.1 GE視圖的控制

IApplicationGE類中的GetMainHwnd()函數(shù)和GetRenderHwnd()函數(shù)分別用來實現(xiàn)客戶端的框架窗口句柄以及各子窗口句柄的獲取,方便將GE視圖嵌入到用戶自己的應用程序中[10-12],達到與GE的良好交互。

此外,調用HookAPI.dll能夠屏蔽鼠標消息,完成對GE視圖的單雙擊響應,以及鼠標滾輪對GE 3D視圖的縮放及漫游控制。為了將當前視圖保存下來用于日后查看,可以調用GE的SaveScreenShot函數(shù)。

3.2 實時天氣信息的獲取

通過Weather Web Service獲取天氣信息的方法如下:

(1)在VS2008+C#.NET中的 “項目”上右擊 “添加服務引用”,從而引入Web Service;

(2)填寫 Web Service地址及相應命名空間。

核心代碼如下:

3.3 雨滴效果的繪制

通過對雨滴運動狀態(tài)的分析,確定雨滴的屬性,其中最為關鍵的是雨滴的速度和加速度,計算得出雨滴所處位置。為了體現(xiàn)風對于雨滴的影響,實時調整速度和加速度,得到新雨滴所處位置,利用OpenGL繪制函數(shù)在每滴雨滴位置上依據(jù)粒子系統(tǒng)理論繪制雨滴,同時賦予雨滴其他相關屬性,流程圖如圖3所示。

圖3 繪制流程

本系統(tǒng)采用VS2008+C#.NET開發(fā),通過導入動態(tài)鏈接庫文件csgl.dll和csglnative.dll,就可以使用OpenGL三維圖形庫,此種方式調試容易、開發(fā)效率高[13]。具體操作方法如下:

(1)將csgl.dll和csglnative.dll拷貝到 C:\ WINDOWS\system32;

(2)在 “項目”上選擇 “添加引用”,導入csgl.dll;

(3)在C#的程序開始,添加:using CsGL.OpenGL

經過以上操作,便可以在程序中使用OpenGL的繪圖命令繪制雨滴效果了。

3.4 實驗結果與分析

3.2 節(jié)得到的包含天氣信息的字符串s,其中s[6]是當天天氣概況,分為不同的等級,如大雨、中雨、小雨、晴天等,以此為依據(jù),查詢時,通過窗口句柄,將OpenGL繪制的對應天氣效果顯示在GE當前城市界面上,實現(xiàn)效果如圖4所示。

圖4 實現(xiàn)效果

如圖4所示,圖4(a)為太倉在刮西北風時下中雨的畫面,圖4(b)為連云港在刮北風時下小雨的畫面,中間部分均是對應城市的背景,該背景隨著查詢城市的不同而動態(tài)改變。雨滴的飄落方向、雨滴大小依據(jù)查詢地點實時天氣信息的不同而動態(tài)更新。界面左側為國內主要城市列表,右側以文字的形式顯示未來兩天的天氣預報,同時呈現(xiàn)實時天氣信息的文本信息和動畫效果。

4 結束語

本文設計的基于Google Earth的城市實時天氣可視化系統(tǒng)具有兩個方面的優(yōu)越性:(1)本系統(tǒng)憑借Google Earth三維地理信息系統(tǒng)平臺動態(tài)變換天氣效果顯示的背景,突破了傳統(tǒng)視景仿真在固定場景下出現(xiàn)的局限性;(2)本系統(tǒng)可以根據(jù)實時天氣信息動態(tài)改變天氣動畫,實現(xiàn)了天氣信息和地理信息的有機疊加,便于公眾對抽象天氣數(shù)據(jù)的理解。存在的不足是目前可以查詢340多個中國主要城市的天氣信息,在以后可以考慮采用其它Web服務增加可以查詢的地點數(shù)量,并且優(yōu)化模擬雨雪的模型。

[1]WU Huanping.Application of GIS in meteorology[J].Meteorological Monthly,2010 (3):90-100 (in Chinese).[吳煥萍.GIS技術在氣象領域中的應用 [J].氣象,2010 (3):90-100.]

[2]ZHOU Yunjun,LI Zhan,QU Xing,et al.Meteorological multi-parameter integrated display system based on Google Earth[J].Geospatial Information,2010 (4):16-19(in Chinese).[周筠珺,李展,瞿婞,等.基于Google Earth的氣象多參數(shù)綜合顯示系統(tǒng) [J].地理空間信息,2010 (4):16-19.]

[3]Travis M Smith,Valliappa Lakshmanan.Real-time,rapidly updating severe weather products for virtual globes [J].Computers & Geosciences,2011,37 (1):3-12.

[4]Sun Xiaojuan,Shen Suhung,Gregory G Leptoukh,et al.Development of a web-based visualization platform for climate research using Google Earth [J].Computers & Geosciences,2012 (47):160-168.

[5]LIU Xiaoling,YANG Hongyu,GUO Huqi.Real-time simulation of rain and snow in large-scale scene based on CPU particle system [J].Computer Engineering and Design,2012,33 (6):2398-2401(in Chinese). [劉小玲,楊紅雨,郭虎奇.基于GPU粒子系統(tǒng)的大規(guī)模雨雪場景實時模擬 [J].計算機工程與設計,2012,33 (6):2398-2401.]

[6]GU Yaolin,QI Jin.Real-time modeling and animating of hair[J].Computer Engineering and Design,2008,29 (16):4325-4328 (in Chinese). [顧耀林,亓晉.實時毛發(fā)建模和動畫 [J].計算機工程與設計,2008,29 (16):4325-4328.]

[7]Ma Qian.Google intelligent map:Earth/Maps/KML [M].Beijing:Publishing House of Electronics Industry,2010 (in Chinese).[馬謙.Google智慧地圖:Earth/Maps/KML [M].北京:電子工業(yè)出版社,2010.]

[8]Google Inc.KML 2.2reference[R/OL].[2011-12-01].http://code/google.com/apis/kml/documentation/kmlreference.html,2007.

[9]JIAO Shengming,YAN Mingliang,GUO Jing,et al.Research of the distributed transport meteorological information sharing technique based on web service [J].Computer Engineering &Science,2012,34 (20703):196-200 (in Chinese). [焦圣明,嚴明良,郭靜,等.基于Web Service的分布式交通氣象信息共享技術研究 [J].計算機工程與科學,2012,34 (20703):196-200.]

[10]Zhang Xuesong,Luo Jianan,Zhang Hailin.The design and implementation of the geospatial information distribution system based on Google Earth [C]//International Conference on WTCS,2009:931-937.

[11]Google Inc.Google earth[EB/OL].[2011-12-03].http://earth.google.com/,2008.

[12]Google Inc.Google Earth COM API documentation[EB/OL].[2011-12-01].http://earth.google.com/comapi,2010.

[13]SU Xueman,ZHANG Zhicai,SUN Lili,et al.Robot 3-D simulation design and implementation based on OpenGL and C# [J].Journal of Anhui Polytechnic University,2012,27(8203):31-33 (in Chinese). [蘇學滿,張志才,孫麗麗,等.基于OpenGL與C#的工業(yè)機器人三維仿真設計與實現(xiàn)[J].安徽工程大學學報,2012,27 (8203):31-33.]

猜你喜歡
雨滴繪制天氣
Art on coffee cups
天氣冷了,就容易抑郁嗎?
小雨滴
草原歌聲(2020年3期)2020-12-08 22:22:28
誰是天氣之子
盛暑天氣,覓得書中一味涼
文苑(2020年7期)2020-08-12 09:36:38
可愛的小雨滴
學生天地(2020年24期)2020-06-09 03:08:56
Weather(天氣)
小雨滴
放學后
童話世界(2018年17期)2018-07-30 01:52:02
小雨滴
兒童繪本(2015年7期)2015-05-25 17:55:30
泗水县| 类乌齐县| 观塘区| 宜阳县| 湖南省| 申扎县| 靖宇县| 楚雄市| 将乐县| 天峻县| 乐亭县| 大冶市| 万安县| 安化县| 武穴市| 湘阴县| 高安市| 荣成市| 集贤县| 高清| 衡阳市| 杨浦区| 包头市| 施甸县| 淮阳县| 隆德县| 黎川县| 长顺县| 固安县| 蕉岭县| 买车| 桦川县| 宁陵县| 京山县| 嵩明县| 外汇| 泰宁县| 宝丰县| 乌拉特中旗| 沙坪坝区| 扶余县|