陳楚,周奎,段有林
(天津市測繪院,天津 300381)
地圖是人類空間認知的結果,又是人們進行空間認知的工具。地圖學家們探索了人的空間感受與圖形認知的一系列生理、心理機制,提出了“視覺變量”和平面地圖空間信息傳輸模式的理論,有效地提高了地圖設計的質量和使用效果。
近年來,我國國民經濟持續、快速、健康發展,人們的生活水平不斷提高,隨著科學技術不斷進步,虛擬現實(VR)、地理信息系統(GIS)、各種駕駛模擬訓練、3D游戲等在社會生活中得到了越來越多的應用,人們對地圖的需求不再滿足于二維的點線面等矢量抽象的表示形式,而要求使用三維空間真實直觀地再現客觀世界。三維可視化技術使傳統二維的、靜態的地圖表示向三維的、動態的場景表示方向發展。利用虛擬現實(VR)技術在空間數據庫支持下可以構建虛擬生活環境,人在進入這一環境后可以利用計算機實現以視覺為主的全方位交互,這是空間數據可視化最有發展前景的新領域,已成為被關注的熱點,也是研究、利用數字地球資源的重要工具。三維地形模型的制作始終是其中的一個關鍵問題。
三維地形模型是建立有高低起伏,符合真實情況的地表輪廓的三維模型。它不僅能真實、細膩地表現地貌形態的高低起伏,還能較好地顯示地物地貌之間相互關系和位置。
傳統的地形圖主要是以等高線或高程散點和地形特征線等形式來表現地形的高低起伏、符合真實情況的地表輪廓。三維地形模型一般是在等高線、三維特征線或高程數據的基礎上構建規則的或不規則的格網來生成地形曲面(三角形面)。
天津地處華北平原東北部,除了薊縣北部地區為山區地帶,地形起伏較大外,其他地區均為平原或丘陵,平均海拔高度 2 m左右。試驗區選擇了天津市河西區的一個街區,面積 0.8km2,最高點高程 8.77 m,最低點高程 1.65 m。這部分 1∶500地形圖上以散列的高程點和特征線來表達地形的起伏。本文主要研究利用現有的 1∶500地形圖系統數據中的二維面數據,結合地貌層中的獨立高程點,制作生成三維面,通過3ds Max構建不規則的三角格網生成地形曲面,為了反映地貌中的細節,根據不同地形曲面數據的屬性貼上不同的紋理細節,最終制作形成三維地形模型。
對于原始的1∶500地形圖,是按照系統數據的標準進行制作的。為了更好地制作三維特征線,將系統數據進行改造分類,把面數據(主要包括居民地、交通、管線、水系、地貌和植被等)、道路中心線數據和地貌層中的高程點數據等數據提取出來,對高程點數據進行編輯處理。將橋梁上的高程點、水面上的高程點刪除。由于系統數據中部分面數據有重疊(例如交通層與居民地層有重疊),因此要對各數據進行重新計算刪除重疊的面。同時,為了全面表現出現實場景,將部件調查數據中按行政區劃分,每個區的分層數據中大約包括80余種數據,將所有數據進行篩選,把需要制作的數據綜合在一起,準備進行計算。
地形要素類型的屬性不同,構建三維面數據的方法也不同。通過分析大致將地形要素分為三類:
(1)道路交通類。道路上的高程點一般分布在道路的中心線附近,為了保持道路的平坦,必須保證道路邊線垂直道路中心線的地方高程保持一致。
(2)建構(筑)物的底座。為了保證建構(筑)物的模型能夠放置在一個平面上,在制作三維地形模型時,必須保證建構(筑)物的底座邊線的高程相同。管線類模型的要求與此相同。
(3)其他地形要素。除了以上兩大類以外的其他地形要素必須保證構建的三維面與高程點之間的高程差控制在一定范圍內,以保證三維地形模型的高程精度。
為保持地貌形態的真實高低起伏,準確表達不同地形要素的屬性,在制作地形三維面數據時要求:一是同一位置的點的高程必須相同。二是相鄰點之間高程差與距離比不能超過0.05。三是構建的不規則三角面的最小內角不能小于20°。對以上三大類地形要素采取不同的三維面生成方法。具體如下:
①道路交通類
利用道路的面數據在地貌的高程文件中提取出道路上的高程點,由于道路中心線上點數量有限,點之間的平均距離較大,容易導致生成三維道路面出現突變,不平滑。因此,需對道路中心線上的點進行加密,保證相鄰點之間的實地距離最大不超過 0.5 m,對相鄰兩點超過 0.5 m的地方,將兩點連線的中點添加到道路中心線上,并把這兩點高程的均值作為中點的高程。對道路邊線上的每一個點,作一條過該點且垂直于道路中心線的垂線,將道路中心線上垂足前后兩點的高程按照距離加權平均后的高程作為該點的高程。
②建構(筑)物的底座
由于在1∶500系統數據中,每一個建構(筑)物的底座附近都應有一個高程點。因此,在構建建構(筑)物的底座時,尋找距離建構(筑)物最近的點作為建構(筑)物底座的高程。為了保證不出現較大的三角面,需要對建構(筑)物底座邊線上的點進行加密,保證相鄰點之間的實地距離最大不超過 0.5 m。
③其他地形要素
為了保證地形的連續性,利用已經生成的三維道路面、建構(筑)物三維底座面和地貌中的高程點,運用分而治之的方法構建Delaunay三角網。為了保證相同的點獲得相同的高程,對相鄰要素的重疊邊上的點,相互插入到對方的重疊邊上。為了保證不出現較大的三角面,需要對其他地形要素的邊線點進行加密,保證相鄰點之間的實地距離最大不超過 0.5 m。對每一邊線點,通過Delaunay三角網獲得該點高程。對于地形模型中的點狀要素,如城市部件,只需要得到插入點的高程。因此,通過構建Delaunay三角網,查詢插入點的高程即可。

圖1 利用三維道路面、建構(筑)物三維底座面和地貌中的高程點構建的Delaunay三角網
將制作完成三維面的居民地、交通、管線、水系、地貌和植被等數據分別導入3ds Max中,對制作好的模型進行貼圖。將其余計算成三維的部件調查數據逐類分離,分成單獨的cad文件,分別導入3ds Max軟件,分別擺放部件,并對其中的部分數據逐個進行旋轉,比如路燈、交通信號燈等。將制作好的房屋模型導入制作好的三維地形數據中逐個進行擺放,擺放到相對應的高度位置。

圖2 左圖是制作完成三維地形后全區三維場景效果圖,右圖是局部放大圖
為了保證制作后三維地形模型的高程精度,對三維地形模型的高程精度進行了檢查,首先將1∶500圖數據中的高程點導入3ds Max中并制作成一個圓柱體,以便和地形進行比對。然后在3ds Max中旋轉角度選取圓柱體和地形相差較多的地方進行記錄,統計出差距最大的點,最后選取其余差距微小的點統計出一個相差的平均值。總共統計了30個高程點,平均誤差 0.32 m,最大誤差 0.56 m,最小誤差 0.07 m。最大誤差發生在綠地中間的凸起處,三維地形模型進行了平滑,導致誤差較大,其他的誤差都能保證在0.5 m,表明三維地形模型的高程精度滿足要求。
[1]譚仁春.三維城市模型的研究現狀綜述[J].城市勘測,2007(3)
[2]劉曉艷,林琿,張宏.虛擬城市建設原理與方法[M].北京:科學出版社,2004
[3]王華.3ds Max Script腳本語言完全學習手冊[M].北京:兵器工業出版社,2006
[4][美]Kelly L.Murdock,田玉敏,沈金河譯.3ds Max 8寶典[M].北京:人民郵電出版社,2007
[5]霍家通,孫堯,陳慧.三角形格網地形數據及其OpenGL顯示[J].應用科技,2001(5):26~27