李京忠,郭 云,張海亮,張宗英,常 偉
(1.許昌學院 城鄉(xiāng)規(guī)劃與園林學院,河南 許昌461000;2.南陽市油田一中,河南南陽473132)
關(guān)于三維地理信息系統(tǒng)(3DGIS)研究從1998年提出的“數(shù)字地球”概念開始至今,一直得到該領(lǐng)域?qū)W者廣泛關(guān)注和應(yīng)用[1].與常規(guī)的二維GIS相比,3DGIS通過三維虛擬現(xiàn)實技術(shù)實現(xiàn)了對地理信息的多維空間表達與逼真顯示即可視化,打破了二維GIS抽象化地圖符號的地圖信息表達符號化、空間顯示平面化及對象空間拓撲關(guān)系簡單化,而使其進入多維化和復雜化;3DGIS注重自動和靈活化的人機交互界面,通過多維的“逼真”圖形分析場景、
“直覺”的交互技術(shù),實現(xiàn)了對多維地理信息的瀏覽、查詢、分析和決策等功能[2].目前,傳統(tǒng)的專業(yè)GIS軟件側(cè)重于二維空間信息的處理和空間分析功能,對于三維場景的建模、可視化和空間分析等功能實現(xiàn),則相對薄弱,而專業(yè)的三維建模軟件,如MultiGen Creator、Maya、Google SketchUp、Java-3D等能夠進行虛擬景觀以模擬現(xiàn)實世界,但在這些軟件在功能上,一般僅限于場景的再現(xiàn)和普通地圖的常規(guī)操作,無法實現(xiàn)更深層次的空間分析功能[3].總體上講,目前的3DGIS研究較多側(cè)重于三維可視化,仍缺乏真正的三維空間分析管理功能,更難以滿足不同領(lǐng)域的一些特定需求[4-6].因此,將GIS軟件和專業(yè)三維建模軟件有機結(jié)合,對于實現(xiàn)三維場景的可視化、動態(tài)漫游、屬性信息查詢和空間分析功能等具有重要意義.
本文通過將SuperMapDeskpro.NET 6R和三維建模軟件3D Max進行結(jié)合,構(gòu)建了校園三維模型,并在此基礎(chǔ)上利用SuperMapDeskpro.NET 6R構(gòu)二次開發(fā)技術(shù),設(shè)計與開發(fā)了許昌學院東校區(qū)三維地理信息系統(tǒng).系統(tǒng)綜合了二維GIS和3DGIS的基本和擴展應(yīng)用功能.該系統(tǒng)的設(shè)計與開發(fā)是校園3DGIS傳統(tǒng)理論和新技術(shù)的有益探索,還有利于促進數(shù)字校園建設(shè)、環(huán)境規(guī)劃管理,加速學校教學資源信息管理、校園辦公自動化,提高學校信息管理水平和效率、實現(xiàn)現(xiàn)代信息和資源共享.
目前,三維GIS技術(shù)還不夠成熟,其應(yīng)用領(lǐng)域也有限,主要問題是由于其數(shù)據(jù)類型和模型較復雜,數(shù)據(jù)量較大且難以大規(guī)模集成,因而在實現(xiàn)三維模型的構(gòu)建、數(shù)據(jù)存儲、處理、空間分析和顯示時,則需具備較高性能的硬件設(shè)備和一些高新技術(shù)、方法[7-8].同時,在進行三維模型的構(gòu)建過程中,必須在各個環(huán)節(jié)克服數(shù)據(jù)量較大的所可能產(chǎn)生的誤差影響.
本文采用的硬件設(shè)備主要包括:高性能的計算機、分辨率較高的數(shù)碼照相機、GPS、全站儀等.采用的核心軟件平臺有SuperMap Deskpro.NET 6R 、SuperMap、SuperMap Deskpro 6、3D Max,輔助軟件有 Auto-CAD、PhotoShop、Google Earth[9].SuperMap Deskpro .NET 6R 主要實現(xiàn)三維校園信息系統(tǒng)的開發(fā);SuperMap主要用于二維矢量數(shù)據(jù)和三維模型場景的存儲、編輯、顯示和空間分析;SuperMap Deskpro 6用于系統(tǒng)地理數(shù)據(jù)的投影和配準;3D Max主要用于實現(xiàn)三維模型構(gòu)建;AutoCAD用于繪制校園規(guī)劃圖,PhotoShop用于地物紋理圖片處理,如裁剪、銳化和自由變換等,Google Earth配合GPS用于確定校園地物的精確坐標位置.
GIS軟件(SuperMap)和專業(yè)建模軟件(3D Max)相結(jié)合,開發(fā)許昌學院校園3DGIS系統(tǒng)是本文的核心.首先以AutoCAD制作的校園規(guī)劃圖為基礎(chǔ),在SuperMap中進行數(shù)據(jù)格式轉(zhuǎn)換、圖形和屬性數(shù)據(jù)編輯處理、精確配準地理坐標,并保存數(shù)據(jù),建立拓撲關(guān)系;將經(jīng)過處理和校正過的數(shù)據(jù)導入3Dmax中進行編輯,按照設(shè)計要求建立實體模型,實現(xiàn)三維場景建模,對模型表面進行紋理映射;最后基于3Dmax的三維模型,將其導入SuperMap中,對其功能進行設(shè)計和編輯進行三維校園信息系統(tǒng)的設(shè)計與開發(fā).系統(tǒng)設(shè)計流程如圖1所示.
SuperMap傳統(tǒng)版本都不支持三維數(shù)據(jù),幾何圖形均以點、線、面的形式存在.SuperMapDeskpro.NET 6R是SuperMap GIS 6R桌面產(chǎn)品中的旗艦式GIS產(chǎn)品,它不僅涵蓋了SuperMap Express.NET 6R的所有功能,還支持擴展開發(fā),是一款可編程、可擴展、可定制的,二、三維一體化的桌面 GIS產(chǎn)品,能滿足用戶的多樣化需求.文章結(jié)合SuperMapDeskpro.NET 6R和3D Max設(shè)計開發(fā)出許昌學院校園3DGIS,簡化了三維建模及可視化,而且在大場景建模中具備顯著優(yōu)越性.
基于SuperMap進行空間位置配準,對柵格圖進行坐標和投影的校正;在SuperMap中進行底圖矢量化;在3D Max中建立三維模型并進行貼圖;在SuperMapDeskpro.NET 6R中對模型進行功能整合設(shè)計和實現(xiàn)包括:新建場景、設(shè)置圖層管理器加載需要屏幕圖層、普通圖層等圖層、屬性查詢功能、空間定位、縮放、旋轉(zhuǎn)和量算功能,三維仿真漫游等功能的設(shè)計等.三維模型和建立與可視化技術(shù)流程如圖2.
圖1 系統(tǒng)設(shè)計流程圖
圖2 三維模型和建立與可視化技術(shù)流程
2.1.1 建模數(shù)據(jù)的準備
基于SuperMapDeskpro.NET 6R和3D Max建立許昌學院三維校園信息系統(tǒng),首先需準備建模數(shù)據(jù).主要包括圖整個校園規(guī)劃圖;校園最新主要建筑CAD圖;用于底圖配準的Google校園地圖以獲取特征點坐標;校園各類地物大致尺寸的實地調(diào)查數(shù)據(jù)及外觀照片以進行建模和貼圖.
采集的圖片是用于模型貼圖的,而3D Max是通過給三維模型的各個表面貼上圖片來表現(xiàn)模型外觀的,所以在采集照片的時候要盡量拍攝地物的正面圖像,以免處理圖像時候還要進行旋轉(zhuǎn)和變形處理,這樣不但增加了建模工作的復雜性,還可能降低原圖片精度.
2.1.2 實體模型的建立實體模型的建立,包括數(shù)據(jù)處理、導入,建模和貼圖
首先數(shù)據(jù)處理主要是為地圖賦予真實的空間坐標和地圖數(shù)據(jù)的分層矢量化.由于規(guī)劃圖本身是沒有空間坐標的,需要進行配準和空間投影.投影配準需要在SuperMap.6平臺上進行,投影使用“Xian 1980 China”,6R沒有配準功能[10].SuperMap Deskpro 6提供了兩種配準方式:(1)采用參考圖層進行配準;(2)是直接輸入樣點的實際坐標進行配準,并且提供了三種配準方法,即矩形配準(2個控制點),線性配準(至少4個控制點),多項式配準(至少7個控制點).文中采用實際坐標匹配方式即四個控制點的線性配準.然后,基于進行配準和投影后的地圖,進行平面圖的繪制,也就是矢量化工作.因規(guī)劃圖的布局與實際情況有一定差異,在矢量化的時候要進行實時更改.而最終矢量化成果的檢驗要盡量參照實際情況,在兩者之間進行詳細比較,以保證矢量化數(shù)據(jù)的精度具體處理包括一、矢量數(shù)據(jù)分層:根據(jù)校園平面圖實際情況,按點、線、面進行分層數(shù)字化,主要分為道路、圍墻、建筑、湖泊等幾個圖層;矢量化過程需切記不要出現(xiàn)重復數(shù)字化現(xiàn)象,以免影響后續(xù)的建模.
將校園矢量化數(shù)據(jù)從SuperMap中導出為DWG或DXF格式,再導入3D Max中進行個性化建模,主要對校園地物進行三維重建.在進行三維重建過程中時需要注意幾點:
(1)數(shù)據(jù)轉(zhuǎn)換時單位和投影參數(shù)的統(tǒng)一性,避免后期出現(xiàn)3D Max中制作的模型和SuperMap中的場景不匹配問題.
(2)數(shù)據(jù)導入3D Max中后,可能會發(fā)現(xiàn)導入的數(shù)據(jù)并不能用來建立模型的情況.這時需要檢測圖形數(shù)據(jù)的拓撲關(guān)系完整性,例如圖形數(shù)據(jù)的不完全閉合或邊界線可能出現(xiàn)重合.進行檢測時,一般可分為兩個步驟:①根據(jù)專業(yè)經(jīng)驗,對于簡單錯誤,可以先放大圖形,就可以直接找出.而后,在修改器中可編輯樣條線下面進行編輯糾正;② 對于糾正后還存在的問題,可選中“頂點”選項下面的“顯示頂點編號”,這時就可以找出一些難以發(fā)現(xiàn)的、點不閉合或線段重疊,按此步驟依次糾正所有錯誤后可進入后續(xù)操作.
(3)盡量使導入圖形位于界面坐標“0,0,0”的原點位置,這樣既方便尋找,又可也提高捕捉精度,而且為后期將模型導入SuperMap的場景中提供便利.
對導入圖形進行糾正,調(diào)整到原點位置之后,便可著手建立三維校園模型.此工作主要涉及修改器中諸多功能的調(diào)用.若所建模型較復雜,可將包含不同高度的部分的模型,分成不同塊,用閉合的樣條線在圖形上描出來,然后進行擠出操作,最后調(diào)整有坡度的部分,這個方法大大提高了建模的效率和精度.圖3為使用3DMAX建立的實體模型[11-12].
圖3 實體模型
在3D Max中盡量用Shape(圖形)方式建立模型.其中,Box和Cylinder的結(jié)構(gòu),可用Shape中的Rectangle和Circle建立出形狀,再Extrude高度即可.通過此方法,建立模型的時候可有選擇的去掉模型的頂面和底面.因為在仿真模型的驅(qū)動中許多結(jié)構(gòu)的底面和頂面都是不會顯示出來的,必須刪除它們以節(jié)省顯示資源.而且使用Box的時候要采用較簡易的Box,以避免產(chǎn)生過多的面.單個模型的模型的面數(shù)盡量控制在2 000以內(nèi),否則可能出現(xiàn)附加異?;?qū)С鰰r3D Max崩潰.圖4顯示了通過Shape方式建立的模型.
先將配準過的地圖添加到三維場景中;然后可根據(jù)需要將矢量化的各圖層導入場景,接著將在3D Max中制作的路面模型、廣場模型、花壇模型、地皮模型等也導入場景中,最后導入建筑模型.需要注意的是在導入模型的過程中,會出現(xiàn)格式轉(zhuǎn)換和貼圖同步問題;這是因為SuperMap中支持sgm和3ds兩種格式的模型文件,而導出模型時候也要確保紋理路徑不發(fā)生變化,這樣才能在場景中完整地顯示貼圖.
在進行建模時,可根據(jù)實際需要,使用SuperMap Deskpro.NET 6R的自帶模型.SuperMap Deskpro.NET 6R中自帶的三維模型雖然不多,但是需要時可以從中調(diào)用,可以在建模和貼圖中工作中節(jié)省時間和提高效率.
圖4 新餐廳模型
樹木、路燈、亭子、籃球架,國旗等模型可最后導入.進行導入時,需對照地圖,找準相應(yīng)位置進行調(diào)整.
將所有模型都導入后,會發(fā)現(xiàn)一些地方出現(xiàn)偏移,需對照地圖進行細微調(diào)整.可通過屬性中位置參數(shù)的更改,調(diào)整模型在場景中的位置,直到處于理想的位置.
可采用地皮覆蓋建筑位置的方法鋪設(shè)地皮,比如建筑前后都是大片草地,則可以將整個建筑用地全部覆蓋,稍后再用建筑模型覆蓋草地.矢量化時可采用相鄰關(guān)系,而建模時用覆蓋關(guān)系可減少閃爍、露面問題.除此,還要注意對于共面現(xiàn)象,要按《RealSpace模型規(guī)范》處理:(1)同一法線方向的兩個面之間的最小間距要大于0.3米,以避免共面閃爍;(2)如果小于0.3米的話,就要把下面的面挖洞;(3)如果超過20米以上的大面在同一法線上重復,兩面間距則需要更大,需對實物下面進行挖洞處理[13-14].
將不同實體模型建好后,根據(jù)需要利用Photoshop等圖像軟件處理采集來的實物照片,留下貼圖需要的部分.不同的區(qū)域需采用不同的貼圖法,先在修改器里進行調(diào)整,而后進行渲染貼圖,不斷調(diào)整直至達到理想的效果.需要注意的是,3D Max中為了提高顯示和操作速度,并沒有把貼圖效果完全真實顯示,所以需通過渲染看貼圖效果,如果達到實際效果可停止調(diào)整.
在上述三維場景模型構(gòu)建、顯示和編輯的基礎(chǔ)上,利用SuperMapDeskpro.NET 6R組件庫進行三維校園信息系統(tǒng)的設(shè)計與開發(fā).此系統(tǒng)包含3大功能模塊:二維應(yīng)用模塊、三維場景模塊、二維和三維交互模塊.系統(tǒng)界面延承SuperMap經(jīng)典界面風格,界面最上端為菜單欄和主工具條;工具條以下左上側(cè)為二維數(shù)據(jù)、左下側(cè)為數(shù)據(jù)圖層管理窗口,右側(cè)為三維場景顯示和制圖操作主窗口.當圖層管理窗口中,地圖圖層高亮度顯示時,工具條上所有的二維操作工具可用(呈高亮度顯示),右側(cè)主窗口中自動顯示“地圖”界面,而當圖層窗口中場景圖層高亮度顯示時,工具條上所有三維模型的操作工具可用(呈高亮度顯示),右側(cè)主窗口中自動顯示“三維立體顯示”界面,反之亦同;界面最下端為狀態(tài)欄;在各項操作中,皆可利用右鍵快捷菜單.SuperMap有良好的顯示界面,上下左右的菜單和工具欄都可選擇性隱藏,便于場景的大屏顯示.圖5為許昌學院校園和校園南門入口完整界面.
系統(tǒng)的二維應(yīng)用功能主要通過直接使用SuperMapDeskpro.NET 6R組件庫,實現(xiàn)了二維數(shù)據(jù)的圖層編輯、地圖符號設(shè)計、空間查詢、距離量算等功能.圖6顯示了二維應(yīng)用功能中的目標定位、縮放、旋轉(zhuǎn)、漫游和空間量算(包括距離、高度、面積量算)等功能的實現(xiàn).
圖5 系統(tǒng)界面圖
圖6 二維應(yīng)用功能
系統(tǒng)的三維場景功能主要包括三維實體模型的導入和導出功能、和圖層管理功能(圖層的顯示、添加和刪除等)、三維場景瀏覽功能(使用菜單、工具欄或通過鼠標滑輪滾動,實現(xiàn)場景模型的放大、縮小、漫游、導航、飛行等,以全面反映校園地理信息的現(xiàn)狀,包括各類地物的形狀、分布、空間關(guān)系以及校園全景三維顯示等)、三維交互測量功能、三維地物空間查詢等功能.快速并準確地進行三維校園建筑物等信息的檢索查詢和定位在三維系統(tǒng)中尤為重要,本系統(tǒng)利用程序設(shè)計實現(xiàn)了空間屬性查詢工具,通過單擊各三維模型,彈出窗體來實現(xiàn)三維模型的屬性信息查詢.
在系統(tǒng)界面上,實現(xiàn)了二維矢量圖形和三維場景的交互使用.基于SuperMap.6R提供的類和接口,系統(tǒng)實現(xiàn)的交互方式包括:在二維矢量圖層中通過框選、點選矢量要素或查詢矢量要素的屬性時,在三維地圖中顯示對應(yīng)地物的三維虛擬場景;在三維場景中點選三維地物時,在二維矢量地圖中高亮度顯示對應(yīng)的二維地物,并且可查詢對應(yīng)二維地物的詳細屬性信息[15].
研究采用SuperMapDeskpro.NET 6R和3D Max相結(jié)合的方式創(chuàng)建了校園3DGIS系統(tǒng).系統(tǒng)具備傳統(tǒng)的二維和三維應(yīng)用功能外,還注重三維虛擬模型的快速構(gòu)建、場景瀏覽、管理等;同時,基于SuperMapDeskpro.NET 6R構(gòu)建的校園3DGIS系統(tǒng)突出了GIS的空間分析功能,比如二維應(yīng)用功能模塊中距離量算.三維場景應(yīng)用模塊中各個三維地物的空間屬性查詢和交互測量等功能,克服了傳統(tǒng)專業(yè)三維建模軟件缺乏空間分析功能而無法實現(xiàn)對空間地物的深層分析和和GIS專業(yè)軟件的無法實現(xiàn)三維建模功能的缺陷.
本系統(tǒng)的設(shè)計實現(xiàn),為三維GIS校園開發(fā)設(shè)計以及虛擬現(xiàn)實仿真系統(tǒng)的實現(xiàn)提供了一條新思路.通過該方法創(chuàng)建的三維校園GIS系統(tǒng)可很好地滿足不同領(lǐng)域的一些特定需求,對其他需求的三維可視化設(shè)計研究具有一定參考和借鑒意義.但是,校園3DGIS在學校整體管理和應(yīng)用等方面的全自動化、科學化、網(wǎng)絡(luò)化和智能化的水平還不高,對于三維模型的構(gòu)建、存儲、處理、空間分析和顯示等功能仍需進一步地深入研究.
[1] 徐 丹,高曉蓉.基于Skyline的三維地形建模實現(xiàn)—以甘肅省政務(wù)地理信息平臺為例[J].遙感技術(shù)與應(yīng)用,2011,26(6):874-878.
[2] 邱堋星.Google SketchUp與IMAGIS在校園三維可視化建模中的應(yīng)用[J].測繪工程,2008,17(2):58-61.
[3] 劉愛華,聶宜民,王 艷,等.基于3DGIS的虛擬校園系統(tǒng)設(shè)計與實現(xiàn)[J].安徽農(nóng)業(yè)科學,2009,37(3):1048-1050.
[4] 伊丕源,趙英俊,劉德長,等.基于Erdas和DirectX平臺的三維景觀建模與應(yīng)用[J].地球信息科學學報,2010,12(4):473-479.
[5] 王 敏,張博雅,楊永國.基于SuperMap的校園導航系統(tǒng)的設(shè)計與實現(xiàn)[J].城市勘測,2010(5):65-67.
[6] 楊德全,楊超元,柯新利,等.SuperMap Deskpro在數(shù)字校園建模方法中的應(yīng)用[J].地理空間信息,2011,9(4):131-135.
[7] 柴貴海,廖邦洪,胡庭興.基于Sketchup和ArcGIS對虛擬校園的設(shè)計與實現(xiàn)[J].測繪科學,2009,34(6):270-272.
[8] 蘆鴻雁,李斌兵.MultigenCreator三維建模的關(guān)鍵技術(shù)與實踐[J].計算機與信息技術(shù),2008,1:19-21.
[9] 朱振華,趙 剛,馮 強.ARCGIS三維數(shù)字校園系統(tǒng)的設(shè)計與開發(fā)[J].軟件導刊,2007,16(9):45-47.
[10] 高露雄,王 匯.GIS校園導航系統(tǒng)的三維導航模塊設(shè)計與實現(xiàn)[J].科技向?qū)В?010,24:354-355.
[11] 唐中實,王淑偉,尹 平,等.基于GML3.0與Direct3D的三維地形可視化研究與實現(xiàn)[J].測繪科學,2006,31(1):69-71.
[12] 謝義林,汪云甲.利用虛擬場景實現(xiàn)3DGIS的研究與應(yīng)用[J].測繪工程,2006,15(6):43-46.
[13] 劉 云,汪云甲,邵亞琴.基于MulfigenCreator/Vega的建筑物漫游系統(tǒng)的研究與實現(xiàn)[J].測繪通報,2008,9:19-22.
[14] 文廣超,鄧寅生,余永強,等.河南理工大學校園導航系統(tǒng)的設(shè)計與實現(xiàn)[J].測繪信息與工程,2008,33(2):38-43.
[15] 李建成,郭建文,蓋迎春,等.基于ArcEngine的三維GIS的設(shè)計與實現(xiàn)[J].遙感技術(shù)與應(yīng)用,2009,24(3):395-398.