朱英浩,龐為興
(1.水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室(武漢大學(xué)),湖北 武漢430072;2.國防信息學(xué)院作戰(zhàn)仿真中心,湖北 武漢430010;3.浙江省經(jīng)濟(jì)和信息化委員會,浙江 杭州310007)
集成AutoCAD與Google Earth數(shù)據(jù)的三維河道動態(tài)模擬系統(tǒng)研究
朱英浩1,2,龐為興3
(1.水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室(武漢大學(xué)),湖北 武漢430072;2.國防信息學(xué)院作戰(zhàn)仿真中心,湖北 武漢430010;3.浙江省經(jīng)濟(jì)和信息化委員會,浙江 杭州310007)
利用Visual C++開發(fā) “三維河道動態(tài)模擬系統(tǒng)”,集成AutoCAD與Google Earth數(shù)據(jù)的提取與融合,動態(tài)模擬不同時(shí)期和不同水位下的三維河道,實(shí)時(shí)顯示某個(gè)地點(diǎn)河道寬度和最大水深等信息.
三維河道;動態(tài)模擬;系統(tǒng)集成;Google Earth;AutoCAD
計(jì)算機(jī)輔助設(shè)計(jì)(computer-aided design,CAD)和地理信息系統(tǒng)(geographical information system,GIS)等技術(shù)已經(jīng)得到了廣泛應(yīng)用[1].目前水利和航道工程中的河道地形數(shù)據(jù)普遍采用AutoCAD來數(shù)字化并以圖形格式(*.dwg)保存.有些單位開始使用GIS工具軟件來研究區(qū)域內(nèi)河網(wǎng)水系與地形特征[2].也有學(xué)者基于人機(jī)交互界面研究航道管理問題[3].但這些系統(tǒng)大多需要人工建模工具AutoCAD或MultiGen Creator實(shí)現(xiàn)河流和航道三維模型的建立[4].目前基于Internet的Google Earth已經(jīng)引起了廣泛注意,一般用戶可以在其界面上直接漫游和縮放及標(biāo)注,但難以做到按照數(shù)值輸入的方向、比例尺及位置的確定,AutoDesk公司已經(jīng)推出了土木建筑類軟件AutoCAD Civil 3D,為包括土地開發(fā)、交通運(yùn)輸與環(huán)境工程在內(nèi)的土木工程提供了一個(gè)測量、設(shè)計(jì)、分析與文檔處理解決方案.該軟件可以從Google Earth中導(dǎo)入衛(wèi)星影像和地形模型,使用特定的設(shè)計(jì)工具進(jìn)行初步的道路布局和地塊設(shè)計(jì),甚至也可以將設(shè)計(jì)方案直接發(fā)布到Google Earth,以快速展示設(shè)計(jì)與周圍環(huán)境的契合度,對提高土木設(shè)計(jì)工作效率具有重要作用,在城市三維可視化系統(tǒng)研究開發(fā)中已經(jīng)得到了一定的成果[5].本文中針對水利與航運(yùn)的特點(diǎn)和外國公司產(chǎn)品比較適合于個(gè)別研究與演示而難以全面推廣的問題,自主開發(fā)“三維河道動態(tài)模擬系統(tǒng)”,將河道地形及涉水人工建筑物等對象融合于構(gòu)造的三維虛擬場景中,為這類模型的開發(fā)提供了一種新方法.
系統(tǒng)主要功能模塊主要包括“基本數(shù)據(jù)采集”、“三維流域顯示”、“水面仿真”和“三維場景回放”等模塊.
1.1 基本數(shù)據(jù)采集模塊系統(tǒng)包括了兩種基本數(shù)據(jù)采集的功能,一種是從Google Earth中提取地形高程(采樣點(diǎn))和衛(wèi)星影像;另一種是從AutoCAD的圖形格式(*.dwg)數(shù)據(jù)中提取地形高程(包括等高線和采樣點(diǎn))等信息.針對航道研究范圍特點(diǎn),在兩種基本數(shù)據(jù)采集模塊中加入了不規(guī)則范圍劃定與控制功能,即可以人工劃定大致的研究范圍,比如從Google Earth中提取地形高程和衛(wèi)星影像的界面如圖1和圖2所示.通過“飛向”按鈕,使Google Earth自動飛到指定的位置并顯示對應(yīng)的范圍,通過“整體提取”或“逐點(diǎn)提取”按鈕,就可以在Google Earth上提取指定間隔的地形高程數(shù)據(jù)和影像.系統(tǒng)根據(jù)當(dāng)前格點(diǎn)及其相鄰8個(gè)格點(diǎn)是否全在研究范圍以內(nèi)給予編號有效標(biāo)記,避免了大量無效格點(diǎn)被采集、計(jì)算和顯示.
圖1 從Google Earth中選擇范圍提取地形高程
圖2 選擇范圍的Google Earth影像
從Google Earth中提取的數(shù)據(jù)是按經(jīng)緯度給出的,優(yōu)點(diǎn)是地形高程范圍比較廣,可以和衛(wèi)星影像建立對應(yīng)關(guān)系,但精度較低,并且難以獲得水下數(shù)據(jù),從AutoCAD中提取的數(shù)據(jù)是按高斯投影給出的,優(yōu)點(diǎn)是精度高,包含了水下地形數(shù)據(jù),但存在著跨投影帶和分幅問題.因此需要坐標(biāo)系投影變換,系統(tǒng)提供選擇麥卡托投影、蘭博托投影和經(jīng)緯線投影3種投影變換方式,在人工劃定大致的研究范圍后,根據(jù)指定格距自動算出DEM的左下點(diǎn)坐標(biāo)和兩個(gè)方向上的格點(diǎn)數(shù),并將提取的地形高程數(shù)據(jù)內(nèi)插到格點(diǎn)上.為了通用,內(nèi)插到格點(diǎn)上的DEM數(shù)據(jù)統(tǒng)一使用ArcGIS的ASCII格式(*.asc),影像數(shù)據(jù)統(tǒng)一使用圖像格式(*.jpg).
目前長江的1∶10 000地圖多個(gè)圖層的AutoCAD圖形格式(*.dwg)數(shù)據(jù)如圖3所示,主要包括水系地形、河道堤防、用地類型和地名等數(shù)據(jù),其中部分河段還是多達(dá)4次的不同年份數(shù)據(jù),通過開發(fā)的程序?qū)⒌貓D數(shù)據(jù)按不同圖層轉(zhuǎn)換為對應(yīng)的ASCII碼格式數(shù)據(jù).按高斯坐標(biāo)系給出的離散點(diǎn)和等值線高程格式如表1所示.由于高斯坐標(biāo)中還包含了投影帶編號信息,為了與其他數(shù)據(jù)統(tǒng)一并避免計(jì)算上溢出,在根據(jù)人工劃定大致的研究范圍計(jì)算DEM的左下點(diǎn)坐標(biāo)時(shí)系統(tǒng)去掉了投影帶編號信息,并將提取的地形高程數(shù)據(jù)內(nèi)插到格點(diǎn)上.AutoCAD上的河道堤防和用地類型就以多邊形的方式存儲,地名是以標(biāo)注的方式給出的,每個(gè)地名可能分成幾組漢字都有自己的坐標(biāo)分開存儲,讀取后就需要進(jìn)行組合,并計(jì)算或指定出最合適的地名坐標(biāo).
圖3 長江某段1∶10 000的AutoCAD地圖
表1 高斯坐標(biāo)系下的離散點(diǎn)高程
1.2 水面仿真模塊對于水面仿真采用了3種可選擇方式來表示,第一種是不規(guī)則邊界內(nèi)的平靜水體表面加隨機(jī)函數(shù)波動來表示;第二種是不規(guī)則邊界內(nèi)的平靜水體表面與水面紋理結(jié)合來表示;第三種是不規(guī)則邊界內(nèi)的平靜水體表面加波浪函數(shù)來表示.其中不規(guī)則的邊界是人工劃定大致的研究范圍決定的,通過不規(guī)則三角網(wǎng)來構(gòu)成的水平區(qū)域一定大于河道的可能范圍但遠(yuǎn)小于流域范圍,平靜水位高度可以根據(jù)計(jì)算或觀測的實(shí)時(shí)徑流高度來確定,也可以根據(jù)地形人為輸入和調(diào)節(jié).為增強(qiáng)對于水面動態(tài)效果,在此基礎(chǔ)上增加的隨機(jī)函數(shù)或波浪函數(shù)依據(jù)可以選擇的子程決定,增加的水面紋理根據(jù)典型影象經(jīng)過處理后選擇使用.
1.3 三維流域顯示模塊“三維流域顯示”模塊為系統(tǒng)的主干模塊,主要功能為:
(1)提供了缺省的均勻或任意高程分層設(shè)色表和光照參數(shù)(泛射光、漫射光和鏡面光的光強(qiáng)及方向),利用流域地形數(shù)據(jù)制作真彩色地貌暈渲圖和假彩色地貌分色圖.
(2)可選擇紋理地面或暈渲地面作為流域地形底圖,紋理地面將已有彩色地貌暈渲圖作為三維地勢底圖,暈渲地面用當(dāng)前地形數(shù)據(jù)文件、高程分層設(shè)色表和光照參數(shù)實(shí)時(shí)生成.
(3)可自動選取初始水位高度顯示水面狀況,具有適當(dāng)?shù)某跏家暯呛托ЧO(shè)置,能自動三維漫游和導(dǎo)航圖控制,可調(diào)節(jié)三維水面高度、透視投影視角大小和方向及地勢比例效果.
(4)模擬不同水位下的長江航道可通航情況,實(shí)時(shí)顯示某個(gè)地點(diǎn)的水位高度、航道寬度和最大水深,實(shí)現(xiàn)最優(yōu)航道的選擇與推薦,可以動態(tài)實(shí)時(shí)顯示河道地形的歷史變遷效果.
(5)可自動錄制屏幕或窗口大小的圖像及其索引文件,可設(shè)定最大文件數(shù)目和自動刪除.
在具有了DEM數(shù)據(jù)和不規(guī)則邊界內(nèi)的平靜水體表面高度后,就可以判斷線段之間的交叉來計(jì)算得到實(shí)際的河道水陸分界線,由于河道要能通航而成為航道,必須滿足一定的河道寬度和水深條件(如水深至少3.5m,河道寬度至少50m),通過計(jì)算滿足一定河道寬度和水深條件的連續(xù)DEM格點(diǎn)數(shù)就可以確定航道范圍,當(dāng)具有兩條以上可行河道時(shí),可以選擇寬度大的河道為航道,從而可顯示實(shí)際水位高度、航道寬度和最大水深,并實(shí)現(xiàn)最優(yōu)航道的選擇與推薦.
1.4 場景回放模塊“三維場景回放”模塊主要功能為:
(1)可交互選擇索引文件,自動或交互選擇播放圖像文件,可選擇回放場景窗口大小.
(2)自動推薦回放起點(diǎn)文件和終點(diǎn)文件,并可在索引文件表范圍內(nèi)交互選擇.
(3)可選擇正常播放、暫停、快進(jìn)、快退、慢進(jìn)、慢退,并自動顯示播放當(dāng)前文件名.
(4)支持符合規(guī)范的其他圖像文件回放.
系統(tǒng)的“基本數(shù)據(jù)采集”模塊用Visual C++對話框類開發(fā)而成,為了與Google Earth通信,需要在工程中加入Google Earth控件的應(yīng)用程序接口(aplication program interface,API)文件“googleearth.h”和“googleearth.cpp”[7],在對話框類頭文件中先加入:
由于地圖窗口與Google Earth觀察窗口的大小和投影方式并不一致,為了得到Google Earth自動飛到經(jīng)度、緯度和高度與地圖窗口指定基本一致,需要自動反復(fù)計(jì)算,通過其中的AutoChangeHeight()函數(shù)實(shí)現(xiàn),主要程序如下:
AutoCAD數(shù)據(jù)的提取及其投影坐標(biāo)的轉(zhuǎn)換與“三維流域顯示”、“水面仿真”和“三維場景回放”等模塊一樣用Visual C++與圖形庫OpenGL開發(fā)而成,可以參見相關(guān)論文[6].利用各種條件搜集到了長江部分河段的1∶10 000地圖,實(shí)現(xiàn)真實(shí)三維環(huán)境下的場景漫游、數(shù)據(jù)查詢和分析統(tǒng)計(jì)功能,可以進(jìn)行相關(guān)數(shù)據(jù)查詢并實(shí)時(shí)顯示分析結(jié)果,模擬不同水位下的長江航道可通航情況,實(shí)時(shí)顯示某個(gè)地點(diǎn)的水位高度、航道寬度和最大水深,可以動態(tài)實(shí)時(shí)顯示河道地形的歷史變遷效果,如圖4所示.
圖4 三維河道動態(tài)模擬系統(tǒng)
目前在我國大多數(shù)地區(qū)從Google Earth中提取的地形高程分辨率比較低,而且未必有水下地形,河道的水下地形獲取已經(jīng)逐步實(shí)行數(shù)字化,可以不經(jīng)過AutoCAD成圖而直接處理生成三維模型,因此如果將Google Earth衛(wèi)星影像、全球定位系統(tǒng)(global positioning system,GPS)和水深儀實(shí)時(shí)測量等相結(jié)合,就可以為實(shí)時(shí)動態(tài)交互地可視化顯示三維河道地形,進(jìn)行航道演變分析,輔助航道規(guī)劃和疏浚工程提供可能.
[1]寧津生,陳俊勇,李德仁,等.測繪學(xué)概論[M].武漢:武漢大學(xué)出版社,2004.
[2]王金艷,黃永林,譚慧明,等.利用 ArcGIS生成水系密度的方法[J].地理空間信息,2010,8(6):101-102.
[3]蔡麗娟,劉偉達(dá).內(nèi)河礙航事故管理智能決策支持系統(tǒng)分析與設(shè)計(jì)[J].水運(yùn)工程,2010,448(12):19-22.
[4]董炳江.內(nèi)河航道船模數(shù)模及其虛擬仿真系統(tǒng)初步研究[D].武漢:武漢大學(xué),2009.
[5]http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=3566722,2011-06-01.
[6]朱英浩,張劍清,張祖勛.基于攝像機(jī)及線劃圖的網(wǎng)上三維場景[J].計(jì)算機(jī)仿真,2007(11):227-230.
[7]Google Earth APIs.http://code.google.com/apis/earth/documentation/[EB/OL].
Research of integration data of AutoCAD and Google Earth for three-dimensional river channel dynamic simulation system
ZHU Yinghao1,2,PANG Weixing3
(1.State Key Laboratory of Water Resources and Hydropower Engineering Science(Wuhan University),Wuhan 430072,China;2.Center of Simulation,National Defence Information Academy,Wuhan 430010,China;3.Zhejiang Economic and Informational Technology Commission,Hangzhou 310007,China)
This paper achieved three-dimensional river channel dynamic simulation system with Visual C++,integrated extract and fusion data of AutoCAD and Google Earth,dynamically simulate three-dimensional river channel of different period under different water level,run-time displayed width and maximal depth of river channel.
three-dimensional river channel;dynamic simulation;integration of system;Google Earth;AutoCAD
TP391.77;S126
A
1000-2375(2011)04-0470-05
2011-06-07
水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室(武漢大學(xué))開放基金項(xiàng)目(2009B058)資助
朱英浩(1963-),男,博士,教授,博士生導(dǎo)師,E-mail:yhzhu@public.wh.hb.cn
(責(zé)任編輯 趙燕)