劉葉偉
(江西理工大學 江西 贛州 341000)
歷史文化名城是指由國務(wù)院批準公布的具有重大歷史價值或革命紀念意義、保存文物特別豐富的城市[1]。經(jīng)過多年的探索,對于歷史文化名城的保護意識也在不斷提高,隨著現(xiàn)代技術(shù)手段的發(fā)展,傳統(tǒng)的CAD技術(shù)難以實現(xiàn)對大量的時空數(shù)據(jù)進行管理和分析[2]。歷史文化名城的文化遺產(chǎn)體系量大面廣,數(shù)字化信息保護極其復雜多樣,想要完整地保存所有建筑遺產(chǎn)的二維圖紙、三維模型、歷史規(guī)劃等信息是極其困難的,缺少一個完善的、能夠整合所有信息的平臺。
王茹等[3]比較早地基于BIM平臺針對明清古建筑進行數(shù)字化建模研究,設(shè)計了明清古建筑構(gòu)件信息模型系統(tǒng),但該系統(tǒng)只針對建筑的構(gòu)件,無法完整還原古建的原本面貌;也有學者針對歷史建筑三維模型的建立和CAD圖紙的繪制做出了系統(tǒng)化研究[4-5],2021年,楊開等[6]分析中國的歷史文化名村名鎮(zhèn),提出了構(gòu)建全國名城鎮(zhèn)村保護管理信息化“一張圖”概念。
國內(nèi)對古建筑的精細化建模和信息管理平臺的構(gòu)建開展了大量的研究,但是針對歷史文化名城進行Web端的可視與數(shù)據(jù)管理一體化的研究較少,主要原因在于:歷史文化名城內(nèi)建筑遺產(chǎn)的分布不集中,每一個區(qū)域的建筑和文化遺產(chǎn)特點也不相同,傳統(tǒng)對地理空間進行劃分常用的是網(wǎng)格索引,建筑遺產(chǎn)不集中分布會導致很多網(wǎng)格內(nèi)沒有任何空間數(shù)據(jù),造成查詢效率降低[7-8]。
本文以國家歷史文化名城桐城作為研究對象,針對上述出現(xiàn)的問題,提出了針對歷史文化名城多維數(shù)據(jù)的通用搜索樹(Generalized Search Trees,GiST)索引方法,實現(xiàn)了海量數(shù)據(jù)的快速檢索;在此基礎(chǔ)之上,研究了古建筑三維模型的格式標準化轉(zhuǎn)換方法,然后改進傾斜攝影單體化技術(shù),實現(xiàn)了Web端的三維實景模型與數(shù)據(jù)信息的集成交互,從時空層次完成歷史文化名城三維模型的可視化與渲染。
本文以桐城市為例進行研究,桐城是安徽省著名的歷史文化名城之一,也是中國文學史上最大的散文流派“桐城派”的故鄉(xiāng)[9]。通過對桐城市文物保護單位和住房與城鄉(xiāng)建設(shè)局等部門的走訪調(diào)研,該地區(qū)歷史遺產(chǎn)的數(shù)字化信息主要包括三維激光點云數(shù)據(jù)、圖像數(shù)據(jù)、工程圖紙與屬性信息。
三維激光點云數(shù)據(jù)是無序且海量的,需要通過一定的方法進行精簡并建立高精度的建筑模型,然后轉(zhuǎn)換為標準格式存儲;圖像數(shù)據(jù)同樣作為建筑遺產(chǎn)的重要資料,以二進制的形式存儲在數(shù)據(jù)庫中并展示,提高視覺效果,無人機用傾斜攝影方法拍攝的像片將建立傾斜模型,作為Web端的底層數(shù)據(jù);工程圖紙包括平立剖圖、施工圖等,一般為dug、dxf格式存儲;屬性信息是對建筑遺產(chǎn)的信息的描述,包含建筑現(xiàn)狀、建筑類型、建筑功能等,與單體建筑進行關(guān)聯(lián)然后存儲在不同的數(shù)據(jù)表中,便于對建筑遺產(chǎn)的全方位認識和保護。
歷史文化名城多層次的數(shù)據(jù)索引的快速構(gòu)建不僅要能夠解決海量數(shù)據(jù)的查詢問題,還要針對三維模型來提升模型的定位、訪問和存儲效率。本文從時間、空間和單體建筑3個層次上進行歷史文化名城數(shù)據(jù)索引的構(gòu)建,將單體建筑關(guān)聯(lián)到空間分布特征和時間特征關(guān)系中,實現(xiàn)了面向時空的數(shù)據(jù)查詢和分析需求。多層次數(shù)據(jù)索引構(gòu)建內(nèi)容見圖1。
(1)基于R樹構(gòu)建多維度空間數(shù)據(jù)索引。本文基于GIST框架應(yīng)用R樹算法構(gòu)建空間索引,以每一棟建筑遺產(chǎn)的位置作為R樹的數(shù)據(jù)單元構(gòu)建R樹,整個中國的版圖作為根節(jié)點,查詢時以“縮小范圍”的查詢思想,從上往下按照國家-城市-行政區(qū)-建筑遺產(chǎn)單體,一層一層查找。R樹索引有利于提高對維空間數(shù)據(jù)的實時流暢渲染,從而保證了快速的空間查詢和分析。
(2)基于建筑屬性的時空數(shù)據(jù)關(guān)聯(lián)。以單棟建筑為基礎(chǔ)構(gòu)建的時間索引,既能與空間索引的最小數(shù)據(jù)單元相對應(yīng),又能實現(xiàn)通過時間查詢建筑和通過建筑查找年代信息的雙向查詢。
本文從兩方面開展基于WebGL的歷史文化名城三維可視化研究:(1)研究高效的建筑三維模型格式轉(zhuǎn)換方法,能夠快速轉(zhuǎn)換為3D Tiles格式;(2)基于WebGL實現(xiàn)歷史文化名城多源數(shù)據(jù)的可視化。
本文基于三維激光點云通過Sketchup軟件建立了SU格式的高精度三維模型。無論是SU格式的模型還是通過3dmax建立的mx模型,均無法直接通過GPU渲染顯示在瀏覽器上,因此需要對模型進行格式轉(zhuǎn)換,為保證轉(zhuǎn)換后模型屬性的完整性,避免紋理丟失(圖2),并且符合建筑的實際組成,應(yīng)根據(jù)既定規(guī)則進行模型拆分。
SU格式的模型包含大量的建筑語義信息,而OBJ文件僅包含幾何信息和材料屬性,因此,OBJ文件是最佳的轉(zhuǎn)換媒介。具體來說,在轉(zhuǎn)換過程中,將遍歷SU文件中的所有對象,并根據(jù)模型分割的原則將模型的幾何信息和材料屬性導出到較小的OBJ文件中,有關(guān)對象語義屬性的信息由JSON文件保留,再將由OBJ文件轉(zhuǎn)換得到的二進制gltf(glb)嵌入到B3dm數(shù)據(jù)中。最終,3D Tiles數(shù)據(jù)由B3dm數(shù)據(jù)和tileset.json文件組成。這種轉(zhuǎn)換過程見圖3。
將三維模型從SU轉(zhuǎn)換到3D Tiles的過程不僅包含幾何信息、語義信息、材料屬性的轉(zhuǎn)換,還包括坐標系轉(zhuǎn)換,SU模型中的構(gòu)件是局部坐標系,而3D Tiles顯示的數(shù)據(jù)是全局坐標系,3D Tiles中的所有對象都有精確的位置坐標世界坐標系,所以必須轉(zhuǎn)換坐標系。在本文使用的可視化引擎Cesium中使用的3D數(shù)字地球框架對應(yīng)于全局笛卡爾坐標系,其中地心是坐標的原點[10],使用Cesium Ion完成兩種坐標的轉(zhuǎn)換。
針對傾斜三維模型的單體化方法,主要根據(jù)是否對模型進行切割來進行分類,將單體化方法主要分為切割單體化、ID單體化、動態(tài)單體化[11-12]。本文改進動態(tài)單體化方法,針對建筑密集、結(jié)構(gòu)復雜的建筑,基于Cesium結(jié)合數(shù)據(jù)庫研究出一種能夠快速建立單體化矢量面然后錄入建筑信息,與數(shù)據(jù)庫實時交互的方法。
本文基于Cesium的動態(tài)單體化方法根據(jù)點、線、面、體之間的關(guān)系,主要依靠Cesium API中ClassificationPrimitive對象實現(xiàn)的。主要的流程思想見圖4。
本文通過建筑物輪廓點在ClassificationPrimitive對象中創(chuàng)建PolygonGeometry多邊形,該多邊形可自定義凸出面與橢球面之間的距離,本文定義為30 m,由于ClassificationPrimitive對象是創(chuàng)建在地形或者三維模型上的,本文設(shè)置其ClassificationType屬性為3D-Tiles,即對象貼著模型,則對象中的多邊形跟隨ClassificationType屬性,使得原本高出建筑物的凸出面貼在建筑物上,完成單體化矢量面的創(chuàng)建,再定義鼠標移動事件,判斷鼠標位置是否有對應(yīng)的建筑并高亮顯示。圖5為通過本方法進行數(shù)據(jù)錄入時的界面,圖6為鼠標移動事件觸發(fā)時建筑高亮顯示。
本文選擇Cesium作為歷史文化名城三維可視化的渲染引擎,Cesium是一個用于三維虛擬地球儀和地圖的開放源代碼庫,它支持跨平臺使用,而且不需要任何插件即可實現(xiàn)跨設(shè)備的動態(tài)可視化,該引擎使用LOD多細節(jié)層次渲染技術(shù),減少了加載時間和內(nèi)存占用,在大范圍三維場景渲染中有很好的利用。圖7為桐城市孔城老街的實景三維模型渲染圖,該地區(qū)建筑合計400余棟,加載速度不足2 s,完全滿足歷史文化名城三維可視化的需求。
本文首先研究了針對歷史文化名城數(shù)據(jù)需求,提出了基于通用搜索樹多維度數(shù)據(jù)索引方法,然后研究了三維模型的格式轉(zhuǎn)換方法,實現(xiàn)了建筑模型到3D Tiles的快速轉(zhuǎn)換,最后改進單體化技術(shù)用于建筑信息錄入數(shù)據(jù)庫,在Cesium引擎下實現(xiàn)了可視化渲染。
本文的研究在多個歷史文化名城獲得了成功應(yīng)用,能夠滿足現(xiàn)階段相關(guān)文保部門對歷史遺產(chǎn)可視化的需求。未來將從對象和數(shù)據(jù)類型進行兼容實驗等方面開展研究,提升普適性。