黎 華 吳 浩 崔 巍
(武漢理工大學資源與環境工程學院 武漢 430070)
地形的可視化是一門以研究數字地形模型(digital terrain model,DTM)或數字高程域(digital height field)的顯示、簡化、仿真等內容的學科[1].在工程施工中,尤其是大型場地平整的土方施工中需要進行挖填方量計算.土方工程在整體工程造價中所占的比例很大;數字高程模型DEM在計算挖填方量時能獲得較高精度,相對經濟、高效,而且在一般的GIS平臺上都能夠實現[2].不管是三維地形的動態顯示還是工程土方量的計算,都涉及到許多關鍵技術,比如三維地形建模、三維地形的簡化、插值、投影變換、地形的紋理映射、地形的光照處理以及利用DEM計算土方量等[3].現在通用的商用地理信息系統平臺都提供了二次開發功能,用戶可以開發屬于自己的三維地形瀏覽、動態顯示和土方量計算的系統.由于國產軟件在界面、操作習慣和高效性等方面有其自身的優勢,應用面也非常廣[4],所以選擇Supermap作為開發平臺.筆者基于Supermap平臺,構建了一個三維地形動態顯示和土方量計算的信息系統.
Supermap是北京超圖地理信息技術有限開發的新一代組件式地理信息系統(ComGIS)平臺.它基于Microsoft的Com組件標準技術,以ActiveX控件的方式提供強大的GIS功能.它提供了SuperWorkspace(工作空間控件)、Supermap(地圖控件)、SuperLegend(圖例控件)、SuperTopo(拓撲控件)、Super3D(三維控件)、SuperLayout(圖版控件)等主要控件,另外還有兩個輔助開發控件:SuperWkspManager(工作空間管理控件)和SuperGridView(數據網格控件).Supermap的各個控件完成不同的功能,其中Super-Workspace主要承擔Supermap中各種數據元素的管理;Supermap承擔地圖的顯示、編輯、分析等功能;SuperLegend是一個圖例控件,用于顯示地圖窗口的圖例;Super3D承擔三維模型的創建、顯示和分析功能;SuperTopo控件完成拓撲關系的創建和修復;SuperLayout控件完成制圖輸出功能;SuperWksManager提供了一個類似于Window s資源管理器的工作空間管理器;SuperGrid-View用于快速顯示Supermap中的記錄集對象. Supermap組件開發平臺具有如下的特點.
1)基于控件的二次開發 Supermap以標準ActiveX組件的形式提供了GIS的全部功能.基于這些組件,可以在Visual Basic,Visual C++, Delphi,Visual C#.NET,Visual Basic.NET, Visual C++.NET,ASP.NET等流行的開發工具中,開發出功能強大的GIS應用系統,并可與OA,MIS等其他信息系統無縫集成.
2)兼容多種地圖數據格式 Supermap提供完整的地圖制作編輯功能,能夠讀取多種地圖數據格式,如AutoCAD的.dxf格式、MapInfo的.tab格式、ArcInfo的.shp格式,這些功能保證了地圖數據的可重用性,可以降低數據的成本.
3)強大的三維建模和分析功能 利用Supermap前端采集的數據生成DEM模型,可以添加紋理貼圖和光照效果來增加三維顯示效果;提供多種分析功能,如坡度、坡向、高程信息的查詢和土方量計算等.
4)提供長事務管理模式和聯機并發操作能力 利用數據庫模式管理空間數據,實現了空間數據和屬性數據的一體化集成.提供了長事務處理機制和聯機并發操作機制,可以將數據存儲在服務器中,從多個客戶端同時瀏覽、編輯數據,不僅大大提高了工作效率,而且使數據的完整性有了更好的保障.
5)空間索引和緩沖 利用空間索引和多級空間緩存技術可以大大降低空間數據的訪問頻度和數據傳輸規模,減少或避免空間數據在網絡上的無效傳輸,提供系統在網絡上的運行效率.
三維地形動態顯示和土方量計算的信息系統是廣州市花都區機場高新科技及物流產業基地數字化管理與決策支持系統的一個子系統.該系統的主要用戶是空港經濟管理委員會(簡稱“空管委”).
廣州市花都區新白云機場東邊有一個擬建的高新科技及物流產業基地,開發面積約25 km2,北至機場高速公路,南連流溪河,西至永新路,東邊大約到花僑鎮邊界.整個開發基地以山體為主,地形起伏較大.為達到產業基地科學合理的設計,并且在施工過程中最大限度節約資源,需要通過計算和可視化解決土方調配等問題.開發區的總體規劃基本成形,現在要在顧及總體規劃的前提條件下,對整個地區的地形進行開挖和利用.為避免浪費大量的財力、物力和人力,同時確保經修整后的景觀科學、合理、美好,需要建立一個三維地形地貌模擬仿真系統,供領導動態改變地形地貌,分塊計算填挖方土量,綜合統計土方量,結合整個開發區的規劃,在景觀美觀性和工程量方面達到最好的和諧性,輔助領導做好決策.
系統遵循先進性、實用性、標準化和可擴充性原則[5].因其主要用戶為“空管委”的內部用戶,因此系統的總體設計為C/S的三層體系結構(見圖1).從圖1中可以看出,系統有清晰的三層體系結構:數據服務層、業務邏輯層、表現層.數據服務層提供數據存儲管理的功能,主要用關系數據庫存儲管理基礎地形、計算分析過程數據以及遙感影像數據(三維紋理貼圖所用).業務邏輯層是實現系統功能的核心層,數據讀取和管理利用ADO. NET技術和空間數據引擎(Supermap的 SDX +)來實現,業務邏輯利用業務邏輯組件來實現完成,業務邏輯組件利用Supermap組件式地理信息系統開發平臺來開發完成,并且通過構建特定的專業業務模型來擴展專業領域的功能.表現層利用業務邏輯層的組件來構建GUI(圖形用戶界面),表現系統提供的功能和信息,實現與用戶的動態交互.表現的界面主要是Windows的界面風格.

圖1 系統的總體結構
系統的三層體系結構是一個開放性的結構,層次性的組件式功能結構設計利于系統功能應用的靈活擴展、系統的應用維護.
2.3.1 關系數據庫管理空間數據的關鍵在于面向對象的空間數據模型的采用[6]面向對象的空間數據模型的采用改變了原有GIS中圖形與屬性分離的概念,反映空間對象的幾何圖形數據只是作為一個屬性字段(BLOB字段)與其他非空間屬性存貯于關系數據表的一行中.這種數據模型可以方便地定義空間對象之間、空間對象與非空間對象之間的關聯關系和規則,能更好地對現實世界建模.采用關系數據庫統一管理空間數據和非空間數據,可以保證空間數據和非空間數據的一體化集成.
2.3.2 CBD技術的應用 系統基于面向對象的建模方法,編程實現在面向對象技術基礎上,采用組件(component based development,CBD)開發技術,將底層模塊封裝為應用組件,通過應用組件的組合搭建系統,以實現軟件模塊的重用和軟件的共享,為以后系統的升級、維護、更新奠定良好的基礎.應用組件的實現主要采用COM技術, GIS應用的開發也基于組件技術,采用組件式GIS軟件進行開發,這樣可以方便地實現各功能子系統的一體化集成[7].由于采用三層模型和組件技術進行開發,可以共享大部分的應用組件,為系統的集成奠定堅實基礎.
2.3.3 三維地形建模與仿真 常采用的兩種數據格式是不規則三角網(TIN)和規則格網(GRID).不規則三角網和規則格網被廣泛用于地學領域用來模擬地形表面[8].TIN是由分散的地形點按照一定的規則構成的一系列不交互的三角形組成.它描述地面的真實性,由地形點的密度決定,其適應于地形較復雜的地區,具有較高的精度,而且能夠插入地性線和禁區邊界等,從而能夠真實地模擬復雜的地形表面,但存儲量較大. GRID模型是用一組大小相同格子描述地形表面,其適用于地形較為平坦的地區.同TIN模型相比,GRID模型具有較小的存儲量和簡單的數據結構,便于存貯和管理.由于研究區域的地形不是很復雜,而且為了工程土方量計算的方便,系統采用規則格網的數據格式來構建三維地形.系統提供了將具有高程信息的點和線圖層來構建三維地形的功能.如 soGridAnalyst.LineToDEM方法就是將具有高程信息的線圖層構建成三維地形.
紋理映射技術在科學可視化、計算機游戲和虛擬現實中的應用非常廣泛,在三維地理信息系統中已經離不開紋理技術.在已有地形表面上疊加圖像紋理(如衛星影像),這是公認的提高地形真實性的有效方法[9].在地形的紋理映射中,如果有反映某個地區的地貌航空攝影照片,即可以用紋理映射的方法將該區的航空照片貼到DEM上,再現出真實生動的地貌景觀,提高三維場景的真實性.Super3D控件的 Texture屬性能夠用來設置三維場景的紋理圖片,紋理映射圖片要事先配準才能更加符合實際地形.
2.3.4 土方量計算 一般大面積土石方工程量的計算有兩種方法:一種是橫斷面法也稱截面法,另一種是格網法.該系統采用的是格網法.關于格網法計算土方量的算法過程請參閱相關文獻[10].在 Supermap中提供了計算土方量的接口:so3DAnalyst.CutFill.
采用面向對象的建模方法和組件開發技術,建立了三維地形動態顯示及土方量計算的系統,見圖2.該系統主要由4個模塊組件組成:數據操作與三維建模、空間分析、三維顯示與控制、填挖方.功能組件圖見圖3,主要功能如下.

圖2 系統主界面圖

圖3 系統功能組件圖
1)數據操作與三維建模組件 該組件提供對存貯在數據庫中或者文件類型的三維點數據轉換為DEM的功能,也提供對存貯在數據庫中或者文件類型的等高線轉換為DEM的功能.
2)三維顯示與控制組件 該組件主要完成三維數據的顯示,圖層疊加,以及基本的三維操作,包括放大、縮小、平移、拉框放大、拉框縮小、水平旋轉場景、升降場景等,也包括比較高級的三維操作:指定一定的飛行路徑,做飛行瀏覽顯示.
3)空間分析模塊 主要完成一些空間分析功能,包括距離、面積量算,坡度、坡向分析、高程信息查詢等功能,見圖4.
4)填挖方組件 提供各種方式的填挖方量計算,包括規劃好的道路土方量計算、土方均衡計算(將一塊地平整達到填方和挖方均衡相等時的基準高程以及此時的填挖方量),并且能夠顯示填挖方后的三維地形.圖5是按照一種土地利用規劃方案的填挖方量的結果和填挖方后的三維效果圖,疊加了模擬的建筑物.

圖4 查詢坡度、坡向、高程信息的結果圖

圖5 填挖方量計算及填挖方后的三維效果圖
運用組件式GIS的Supermap軟件作為開發平臺,通過軟件工程的方法,采用面向對象的建模技術和組件開發方式,建立了三維地形動態顯示及土方量計算系統.該系統可以構建比較符合實際地形的三維場景,對三維場景可以進行各種方式的瀏覽查看,包括飛行瀏覽等.如果帶有高程信息的等高線的精度比較高(如比例尺為1∶500的地形圖上的等高線),則可以比較準確的得出工程的土方量計算結果并且能夠顯示填挖方后的三維場景效果,能夠指導施工,節約成本.該系統已經成功運用于廣州花都區高新科技及物流產業基地的建設方面,對于該基地的前期場地平整和土地利用規劃起到一定指導作用.
[1]王永明,地形可視化[J].中國圖像圖形學報,2000, 5(6):449-456.
[2]柯曉山,張 瑋,王榮靜.采用不規則三角網插值進行土地整理項目前期平整土方量的計算[J].農業工程學報,2000,20(3):243-247.
[3]Francisco Rovira-Ma F,Zhang Q,Reid J F.Stereo vision three-dimensional terrain maps for precision agriculture[J].Computers and Electronics in Agriculture,2008,60:133-143.
[4]Zhang Hairong,Yu Jingsongdi,Liu Wei.Study on key techniques for multi-scale expression of laneway traverse data in MGIS[J].Journal of China University of Mining and Technology,2007,17(4):508-502.
[5]李昌志,王兆印,劉興年.基于Supermap的玉豐水土保持決策支持系統的設計與開發[J].水土保持學報, 2003,17(3):96-100.
[6]包世泰,夏 斌,蔣 鵬.基于GIS的地質勘察信息系統設計與實現[J].地理與地理信息科學,2004,20 (4):31-35.
[7]楊 旭,黃家柱,許建軍,基于組件式GIS的地下水動態管理系統設計與開發[J].地理與地理信息科學, 2003,19(5):47-50.
[8]楊春金,劉 敏.基于OpenGL地形地物三維可視化研究[J].武漢理工大學學報:交通科學與工程版, 2005,29(3):400-403.
[9]詹發新.地形可視化的進展與評述[J].北京測繪, 2004(2):8-11.
[10]魯成樹,吳次芳,汪 峰.農地整理土方工程量計算及調配中地理信息系統的應用[J].農業工程學報, 2003,19(6):289-292.