黃 軻,黃 蓋,楊智云,段洋利,趙子維
(巴州國土資源勘測規劃設計院,新疆 庫爾勒 841000)
?
三維GIS在房產室內信息系統中的應用
黃 軻,黃 蓋,楊智云,段洋利,趙子維
(巴州國土資源勘測規劃設計院,新疆 庫爾勒 841000)
三維房產室內信息可為消費者提供逼真的視覺服務,可更好地適應現代房產交易的發展需求。本文結合OpenGL和3ds Max技術研究了基于三維GIS的房產室內信息系統。介紹了三維GIS在房產信息系統應用中的數據組織采集管理方式、系統的功能模塊設計及系統的實現3個部分;著重研究了利用3ds Max和OpenGL實現室內編輯、漫游顯示、碰撞檢測及文件讀取重繪等功能;實現了室內信息的三維漫游顯示、室內信息編輯修改功能,滿足了客戶的真三維視覺體驗的要求及室內信息實時編輯修改的需求;最后指出了系統的不足之處和在其他領域的應用價值。
三維GIS;房產室內信息系統;OpenGL;3ds Max
目前GIS已經應用于房地產信息的管理。特別是WebGIS的應用,為購房者提供了一種更加便捷、直觀的考察房源手段。購房者足不出戶就能通過網絡找到自己感興趣的樓盤信息和樓盤圖片[1]。當前網絡上主要是提供房間的二維圖片及測繪信息,廣大購房者除了實地觀察,只能通過一些房產數據或平面圖片來了解室內情況。然而購房者不僅希望看到室外景觀,更希望看到室內的布局。從室外進入室內是數字城市尤其是數字房產進一步發展的必然[2],因而GIS的另一大重要分支三維GIS將會發揮重要作用。
三維GIS不僅能表達空間對象間的平面關系和垂向關系,而且能對其進行三維空間分析和操作,向用戶立體展現地理空間現象,給人以更真實的感受[3]。如果能夠基于三維GIS建立室內三維系統,就可以使大量的二維測繪數據得到合理的應用,能夠為購房者提供不小的方便,只需要鼠標輕輕一點,便可以省去多次奔波于實地的房屋觀察,具有很大的應用價值。
通過自動或半自動的方法提取建筑物信息從而重建三維模型一直是國內外學者關注的熱點問題,并已有大量深入的研究[4-5]。但大多是對建筑物外表面進行建模[6-7],而缺少建筑物內部完整精密信息的表達[8]。縱觀國內外三維GIS的研發現狀,有3種途徑實現三維GIS[9]:一是利用已有的三維引擎對三維場景進行開發;二是利用比較成熟的三維顯示插件進行三維場景顯示;三是通過GIS平臺所提供的三維API進行二次開發。本文主要采用OpenGL三維引擎進行底層開發,利用3ds Max建模,其優點是三維模型的顯示和渲染效率較高。
1. 開發目標
房產室內信息系統開發的主要目的是為購房者提供一種能夠交互的媒體,可以全面、清晰和直觀地瀏覽房屋信息、結構和室內布局,并能夠自主布置室內細節物體。圍繞著上述目的,結合三維GIS技術特點,可以將房產室內信息系統的開發目標定義為借助數字攝影、激光掃描等先進的空間數據獲取手段,在已有二維測繪數據及各種屬性數據的基礎上,通過圖形圖像、計算機可視化等信息處理方法,結合數據庫管理和網絡信息等技術,開發一個集室內三維模型、三維漫游瀏覽、室內模型編輯、室內信息查詢一體化的信息系統。
2. 數據采集和組織
房產數據采集和組織主要分為以下3種:
1) 房間結構及門窗數據:房間結構及門窗作為房屋的整體架構對于建立室內三維模型有著非常重要的地位。數據的獲得即在AutoCAD中導入建筑平面設計圖DXF文件作為背景,然后對房間結構和門窗分別進行數字化采集,并分別存儲為多邊形圖層和線狀圖層,同時在數據庫中建立“房間-門窗”關系表。
2) 3ds Max模型數據:首先借助數字攝影等手段獲取室內材質圖片信息,然后根據室內地物數據和材質信息手工建立3ds Max模型,存儲為3DS文件格式。從3DS文件中讀取相應的3D模型信息,包括位置、長度、寬度、高度、大小比例、旋轉角度,并在數據庫中建立“房間-3D模型”關系表。
3) 室內屬性信息數據:主要將樓層、面積、結構、價格等室內信息錄入數據庫中,建立室內信息數據表。
3. 系統模塊設計
系統功能如圖1所示,主要分為以下4個部分:
1) 室內三維建模又分為兩部分:一是自動建模,主要是根據二維測量數據對室內的整體架構(墻壁、門、窗、梯角線)進行自動建模;二是根據3ds Max進行復雜建模。利用文件讀取算法,將3ds Max創建的模型數據讀出來,然后利用這些數據在OpenGL環境中重新構建三維模型,從而免去直接利用OpenGL構建復雜模型這一繁雜工作。
2) 三維漫游瀏覽:通過鼠標和鍵盤操作來控制飛行速度、視角和視野范圍,使用者能夠在三維室內中自由“行走”,瀏覽室內房間結構和布局。漫游的同時還要根據房間數據及3ds Max模型數據進行碰撞檢測,以使漫游更加真實。
3) 室內模型編輯:可以對室內地物如家具、電器及廚具等細節物體進行平移、布置、更新、放大、縮小、旋轉等編輯操作。
4) 室內信息查詢:主要包括樓層、面積、結構、價格、配套設施、售房情況及其他需要賦予的信息。使用者輕點鼠標即可查詢到每套房子的結構和價格等信息。

圖1 系統功能設計
系統采用Visual Studio 2012的開發環境,利用3ds Max建立三維室內模型,通過OpenGL編程操縱模型,結合SQL數據庫管理,實現室內漫游、編輯和信息查詢。
1. 3DS文件讀取與重繪
3DS文件是較為通用的一種3D模型文件,在3ds Max和AutoCAD中都能使用,該系統也使用該模型文件。
要讀取3DS文件就要先了解3DS文件的組成結構。3DS模型文件的基本構成單位是塊,塊是相互嵌套的。塊包括塊頭和主體內容兩部分,塊頭又由塊ID和塊長度兩部分組成,主體內容是塊的數據信息[10]。3DS文件中的數據存儲規則是高位在前,低位在后。3DS有一個主塊,其主塊ID就是用來判斷3DS文件的起始位置;而模型的頂點信息、材質信息、紋理信息等則組織為次級塊,次級塊也都是由ID號進行標識的,在程序中可以通過ID號來讀取所需要的信息。
根據文件格式,遞歸讀取每一個對象塊的顏色、頂點、面、紋理及材質等信息,然后設置繪制大小和顯示位置進行重繪。
2. OpenGL 漫游
OpenGL是獨立于操作系統和硬件環境的三維圖形軟件庫。由于其開放性和高度的可重用性,目前已成為業界標準。很多優秀的軟件如著名的動畫制作軟件3ds Max、三維仿真平臺VegaPrime、三維可視化軟件ArcGlobe均是基于OpenGL平臺進行開發的[11]。
在現實生活中我們是通過眼睛來看周圍的物體,眼睛移動,周圍的物體也隨之移動,從而達到漫游的效果。在OpenGL中可以利用gluLookAt(GLdouble eyex、GLdouble eyey、GLdouble eyez、GLdouble centerx、GLdouble centery、Gldouble centerz、GLdouble upx、GLdouble upy、Gldouble upz)函數來實現漫游,利用該函數改變人眼的視點和攝像機的參考點,從而改變眼睛在場景中的位置、方向,進而達到漫游的目的。
3. 碰撞檢測
碰撞檢測是構造可視化系統及虛擬現實的一個重要組成部分,可以使場景更加逼真自然。若沒有碰撞檢測就會出現“穿墻而過”的現象,而不是實際的碰撞效果,這將大大降低了仿真程度。碰撞問題分為碰撞檢測和碰撞響應兩個方面的內容。碰撞檢測用來檢測不同對象之間是否發生了碰撞。精確的碰撞檢測對提高仿真的真實性、可信性,以及增強虛擬環境的沉浸感有著至關重要的作用。而碰撞響應是指碰撞發生后所做出的動態反映效果。
碰撞檢測表現為兩個多面體的求交,按對象所處的空間可以分為二維平面碰撞檢測和三維空間碰撞檢測。平面碰撞檢測相對簡單一些,已經有成熟的檢測算法,而空間碰撞檢測則要復雜得多。碰撞檢測的算法大致分為空間分解法和層次包圍盒法兩類。由于這兩個算法都已經比較成熟,這里不再詳細介紹。
4. 室內編輯
室內編輯的實現可以使用戶隨意安排室內家具,在房產行業中可以更好地了解用戶對于房間裝修的需求。為導入的3D模型對象定義結構體如下:
struct object
{
float x,z; float width;
float long; float height;
float scale; int num;
int rotation;
};
它存儲了3D模型的位置、長寬高、顯示比例、編號及旋轉角度。對應鼠標和鍵盤上的指定按鍵,改變模型的結構體的參數,從而可以實現對模型的增加、刪除、修改操作。
圖2為基于三維GIS的房產室內信息系統的主界面,功能包括模型載入、室內漫游、室內編輯、信息查詢。其中,模型載入可以由用戶選擇希望載入的室內模型文件;室內漫游使用戶通過鼠標、鍵盤自由“行走”于房間中,圖3為客廳和廚房的漫游效果;室內編輯使用戶選擇自己喜歡的壁紙、天花板和地板的樣式貼圖,任意增加家具模型,并對其進行放大、縮小、旋轉、移動(如圖4所示),可提前看到房間裝飾效果;信息查詢包括樓層、面積、結構、價格、配套設施、售房情況等的查詢,它與數據庫結合起來,用戶足不出戶就可以全面了解有關售房信息及房屋內部構造等情況。

圖2 系統界面設計

圖3 室內漫游實現

圖4 室內編輯實現
系統的最初構建想法來源于MAPSUV軟件中的室外三維漫游,主要功能是對室內三維模型進行漫游和編輯的同時進行房屋信息查詢。但該系統仍不完善,還有以下功能將在今后的研究中需逐步加入:實現測繪數據到3D模型的自動轉換;加入區域導航圖;發布到網站實時瀏覽。
另外,該系統經完善后可以橫向移植到更為廣泛的微觀GIS領域,如室內預警、救災等方面。相信隨著相關技術的不斷發展,基于三維GIS的房產信息系統會得到普及和發展。
[1] 王錦洋.三維GIS技術在房地產交易中的應用與研究[J]. 福建電腦,2008(8):89-90.
[2] 李德仁,劉強,朱慶.數碼城市GIS中建筑物室外與室內三維一體化表示與漫游[J].武漢大學學報(信息科學版),2003,28(3):253-258.
[3] 陶瓊,朱大明.三維GIS的發展趨勢與建模分析[J].地礦測繪,2008, 24(4):35-37.
[4] 熊友誼,馮志新,陳穎彪,等.利用點云數據進行三維可視化建模技術研究[J].測繪通報,2012(5):20-23.
[5] 陳卓,馬洪超.基于機載LiDAR數據的大型立交橋自動提取與建模方法[J].測繪學報,2012,41(2):252-258.
[6] 白成軍,吳蔥.文物建筑測繪中三維激光掃描技術的核心問題研究[J]. 測繪通報,2012(1):36-38.
[7] 張愛武,孫衛東,李風亭.基于激光掃描數據的室外場景表面重建方法[J].系統仿真學報,2005,17(2):384-387.[8] 楊林,盛業華,王波.利用三維激光掃描技術進行建筑物室內外一體建模方法研究[J].測繪通報,2014(7):27-30.
[9] 吳鋒,毛新光.基于ArcGIS Engine的三維場景快速動態建模方法[J].測繪通報,2015(6):97-100.
[10] 安國強,吳泉源,高守英.基于OpenGL對3DS模型的讀取與重繪的研究[J].蘇州大學學報,2009, 29(2):53-56.
[11] 聶小波,邢光成,陳濤,等.OpenGL 及其在DEM可視化中的應用[J].地理空間信息,2009,7(3):48-50.
Application of 3D GIS in the Real Estate Indoor Information System
HUANG Ke,HUANG Gai,YANG Zhiyun,DUAN Yangli,ZHAO Ziwei
2015-12-04
黃 軻(1987—),女,碩士,主要從事地理信息理論及應用開發工作。E-mail:ke_ke114071@126.com
黃軻,黃蓋,楊智云,等.三維GIS在房產室內信息系統中的應用[J].測繪通報,2016(11):131-133.
10.13474/j.cnki.11-2246.2016.0383.
P208
B
0494-0911(2016)11-0131-03