安潔玉,程朋根,丁斌芬
(東華理工大學(xué)地球科學(xué)與測繪工程學(xué)院,江西撫州344000)
基于Google Earth二維影像獲取建筑物高度的方法
安潔玉,程朋根*,丁斌芬
(東華理工大學(xué)地球科學(xué)與測繪工程學(xué)院,江西撫州344000)
從二維影像中的陰影快速獲取建筑物高度是三維數(shù)字城市建設(shè)中亟待解決的問題。該文提出了一種從Google Earth二維影像獲取建筑物高度數(shù)據(jù)的新方法,利用SketchUp軟件模擬光照效果,使三維模型的陰影與二維影像的陰影重合,從而獲得建筑物的高度數(shù)據(jù),并對如何減小高度數(shù)據(jù)誤差進行了分析。實驗結(jié)果表明,利用該方法獲取的高度數(shù)據(jù),可以滿足一定的精度要求,而且省時、省力,具有一定的應(yīng)用價值。
SketchUp;Google Earth;高度數(shù)據(jù);陰影
建筑物高度數(shù)據(jù)是城市規(guī)劃、城市經(jīng)濟活動以及軍事應(yīng)用中的一個重要參數(shù)。近幾年,各種高分辨率衛(wèi)星影像(QuickBird、IKONOS等)相繼出現(xiàn),為人們利用遙感影像的陰影提取建筑物高度提供了可能性。國內(nèi)外學(xué)者開展了基于二維航空影像和高分辨率遙感影像獲取建筑物三維信息的研究,并提出了不同的研究方法:如ARUBA、TOBACO、ASCENDER等研究小組提出的基于航空遙感數(shù)據(jù)的方法[1],何國金利用全色SPOT數(shù)據(jù)進行建筑物高度估計[2],高翔等利用高分辨率遙感影像獲取建筑物高度信息[3,4]。基于二維影像陰影獲取建筑物高度數(shù)據(jù)有多種方法,但所涉及的都是建立在復(fù)雜的公式計算與幾何關(guān)系分析上[5],因此需要尋求新的快速獲取某一建筑物高度數(shù)據(jù)的方法。本文提出了一種基于 Google Earth二維影像快速獲取建筑物高度數(shù)據(jù)的新方法,利用 Google Earth提供的免費高精度二維影像數(shù)據(jù),借助于 Google Earth旗下的SketchUp三維建模軟件對三維模型進行陰影、光照分析,最后通過三維模型獲得建筑物的高度數(shù)據(jù)。
在高分辨率遙感影像上,陰影表現(xiàn)為低亮度值,其分布范圍反映了地物成像時遮光情況的二維信息,可以通過陰影長度與建筑物高度的幾何關(guān)系來確定地表建筑物的高度數(shù)據(jù)。在不考慮太陽方位角對建筑物陰影影響的情況下,太陽高度角、衛(wèi)星高度角與建筑物高度、陰影的關(guān)系如圖1所示。
設(shè)建筑物的高度為 H,建筑物陰影的總長度為S,α是衛(wèi)星高度角,β是太陽高度角。陰影成像的部分為L2=S-L1,建筑物的陰影長度S=H/tanβ,衛(wèi)星影像上成像的陰影部分為:
圖1 陰影成像原理Fig.1 Shadow image formation principle
如果衛(wèi)星傳感器掃描方向與太陽照射方向相反,即太陽方位角和衛(wèi)星方位角差值≥180°,即可看到影子的全部,這時L1=0,L2=S,則:
由以上公式可知,要通過陰影獲得建筑物的高度數(shù)據(jù) H,只需要知道拍攝該影像時太陽、衛(wèi)星所在空中的位置,即所成的高度角α和β。但實際上,還需要考慮建筑物所在位置以及拍攝該影像時的太陽方位角等因素。
目前Google Earth只提供了二維影像數(shù)據(jù),并未提供所需的高度等信息,無法直接從中獲取建筑物的高度信息。Google Earth旗下的SketchUp建模軟件能夠方便、快捷地建立建筑物的三維模型[7,8],并能對三維模型的陰影、光照進行簡單的分析[9],可作為從二維影像快速獲取建筑物高度信息的工具。為此,筆者提出一種利用 Google Earth二維影像的陰影數(shù)據(jù)獲取建筑物高度數(shù)據(jù)的方法,基本思路是:利用SketchUp三維建模軟件建立建筑物的三維模型,通過獲取二維影像拍攝的時間模擬太陽在空中的位置,使建立的三維模型產(chǎn)生陰影;然后通過調(diào)整三維模型的太陽方位角使之與二維影像的太陽方位角一致,調(diào)整三維模型的高度使模型所產(chǎn)生的陰影與二維影像的陰影完全重合,最終三維模型的高度即為建筑物的真實高度。建筑物高度信息獲取流程見圖2。
圖2 建筑物高度信息獲取流程Fig.2 The flow diagram of obtaining buildings′height
在Google Earth中找到需要獲取高度信息的建筑物所在影像區(qū)域,然后點擊SketchUp工具菜單中的“Google Earth→Get Current View”命令,則可將當前 Google Earth中顯示的二維影像加載到SketchUp軟件中。由于SketchUp軟件能夠自動讀取當前Google Earth中所顯示的影像坐標,因此在后面的建筑物陰影和日照分析過程中不需要關(guān)注建筑物所在的地理位置等信息。
通常,Google Earth會不定期的更新影像數(shù)據(jù),尤其是在大中型城市,Google Earth提供了近幾年的影像數(shù)據(jù)。利用 Google Earth的 Historical Imagery功能,即可觀察地球表面某一點不同時期的存檔衛(wèi)星圖片。要獲取當前顯示影像所拍攝日期,只需點擊Google Earth菜單欄中“Historical Imagery”命令[10]。
建筑物陰影隨其地理位置和拍攝時刻太陽高度角的不同而變化。由于SketchUp三維建模軟件提供了模擬陰影、光照效果等功能,因此可以根據(jù)建筑物影像的地理位置和影像拍攝時間進行陰影和日照分析。地理位置信息在影像數(shù)據(jù)獲取時已經(jīng)加載,因此只需要判斷二維影像拍攝的具體時間,以便在Sketch-Up軟件中準確地模擬太陽在該時間內(nèi)的光照效果,并對陰影的范圍和形成的太陽方位角進行分析。
(1)預(yù)設(shè)時間。在SketchUp導(dǎo)入二維影像后,打開窗口菜單中的“Shadow”對話框,設(shè)定影像獲取日期為2008年5月20日。Google Earth中的二維影像一般是在上午拍攝,可以把時間預(yù)設(shè)為10∶00。
(2)建立三維模型。在SketchUp軟件中,根據(jù)建筑物的二維影像,以建筑物的基部為準,建立其三維模型[11,12]。圖3是利用SketchUp軟件從Google Earth導(dǎo)入的二維影像,可以清楚地看到建筑物所形成的陰影部分。圖4是在二維影像基礎(chǔ)上在預(yù)設(shè)時間建立的三維模型,箭頭所指深色區(qū)域為三維模型產(chǎn)生的陰影。
圖3 建筑物形成的陰影Fig.3 The shadow of building
(3)陰影和日照分析。從圖4中可以看出,三維模型產(chǎn)生陰影的兩側(cè)與二維影像中陰影的兩側(cè)并不重合,即兩者的太陽方位角并不相同,這說明預(yù)設(shè)的時間并不是二維影像拍攝的時間。對此,應(yīng)重新調(diào)整影像拍攝的時間,同時重新觀察三維模型所產(chǎn)生的陰影與二維影像陰影的重合情況,即確定兩太陽方位角是否一致。例如,將圖5時間設(shè)為11∶35左右時,三維模型產(chǎn)生的陰影方向有一側(cè)與二維影像中的陰影已經(jīng)重合,這時太陽的位置就已經(jīng)確定,由此,可以得到此二維影像的拍攝時間是2008年5月20日11∶35。
圖4 三維模型形成的陰影Fig.4 The shadow of 3D model
(4)高度調(diào)整。通過上述操作,三維模型產(chǎn)生的整個陰影與二維影像中的陰影并不完全重合,這說明三維模型的高度與建筑物實際高度不符。這時只需要在SketchUp軟件中修改三維模型的高度數(shù)據(jù)并觀察其陰影范圍,直到三維模型產(chǎn)生的整個陰影與二維影像中的陰影完全重合為止。
三維模型的陰影與二維影像的陰影完全重合,保證了三維模型與實際建筑物的一致性。通過使用SketchUp軟件的Tape Measure工具量取三維模型的高度數(shù)據(jù),即可得到建筑物的實際高度,如圖6所示,建筑物的高度為24.97 m。
圖5 部分陰影重合Fig.5 Shadow overlap partly
圖6 陰影完全重合Fig.6 Shadow overlap completely
為了驗證本文方法的正確性與效果,選擇南昌地區(qū)部分建筑物進行高度測量實驗。利用本方法獲取建筑物高度10次,取其平均值,并參比實地測量結(jié)果進行了精度檢驗(表1);同時,利用該方法對全球范圍幾座標志性建筑物的高度進行了測量,結(jié)果如表2所示。從實驗結(jié)果看,利用 Google Earth的二維影像進行建筑物的高度計算是可行的,而且計算結(jié)果也比較理想。
表1 計算值與實測結(jié)果對比Table 1 Comparison between calculated and measured results
表2 計算值與網(wǎng)絡(luò)數(shù)據(jù)值對比Table 2 Comparison between calculated and the Internet results
本文方法獲得建筑物高度與實際建筑物的高度誤差主要來自兩方面:一是二維影像的陰影與三維模型的陰影重合的判定(與建筑物高度有直接關(guān)系);二是二維影像拍攝時間的確定(與太陽方位角有關(guān))??赏ㄟ^以下措施減小誤差:1)一定范圍內(nèi)的二維影像是衛(wèi)星在同一時刻拍攝的,可以選擇同一范圍內(nèi)的多個建筑物的陰影重合測試來確定拍攝時間,然后取其平均值;2)Google Earth提供了近幾年不同時段內(nèi)的二維影像數(shù)據(jù),可以利用該方法對同一建筑物在不同時段內(nèi)產(chǎn)生的陰影獲取高度數(shù)據(jù),求其平均值;3)對二維影像的陰影進行優(yōu)化處理,使其范圍清晰,易于識別;4)陰影測量高度的精度很大程度上取決于陰影重合的判定,這要求所建立的三維模型盡量逼真,以使三維模型產(chǎn)生的陰影與二維影像的陰影一致。
本文采用三維模型的陰影與二維影像中的陰影相重合來快速獲取建筑物高度,從實驗結(jié)果看,利用該方法進行建筑物高度計算是可行的,并且該方法具有操作簡單、方便的特點,具有較好的實用性。有時由于天氣的原因,衛(wèi)星拍攝的建筑物的陰影模糊不清,會對獲取建筑物高度數(shù)據(jù)產(chǎn)生一定的影響。但是,如果能夠觀察實際建筑物的陰影,并能在二維影像中標記出陰影范圍,記錄下當前時間,利用該方法同樣可以獲取建筑物的高度。該方法還存在一些問題,如本文未討論地形干擾這一因素,而且有的建筑物頂部形狀比較復(fù)雜,所形成的陰影不規(guī)則等,這些因素都會影響到所獲得建筑物高度的精度。因此,如何降低類似情況所造成的精度損失將是下一步工作的重點。
[1] 周心鐵.對地觀測技術(shù)與數(shù)字城市[M].北京:科技出版社, 2001.5-12.
[2] 何國金,陳剛,何曉云,等.利用SPOT圖像陰影提取城市建筑物高度及其分布信息[J].中國圖象圖形學(xué)報,2001,6(5):425-428.
[3] 高翔,趙冬玲,張蔚.利用高分辨率遙感影像獲取建筑物高度信息方法的分析[J].測繪通報,2008(3):41-43.
[4] 董玉森,詹云軍,楊樹文.利用高分辨率遙感圖像陰影信息提取建筑物高度[J].咸寧學(xué)院學(xué)報,2002,22(3):51-53.
[5] 孫敏,陳軍.3維城市模型的數(shù)據(jù)獲取方法評述[J].測繪通報, 2000(11):4-6.
[6] 謝軍飛,李延明.利用IKONOS衛(wèi)星圖像陰影提取城市建筑物高度信息[J].國土資源遙感,2004(4):3-6.
[7] 馬素顏,吳健平,周美娟,等.SketchUp構(gòu)建GIS三維模型方法研究[J].計算機與信息技術(shù),2009(Z1):38-40.
[8] 陳丁罡,權(quán)盼盼.基于 Google Earth的建筑物三維建模[J].城市勘測,2007(3):51-53.
[9] Google SketchUp.http://sketchup.google.com.2010-04-02.
[10] Google Earth.http://earth.google.com.2010-04-02.
[11] 金仲秋,陳凱.基于Google SketchUp的虛擬城市三維景觀構(gòu)建技術(shù)研究[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報,2008(2):84-87.
[12] 向浩,杜志強,林蘇靖.三維城市模型中建筑小品的建模方法[J].測繪信息與工程,2006(1):47-49.
Abstract:In this paper,a new method fo r acquiring the building height from 2D images in Google Earth is p roposed,based on analysis of the relations between building shadow s in 2D images and its real heights.Firstly,the 2D image in w hich the buildings located was found and dow nloaded,and was loaded into the SketchUp software.Secondly,3D model was created by using SketchUp 3D modeling function,the sun location in the sky was simulated acco rding to the time that 2D images were taken so that the shadow swas go t by the building 3D model.Thirdly,the solar azimuth angle of the 3D building modelwas adjusted so as to it is coincident w ith the solar azimuth angle of 2D images.Lastly,the height of 3D modelwas adjusted so that the shadow of 3D model and 2D images are overlapped comp letely,then the height of 3D modelwasmeasured and the resultwas the real building height.In addiction,how to reduce the height error resulted by using this technique was also discussed.Case study indicated that the p roposed method in this paper can obtain the correct height of buildings in a satisfied accuracy range.
Key words:SketchUp;Google Earth;building height;shadow
Method for Acquiring Buildings Height from 2D Images in Google Earth
AN Jie-yu,CHENG Peng-gen,D INGBin-fen
(Faculty of Geom atics,East China Institute of Technology,Fuzhou 344000,China)
TP75
A
1672-0504(2010)06-0031-03
2010-01-04;
2010-03-15
國家自然科學(xué)基金項目(40401021);地震動力學(xué)國家重點實驗室開放基金項目(LED506)
安潔玉(1982-),男,碩士研究生,研究方向為GIS理論與方法。*通訊作者E-mail:pgcheng1964@163.com