SketchUp構建GIS三維模型方法研究 (1)
2009-02-25 15:25:29 作者:網(wǎng)絡搜集 來源:網(wǎng)絡搜集 文字大?。骸?span>大】【中】【小】
摘 要 Google SketchUp軟件是智能化建模系統(tǒng)的工具集合,簡化了建模工作。通過對SketchUp中三維模型創(chuàng)建及在傳統(tǒng)GIS軟件中的應用方法研究可大大減少和豐富3DGIS中三維建模的工作量。本文從SketchUp的建模技術 ...
摘 要 Google SketchUp軟件是智能化建模系統(tǒng)的工具集合,簡化了建模工作。通過對SketchUp中三維模型創(chuàng)建及在傳統(tǒng)GIS軟件中的應用方法研究可大大減少和豐富3DGIS中三維建模的工作量。本文從SketchUp的建模技術、各地理要素的建模方法以及模型應用于GIS的方法等入手討論SketchUp中數(shù)據(jù)轉換方法,以將這一可視化工具與GIS軟件結合起來,為3DGIS服務。
關鍵詞 3DGIS;Google SketchUp;建模
1 引言
三維地理信息系統(tǒng)(3DGIS)是當今GIS發(fā)展的一個新趨勢,相比于二維GIS,對客觀世界的表達能給人以更真實的感受,它以立體造型技術展現(xiàn)地理空間現(xiàn)象,不僅能表達空間對象間的平面關系,而且能描述和表達它們之間的垂向關系。
專業(yè)的GIS軟件側重于強大的空間分析功能,三維可視化功能相對薄弱;而專業(yè)的建模軟件,如MultiGen Creator、3ds Max、Maya、SketchUp等,與之恰恰相反[1,2]。
Google SketchUp是由Google公司于2006年推出。它是一套直接面向設計方案創(chuàng)作過程的設計工具集合,簡單易學,完全避免了其它設計軟件的復雜性;可以直接為表面賦予材質、貼圖,使得設計過程的交流完全可行;與Google Earth有機結合,能夠免費利用GoogleEarth的地形和影像數(shù)據(jù)等[3-5]。
本文研究SketchUp中各地理要素的三維構建及其在GIS軟件中的如何應用。
2 SketchUP的三維建模方法
2.1幾何建模方法
要建立真實的三維場景,準確的幾何建模是必不可少的。SketchUp可以通過用戶交互地設置和輸入數(shù)值很好地控制幾何精度,在3DGIS中這一點非常關鍵。GIS中地理要素分為地形要素、點狀要素、線狀要素、面狀要素,下面分別針對每種要素的建模方法進行討論。
2.1.1 三維地形建模
要實現(xiàn)三維景觀的比較真實的虛擬,對于起伏大的地區(qū),地形的三維構建十分重要。SketcUp中的擴展工具欄---沙盒(SandBox)能實現(xiàn)創(chuàng)建類似TIN(不規(guī)則三角網(wǎng))的地形。
地形的創(chuàng)建通常有五種方式:①引入已有的等高線或手動創(chuàng)建具有不同高度的等高線,用From Contours直接生成;②導入目標區(qū)域的圖像或等高線地圖,使用Freehand工具跟蹤繪制等高線,然后調整所繪等高線到合適的高度位置,采用同上的方法生成三維地形;③從外部導入DTM文件(USGS DEM或SDTS格式)創(chuàng)建;④利用SketchUp6 ESRI插件,從ArcGIS軟件中導入TIN數(shù)據(jù)創(chuàng)建;⑤使用From Scratch工具繪制網(wǎng)格地形,在網(wǎng)格地形的基礎上拉伸生成起伏的效果。根據(jù)已有數(shù)據(jù)的種類和要表達地形的精確度選擇合適的建模方式,前四種創(chuàng)建的地形比較精確,如果側重于表達大體的地形空間意向,第五種方式就可滿足需要[6]。
2.1.2點狀要素建模
地理環(huán)境中,行道樹、路燈、垃圾桶等往往被抽象成點狀要素。路燈和垃圾桶等具有規(guī)則的幾何形狀,與面狀要素的建模類似。而樹木的建模相對來講比較困難。其它的建模軟件如MultiGen Creator采用BillBoard技術對樹木建模,將樹木抽象成兩個交叉的十字面,通過透明貼圖來模擬,效果不是很理想。SketchUp中通過Freehand工具能夠實現(xiàn)樹木的精確建模(如圖1所示)。另外,網(wǎng)絡上有豐富的skp格式的樹模型資源,常見的樹種可以免費下載直接或稍加編輯后使用。
圖1 SketchUp所建的樹模型
2.1.3 線狀要素建模
線狀要素包括河流、航線、道路等要素,建模時認為這些線要素是具有一定面積的立體面,需要依據(jù)實際寬度進行擴展。對于位于起伏地形上的道路建模,使用Sandbox工具欄中的Drape工具,便可實現(xiàn)平面道路到起伏地形曲面的投影[7]。與道路不盡相同的是,河流一般低于周圍地形。這時需要沿Z軸反向拉伸。
2.1.4 面狀要素建模
地理環(huán)境中的建筑物、草坪、空曠的場地等通常以面狀要素表示,具有面積、周長等特征。以建筑物建模為例,模型的創(chuàng)建是在確定了底面的基礎上,通過擠壓或拉伸底面,繪制屋頂?shù)炔襟E實現(xiàn)。構建過程中可自動捕捉線條及其特征
SketchUp構建GIS三維模型方法研究 (2)
2009-02-25 15:25:29 作者:網(wǎng)絡搜集 來源:網(wǎng)絡搜集 文字大?。骸?span>大】【中】【小】
摘 要 Google SketchUp軟件是智能化建模系統(tǒng)的工具集合,簡化了建模工作。通過對SketchUp中三維模型創(chuàng)建及在傳統(tǒng)GIS軟件中的應用方法研究可大大減少和豐富3DGIS中三維建模的工作量。本文從SketchUp的建模技術 ...
,對建筑物進行精確建模。
圖2中的建筑物模型,首先利用導入的遙感圖片作為參照,勾勒出底面,再將面沿豎直方向向上拉伸(拉伸高度值可交互輸入),得到建筑物的粗糙框架,在此基礎上對細部進行調整,包括柱子、門、窗戶等的繪制。最后對各部分貼上對應的紋理圖片實現(xiàn)真實模擬。本例中所用圖片均是由數(shù)碼相機實際拍攝的jpg格式照片,用PhotoShop軟件處理所得。
圖2 華師大大學生活動中心實體景觀圖
2.2 紋理映射技術
紋理映射技術在建模過程中起著十分重要的作用,一方面能增強模型的逼真度,同時也有利于模型的簡化和減少多邊形面,這對應用程序的實時性是十分重要的。
SketchUp提供了強大的紋理映射功能。按照使用需要,貼圖分為三種:普通貼圖、包裹貼圖、投影貼圖。
普通貼圖是最普遍的,即為平面賦予材質,貼圖單元在此平面上可以重復n次,也可以比平面大,主要通過調整貼圖坐標來實現(xiàn)。如圖5中的建筑物大多采用這一方式。
包裹貼圖類似于一個盒子進行外包裝。需要先給一個平面賦予貼圖,用貼圖坐標將大小位置調整好,再用吸管將此材質賦予其它面,實現(xiàn)貼圖的無縫拼接。
投影貼圖主要用于對曲面進行紋理映射,如起伏的地形、圓形或弧形的建筑物及其細部等。實現(xiàn)貼近真實和過度自然的效果(如圖3所示)。
SketchUp支持的紋理圖片格式包括JPG、BMP、TIF,PNG等。其中PNG格式的圖片帶有Alpha通道,即我們常說的透明貼圖。為減小數(shù)據(jù)量,其它圖片一般保存為jpg格式,并且最大不超過100KB[8]
SketchUp中貼圖的另一獨特之處為根據(jù)材質可以計算出某種對象的面積[6,7]。。
2.3 建模過程中應注意的問題
利用SketchUp對地理要素進行建模過程中應注意以下幾個問題:
(1)應選擇正確的坐標系,也可導入CAD數(shù)據(jù)或通過SketchUp6 ESRI插件導入shp格式的二維矢量數(shù)據(jù),在此基礎上直接建模;或者導入遙感或航空像片作為參照創(chuàng)建模型。總之,創(chuàng)建的三維模型應該有與GIS一致的坐標。
(2)大范圍三維場景建立時,所建模型數(shù)據(jù)量不能太大,否則會影響運行速度。盡可能地簡化模型,減少邊和面的數(shù)量;盡量用紋理圖片來代替模型細部;紋理圖片的分辨率不宜太高,最大不超過100KB。
3 三維模型應用于GIS中的方法
SketchUp三維模型在GIS中的應用有兩個方面:一是作為三維符號;二是作為三維模型。以ArcGIS為例具體探討。
3.1 作為三維符號應用
ArcGIS支持*.skp格式三維模型作為三維標注符號(3D Maker Symbol)對點、線、多邊形三類地圖數(shù)據(jù)進行顯示。顯示時,如果用于表示的地物是多邊形,還需通過旋轉、放大、縮小、平移等操作將符號調整到合適位置。此時,模型僅作為圖形顯示,并不能對其進行分析等操作。
3.2 作為三維模型應用
*.skp模型作為三維模型應用主要是轉換為ArcGIS支持的三維模型格式三維數(shù)據(jù)格式-----Multipatch,然后在ArcScene中直接加載加以應用。轉換方法有兩種:
3.2.1 通過ArcObject開發(fā)實現(xiàn)
示例代碼如下
SketchUp構建GIS三維模型方法研究 (3)
2009-02-25 15:25:29 作者:網(wǎng)絡搜集 來源:網(wǎng)絡搜集 文字大?。骸?span>大】【中】【小】
摘 要 Google SketchUp軟件是智能化建模系統(tǒng)的工具集合,簡化了建模工作。通過對SketchUp中三維模型創(chuàng)建及在傳統(tǒng)GIS軟件中的應用方法研究可大大減少和豐富3DGIS中三維建模的工作量。本文從SketchUp的建模技術 ...
:
Dim p3DF As IImport3DFile
Set p3DF=New Import3DFile
/*定義sPath存放已有三維模型的存儲路徑,創(chuàng)建一個新的FeatureClass,其Shape類型為新的記錄(pFeatureBuffer)*/
If p3DF.IsValidFile(sPath)Then
p3DF.CreateFromFile sPath
Dim pGeom As IGeometry
Set pGeom=p3DF.Geometry
End If
Set pFeatureBuffer.Shape=pGeom
IImport3DFile這個接口目前對*.skp模型是支持的,通過此方法可以將模型轉換為Multipatch,存儲在GeoDatabse中,并可對其進行進一步的分析[9]。
3.2.2 利用SketchUp6 ESRI插件轉換
SketchUpESRI插件是專門為ArcGIS結合推出的。包括兩部分:GIS Plugin和3D Analyst SketchUp 3D Symbol Support,需要將這兩部分分別裝在SU和ArcGIS的安裝目錄下。二者交互操作的流程為:ArcMap中加載并導出矢量數(shù)據(jù);SketchUp中三維建模;SketchUp模型轉換成Multipatch數(shù)據(jù);對模型進行編輯、分析等操作。具體路線與涉及到的軟件和數(shù)據(jù)如圖4所示。
由于SketchUp中的一個Group對應ArcGIS中的一個Multipatch,因此轉換過程應根據(jù)3DGIS的需要設置Group[10]。
以建筑物為例,如果對整棟建筑物進行編輯和分析,則按整棟為整體設置成一個Group;如果需要對樓層進行查詢,則應以樓層為整體設置成Group,轉為對應的Multipatch。
4 結語
SketchUp在建模方面有很多優(yōu)勢,并且與ArcGIS等GIS軟件平臺能夠很好地結合,但是它缺乏其它專業(yè)建模軟件中的一些高級技術,如LOD,mipmap、BSP、OCTREE、occlusion等技術[2-3],勢必會增加空間存儲,因此如何減少數(shù)據(jù)量,更好地為3DGIS服務成為今后研究的一個方向。