王星,田茂義,寧化展,曾靜靜
(1.山東科技大學測繪科學與工程學院,山東青島 266510; 2.濱州水利勘測設計研究院,山東濱州 256600;3.青島市勘察測繪研究院,山東青島 266033)
基于ArcGIS與3ds Max三維地形可視化關鍵技術的研究
王星1?,田茂義1,寧化展2,曾靜靜3
(1.山東科技大學測繪科學與工程學院,山東青島 266510; 2.濱州水利勘測設計研究院,山東濱州 256600;3.青島市勘察測繪研究院,山東青島 266033)
在3ds Max中進行三維地形建模時,一般以等高線為基礎,通過Terrain工具生成三維地形。這樣的三維地形精確度比較低,難以滿足用戶的實際需求。本文以某項目的三維地形建模為例,研究如何將大數(shù)據(jù)量的離散點數(shù)據(jù)導入3ds Max實現(xiàn)高精度的三維地形模型。通過分析研究3ds Max所能接受的數(shù)據(jù)類型和離散點數(shù)據(jù)特點,提出了將離散點數(shù)據(jù)導入ArcGIS,利用ArcGIS進行特征點線的添加修改、數(shù)據(jù)的平滑處理、三維模型的導出,最后將生成的模型導入3ds Max,而后建立高精度的三維地形模型的技術路線。實踐證明,此方法具有良好的可行性。
ArcGIS;3ds Max;TIN;可視化;三維地形
近年來,隨著計算機技術的發(fā)展,虛擬現(xiàn)實技術越來越多地受到人們的關注。三維地形顯示能很好反映區(qū)域地勢地貌,在城市規(guī)劃設計等領域的應用也越來越廣泛。
3ds Max是當今國內外最流行的三維動畫制作軟件,其在電影特技制作、立體和影視動畫、廣告設計、建筑和室內裝修設計、包裝與裝潢設計、三維游戲開發(fā)等行業(yè)廣泛應用[1]。
在建筑設計領域,設計者習慣利用3ds Max等進行建筑物模型設計及建筑物效果渲染。3ds Max等非專業(yè)地形建模軟件做三維地形都需要以等高線為基礎生成三維地形,但生成的三維地形精度不高,很難達到設計者的要求,影響建筑模型設計和渲染的效果。
目前,專業(yè) GIS建模軟件(如 MapGIS、ArcGIS、GlobalMapper等)所做的三維地形模型精度能夠達到設計者要求,但這些模型與3ds Max等模型設計軟件還不能完全兼容。鄭浩等做過將三維地形以DXF格式導入并在3ds Max中顯示的研究,但這種方法存在三維模型數(shù)據(jù)量大,貼圖坐標設置復雜,對計算機配置要求高,操作復雜等問題。
本文設計并實現(xiàn)了基于GIS的三維地形在3ds Max顯示的技術流程(圖1)。解決了三維模型在兩種軟件下兼容的問題。本文利用ArcGIS專業(yè)軟件制作三維地形模型,并將模型在3ds Max中顯示。實踐證明,該方法的實現(xiàn)為用戶的工作可提供極大便利。
圖1 技術流程圖
2.1 數(shù)據(jù)獲取
數(shù)據(jù)的獲取主要借助數(shù)字攝影測量技術,利用低空無人飛艇拍攝得到項目區(qū)的俯瞰影像,再根據(jù)像控點信息對圖像進行幾何糾正與坐標配準。其中像控點一定要選取在顯眼、固定的位置,且像控點要密度適中,均勻分布。根據(jù)項目區(qū)實際地形狀況(如圖2),像控點主要布設在海岸線的礁石上以及盤山公路上。在項目區(qū)選好像控點后,利用RTK(GPS實時動態(tài)差分法)測得各點的三維信息,為影像配準做好數(shù)據(jù)準備。內業(yè)處理中,對影像進行空三加密和數(shù)字地面模型的恢復,利用軟件中自動采集和人工干預的方式獲取離散點信息。離散點的數(shù)據(jù)量直接影響DEM的精度,離散點密度太小會降低DEM精度低;離散點密度太大又會增大數(shù)據(jù)量、處理的工作量以及不必要的存儲空間。因此,在地形復雜的區(qū)域采點密度大,地形簡單的區(qū)域采點密度小。本項目對地形三維顯示要求較高,所以采點密度整體很高,數(shù)據(jù)量總體很大。采點過程中受水面區(qū)域較大和存在大量植被等不利因素的影響,在數(shù)據(jù)自動提取過程中,不可避免的出現(xiàn)大范圍的高程點異?,F(xiàn)象。
圖2 項目區(qū)俯瞰圖
2.2 數(shù)據(jù)預處理
(1)數(shù)據(jù)粗差處理
在ArcGIS中以shape點文件格式對離散點數(shù)據(jù)進行組織、存儲與管理。計算機自動提取離散點過程中,會出現(xiàn)粗差,降低模型精度,所以對數(shù)據(jù)進行初步檢查以剔除粗差。常規(guī)方法是直接修改三維地形,這種方法操作較復雜且容易改變三維地形精度。本文通過剔除原始數(shù)據(jù)中的粗差方法,來提高三維地形精度。以離散點為基礎數(shù)據(jù),在ArcGIS中利用3D Analyst工具生成TIN。在ArcScene中將TIN與影像融合,觀察三維地形,發(fā)現(xiàn)其中明顯錯誤的區(qū)域,同時在ArcMap中定位到錯誤區(qū)域,檢查該區(qū)域離散點屬性(如圖3、圖4所示),發(fā)現(xiàn)粗差點。將粗差點刪除,再重新采集該區(qū)域點信息,以shape格式存儲。
圖3 ArcScene中錯誤處
圖4 ArcMap中數(shù)據(jù)源
(2)數(shù)據(jù)誤差處理
在地勢變化較小的區(qū)域也存在誤差,并且難以發(fā)現(xiàn)。在ArcGIS、Global Mapper等三維軟件中進行三維顯示時,不會影響區(qū)域顯示的整體效果。由于3ds Max是模型的精細顯示,因而在3ds Max中顯示三維模型時,會出現(xiàn)局部區(qū)域褶皺現(xiàn)象(如圖5)。由于這種誤差比較隱蔽,修改原始數(shù)據(jù)難以實現(xiàn),因此可利用圖像處理的方法對地形GRID圖像進行適當?shù)钠交幚?,以提高地形精度?/p>
圖5 平滑處理前褶皺區(qū)
在進行圖像平滑時,平滑算子的選擇對處理后的模型精度非常重要。由于模型中出現(xiàn)的褶皺區(qū)域面積較小,選擇影響范圍較小的3×3的算子(式(1))進行圖像平滑。如果一次平滑效果不好,可重復平滑。平滑后效果如圖6所示。
圖6 平滑處理后褶皺區(qū)
(3)平面區(qū)域數(shù)據(jù)處理
在一些平面的區(qū)域,如海平面,養(yǎng)殖池,觀光平臺,房頂?shù)?,可以通過線文件或面文件的形式進行單獨管理。將這些平面區(qū)域進行矢量化,并在矢量線中指定其高程屬性值,以線文件的shape格式保存,這樣會進一步降低由于計算機自動采點所造成的地形誤差,如圖7所示。
圖7 平面矢量化
將已改正好的點文件與線文件作為原始數(shù)據(jù),利用3D Analyst工具生成最終的三維模型。
3ds Max支持多種三維模型的導入,比如DXF、WRL、DWG、WRZ等。通常情況下,人們將三維地形做成DXF格式再導入3ds Max。但是,經過筆者多次實驗分析,與DXF格式三維模型相比,WRL格式三維模型具有數(shù)據(jù)可分割,貼圖簡單,操作方便等優(yōu)勢。在ArcScene中將生成的TIN貼上紋理后,導出為3D形式,會生成一個WRL格式文件和16個圖像文件。
3.1 VRML模型結構
VRML(Virtual Reality Modeling Language)即虛擬現(xiàn)實建模語言。是一種用于建立真實世界的場景模型或人們虛構的三維世界的場景建模語言,也具有平臺無關性[5]。
VRML文件由下列4個主要部分構成:VRML文件頭、原型、造型和腳本、路由。在VRML文件中,并不是所有的文件都包括這些要素,唯一必須有VRML文件頭。VRML文件的擴展名.wrl或.wrz,表示這是一個包含VRML空間的文件。
在一個VRML空間里創(chuàng)建一個造型時,必須使用shape節(jié)點。它包含兩個域,分別是Appearance域和Geometry域。
(1)Appearance節(jié)點結構
Appearance節(jié)點將定義造型外觀的顏色和紋理,其格式如下:
Texture:包含一個ImageTexture、MovieTexture或者PixelTexture節(jié)點。VRML文件表面的紋理映射在Texture節(jié)點中,而Texture節(jié)點中有3種:第一種是圖像紋理(Image Texture),它是制定一個圖像文件的URL;第二種是影片紋理(Movie Texture),它包含有MPEG影片文件的URL,可產生動畫式紋理;第三種是像素紋理(Pixel Texture),它容許在節(jié)點內直接以十六進制定義像素形成紋理。
它通過指定一個圖像文件和映像到幾何圖形的通用參數(shù)來定義一個紋理映像。其結構如下:
ImageTexture域 表1
經觀察,發(fā)現(xiàn)在每一個shape節(jié)點中均有一個ImageTexture節(jié)點,其url域中的值都是平均分成的16個影像文件名之一。由此可知,每個shape節(jié)點均為一個模型區(qū)域外形節(jié)點。
(2)Geometry域值
Geometry域值是一個定義空間造型幾何尺寸大小的造型節(jié)點。VRML模型中點、線、面集節(jié)點包含int-Set、IndexedLineSet、IndexedFaceSet、Coordinate,4種。IndexedFaceSet面集節(jié)點不僅可以創(chuàng)建平面幾何造型,也可以創(chuàng)建實體幾何造型;同時它可以被用作shape節(jié)點的Geometry域的值。IndexedFaceSet結構如下:
Solid域用于設定面造型是否為實體。域值為TRUE時,表示所建造型為實體,不需要構建其背面,瀏覽器將跳過對背面的繪制,從而節(jié)省運算時間;域值為FALSE時,表示所建造型不是實體,需要構建造型的背面[6]。
式中:cp=1 005 J·kg-1·K-1表示干空氣的定壓比熱;ρ為干空氣密度;在高原地區(qū)取平均密度0.85g/cm3;CH為熱力輸送系數(shù);V0為地面10 m風速;Ta為2 m氣溫;Ts為地表溫度。
鑒于此,在VRML文件檢查時,應當注意Indexed-FaceSet中Solid域值是不是TRUE;若不是,應該改成TRUE。
3.2 紋理貼圖
在鄭浩等的研究中,需要對導入3ds Max的DXF模型進行貼圖坐標設置。貼圖坐標對生成的三維影像圖有重要影響[1]。如果貼圖坐標出現(xiàn)錯誤或偏差,必然導致紋理貼圖錯誤或偏差。VRML三維模型具有自動計算紋理坐標的功能,這是DXF等三維模型無法比擬的優(yōu)勢,避免了手工設置貼圖坐標所造成的貼圖誤差。
將三維地形模型導出VRML模型時,如果沒有進行紋理貼圖,則導出的VRML模型不具有貼圖坐標。在ArcScene中,對三維模型進行紋理貼圖,然后將三維模型導出為VRML類型。以這種方式生成的VRML模型會自動地進行紋理坐標計算,計算出模型中的每個頂點進行紋理坐標。在3ds Max中進行貼圖時,這種VRML模型就不需要進行貼圖坐標設置。
3.3 VRML模型展示
紋理貼圖結束后,將所有的模塊統(tǒng)一分成一組,便完成了目標區(qū)域的三維地形展示,如圖8和圖9所示。設計者在此模型上實現(xiàn)局部縮放,距離量測,角度量測,建筑模型設計,工程規(guī)劃等操作。結果表明,本模型具有明顯的立體效果,豐富的空間信息。
圖8 整體三維模型
圖9 局部三維模型
三維地形顯示在城市規(guī)劃、工程設計、建設施工等方面具有良好的應用前景。本文做了一次利用3ds Max進行三維地形顯示的研究,探索出一條利用Arc-GIS做地形模型,在3ds Max進行三維地形顯示的技術流程。該方法能夠顯示出比較精細的三維地形,能表達大量的三維信息。
[1] 鄭浩,江振江,馬曉峰等.利用3ds Max進行地形三維顯示的研究[J].解放軍測繪研究所學報,2001,21(3):58~62
[2] 孫軒,吳華意.ArcGIS的三維分析模塊的分析與探討[J].地理空間信息,2008,6(2):65~68
[3] 楊雪銀,萬成兵,呂光榮.基于ArcScene的三維地形可視化研究與實現(xiàn)[J].科技信息,2008(32):25~26
[4] 肖海紅.基于ArcScene的三維地形可視化及其應用[J].工程地質計算機應用,2007(3):12~16
[5] 湯國安,楊昕.ArcGIS地理信息系統(tǒng)空間分析試驗教程[M].北京:科學出版社,2006
[6] 超級版主.造型節(jié)點.http://cc6.com/forum/viewthread. php?tid=15.
[7] 解向利,劉焰春,皮亦鳴.三維地形生成及其可視化處理研究[J].計算機仿真,2007,24(7):235~238,304
《上海市現(xiàn)代測繪基準服務體系研究與建設》方案通過評審
近日,上海市規(guī)劃和國土資源管理局組織專家對《上海市現(xiàn)代測繪基準服務體系研究與建設》課題可行性方案進行了論證。專家組聽取了課題組匯報,一致同意該方案通過評審,并建議抓緊落實,加快進度,做好成果轉化和保障工作。
完善和優(yōu)化現(xiàn)代測繪基準服務體系,是上海市測繪院“十二五”規(guī)劃提出的主要任務之一,也是《上海市推進智慧城市建設2011-2013年行動計劃》關于建設功能服務型信息基礎設施的重點項目之一。
該項目將在分析現(xiàn)有上海測繪基準服務面臨問題的基礎上,以上海GPS綜合信息網為基礎,研究并建立適合上海市情、與國家關聯(lián)的上海市現(xiàn)代測繪基準服務體系,逐步完成多站點兼容北斗導航衛(wèi)星、GPS衛(wèi)星、GLONASS衛(wèi)星的建設和改造,進一步完善SHCORS無線廣播平臺和高精度位置服務平臺,構建上海市高精度位置服務平臺基礎框架,探索多種位置服務功能。
項目預計2012年9月推出階段性成果。該服務體系建成后將實現(xiàn)上海陸域范圍高精度定位功能,為城市規(guī)劃、土地管理、智能交通、公眾導航等相關領域提供更加廣泛的服務。
(來源:http://www.shsmi.cn)
The Research of Displaying 3D Terrain Based on ArcGIS And 3ds Max
Wang Xing1,Tian Maoyi1,Ning Huazhan2,Zeng Jingjing3
(1.Institute of Surveying and Mapping,Shandong University of Science and Technology,Qingdao 266510,China;2.Shandong Binzhou Institute of survey and design of water conservancy projects,Binzhou 256600,China;3.Shandong Qingdao Institute of Surveying and Mapping Survey,Qingdao 266033,China)
Terrain models carried out in 3ds Max are general based on contour and made by the Terrain tool.And these terrain models are hardly to support users’needs because of low accuracy.This paper researches how to import large amount of discrete data into 3ds Max,and realize high precision three-dimensional terrain model.Terrain Visualization,taking the terrain mapping of a project as an example.The paper focuses on analysis of the data type and data feature which can be accepted by 3ds Max;and propose a technical route by importing data to ArcGIS;modifying characteristic points,characteristic lines,doing data smoothing,exporting 3D models in ArcGIS;and importing the result model into 3ds Max,and generating High-precision three-dimensional terrain model.In practice,the feasibility of this process is proved very good.
ArcGIS;3ds Max;TIN;visualization;terrain model
2011—05—13
王星(1987—),男,碩士研究生,主要從事數(shù)字礦山與資源勘探方向研究。
山東科技大學研究生科技創(chuàng)新基金(YCB100115)
1672-8262(2011)06-50-05
P208.1
A