張 馳,周 良 辰,閭 國 年,周 侗
(1.南通大學地理科學學院,江蘇 南通 226019;2.虛擬地理環境教育部重點實驗室(南京師范大學),江蘇 南京 210023;3.江蘇省地理環境演化國家重點實驗室培育建設點,江蘇 南京 210023;4.江蘇省地理信息資源開發與利用協同創新中心,江蘇 南京 210023)
?
面向復雜地理場景的日照分析算法研究
張 馳1,2,周 良 辰2,3,4*,閭 國 年2,3,4,周 侗1
(1.南通大學地理科學學院,江蘇 南通 226019;2.虛擬地理環境教育部重點實驗室(南京師范大學),江蘇 南京 210023;3.江蘇省地理環境演化國家重點實驗室培育建設點,江蘇 南京 210023;4.江蘇省地理信息資源開發與利用協同創新中心,江蘇 南京 210023)
在現實世界的復雜地理場景中進行日照分析模擬,必須考慮眾多真三維地形/地物的遮擋因素,傳統的日照分析方法難以得出高效、準確的結果。該文面向復雜地理場景的真三維地形/地物要素,設計了相應的日照遮擋分析算法,并以太陽光線的空間局限性為基礎,構建了均勻格網-AABB-kd-樹的場景組織方式,可以準確、快速地計算出日照時數,有效地實現了算法加速。
復雜地理場景;日照分析;空間局限性;空間劃分
日照分析是以太陽在地理場景中的運動軌跡為基礎,研究太陽光線與場景中地形、地物等要素的時空關系,并對場景中指定要素的陰影、日照時數等指標進行定性/定量分析計算的過程。目前,日照分析已成為城市規劃、居住環境評價以及“陽光權” 實施與保障的重要手段。日照分析的主要對象——建筑物一般處于一個復雜的地理場景中,該場景不僅包括人居建筑,也包括山地、丘陵等起伏的地形以及植被、亭臺樓閣、古塔等一系列地物要素。這些地形/地物要素都是存在于真實世界中的三維實體,共同構成了一個真三維的日照分析場景。在實際分析過程中,地形要素及建筑周邊的亭臺樓閣、植被、古塔等地物要素都對日照光線產生遮擋,要進行精確的日照分析模擬,必須考慮場景中眾多三維實體的遮擋因素。
在當前日照分析的相關研究領域,學者們主要圍繞日照時數、日照陰影、日照間距、建筑遮擋等問題[1-4]展開研究,針對場景要素之間的遮擋關系判斷這一核心問題,提出了建筑物CAD法[5,6]、通視分析法[7]、幾何光學法[1-4,8,9]等方法。但這些方法在應用于復雜地理場景時,存在如下問題:1)拘泥于建筑場景,沒有考慮現實世界中日照分析場景的真三維特性,難以應用到復雜地理場景中[5-9];2)缺乏對太陽光線與場景中地形/地物要素時空關系的考慮,應用于復雜地理場景中計算效率低[1-4]。當前雖然存在以眾智日照、鴻業日照為代表的相關日照分析軟件,且眾智日照分析軟件是住建部在建筑日照分析領域的首推軟件,但上述軟件往往基于建筑CAD平臺,采用底圖拉伸附加屋頂結構的方式構造建筑物模型,這種建模方式不便于描述現實世界中復雜的建筑實體,從嚴格意義上講,是一種偽三維場景。
現實世界是三維的,作為對現實世界日照情況的刻畫,日照分析也必須基于真實地理場景下的眾多真三維地形/地物要素進行快速、準確的分析與模擬。本文將針對上述問題,研究一種適合于復雜地理場景的高效日照分析算法,實現真實地理場景中快速、準確的日照分析計算。
在進行日照分析時,一般將太陽看成一個無限遠處的點光源。在某一時刻,太陽位置可以根據精確的算法算出[3,10-12]。在此基礎上,可根據待測點與太陽位置的連線是否被場景要素遮擋這一條件,判斷待測點的遮擋情況。因此,可采用如下思路面向真三維地理場景構造日照分析算法:在某一時刻,從待測點出發,向太陽所在位置引一條射線,判斷該射線與場景中所有地形、地物要素的關系:若與某一地形、地物要素的三維實體邊界相交,則該點在該時刻被遮擋;若與所有地形、地物要素的三維實體邊界都不相交,則該點在該時刻不被遮擋。
該算法可以在已知太陽位置的基礎上,較為準確地判斷出真實地理場景中的日照遮擋關系,但面臨另一個問題:真實地理場景中往往包含大量的地形/地物要素,要將光線與場景中數以萬計的地理要素的三維實體邊界進行相交判斷,計算效率將受到極大影響。因此,問題就轉化為如何利用太陽與地理場景的時空關系,對上述日照分析算法進行優化,使其能夠快速、準確地實現日照遮擋關系判斷。
太陽光線與地理場景中地形、地物要素的時空關系處于一個動態變換的過程中,不同的時間與地點,有效日照的“時間”特征與日照光線路徑上的“空間”特征都不同。在地理位置、分析時段已知的情況下,太陽運行軌跡可采用非線性方程表達。如果能基于有效日照的“時間”特征和日照光線路徑上的“空間”特征,確定出對應時刻中可能產生遮擋的有效范圍,并以較低代價過濾掉不可能與太陽光線相交的地形/地物要素,即可在一定程度上加快日照遮擋關系的判斷過程。
圖1是某場景的平面投影,由于太陽在某一特定時刻位置是確定的,因此從某待測點引出的太陽光線也是確定的,而該光線在該時刻只可能與場景中一定范圍內的地形/地物要素相交(圖1中與地物A、B、C相交)。因此,若采用空間劃分方法對場景中的地形/地物要素進行組織,在進行遮擋關系判斷時,就可以較低代價過濾掉場景中不可能與光線相交的大量地形、地物要素,從而大大減少光線與場景要素的相交判斷次數,使得計算效率得到極大提升。

圖1 太陽光線的空間局限性
Fig.1 The space limitation of the sunlight
基于日照光線的空間局限性,本文采用空間劃分方法對場景進行組織,以實現算法的加速。當前主要的空間劃分方法有均勻網格、八叉樹、BSP樹、kd-樹等[13]。文獻[14]指出,kd-樹的構建代價較高,但在構建完成后,其訪問效率明顯高于均勻網格和空間八叉樹。BSP樹與kd-樹類似,都屬于構建代價較高但訪問效率高的空間劃分方法,適用于靜態場景。日照分析的地理場景一經建立,改變較少,因此應選用訪問效率較高的kd-樹或BSP樹對空間進行組織。kd-樹是一種特殊的BSP樹,它將BSP樹劃分中的任意分割平面退化為軸對齊的分割平面。日照分析的地理場景以建筑為主體,而建筑一般以垂直于地面的方式存在,因此,以軸對齊的方式進行空間劃分可以降低BSP樹生成時的幾何體元分割操作,卻同樣具有BSP樹的優良特性,即一定程度上的啟發式空間劃分,這樣使得最終劃分的二叉樹盡可能平衡,進而提升效率。
因此,本文基于kd-樹對場景進行組織,實現算法的加速。將場景中的單一地形、地物要素以軸對齊包圍盒(AABB)進行統一管理,在AABB的基礎上,對每個要素進行kd-樹的劃分,形成一個AABB-kd-樹的組織體系。構建kd-樹所面臨的核心問題是分割平面的選擇策略,當前學者提出了一系列kd-樹的分割平面選擇方法。其中,表面積啟發(Surface Area Heuristic,SAH)方法[15]使用較為普遍,它考慮了影響光線跟蹤的兩大因素:圖元對象分布和空間尺寸,實踐證明,該方法是一種合理且高效的kd-樹構建方法。因此,本文選擇SAH方法進行分割平面的選擇。
AABB-kd-樹的組織體系能有效過濾掉多余的場景要素,減少光線與要素的相交判斷,進而提升了算法效率。但若場景中地物數量眾多,則仍需進行大量光線-AABB的相交測試。為了進一步提高效率,本文以均勻網格對場景中要素的AABB進一步組織,形成一個均勻網格-AABB-kd-樹的組織體系(圖2)。通過上述場景組織方法,可以為光線與場景要素的快速遮擋判斷提供支持。

圖2 基于均勻網格、kd-樹的場景組織
Fig.2 The scene organization based on uniform grid and kd-tree
基于該場景組織方式的光線遮擋判別算法如下(圖3):1)設置待測點與測試時刻,利用文獻[3]的太陽位置算法獲取待測點在該時刻的太陽位置,并與該點相連生成所對應的太陽光線;2)將光線與均勻網格進行相交判斷,篩選出與光線相交網格所關聯的地形/地物要素,作為下一步相交判斷的待選要素;3)循環遍歷篩選出來的地形/地物要素,判斷光線是否與該要素的AABB相交,若相交則轉下一步,否則轉步驟5;4)遞歸遍歷該要素的kd-樹,如果光線與kd-樹的某葉子結點相交,則循環遍歷該葉子結點中所包含的三角面片,如有相交,則該點在該時刻被遮擋,轉步驟6,如果與該kd-樹中三角面片不存在相交,則光線與該要素沒有相交,轉下一步;5)如果還有要素沒有遍歷完成,則轉步驟3,否則該要素未被遮擋,轉步驟6;6)結束遍歷,得出計算結果。

圖3 基于空間劃分的日照分析方法
Fig.3 The solar analysis algorithm based on space division
當前針對復雜地理場景下日照分析的研究成果較少,具有代表性的是文獻[3],其所采用的日照分析算法計算出的日照時數在精度上高于眾智日照分析軟件。因此,筆者將本文算法與文獻[3]的方法進行對比實驗。實驗數據采用南京師范大學仙林校區北區地形、地物數據,場景總共包含約45 000個三角面片。測試日期:冬至日;測試時段:8∶00-16∶00;離散時間步長:1 min。
3.1 算法精度測試
基于在場景中選取的3個點(圖4),對其日照時數進行對比計算。表1結果表明,本文算法與文獻[3]算法計算結果除了在B點有部分偏差外,其他點基本一致,因此本文算法具有一定的準確性。

圖4 精度測試選點
Fig.4 The points for precision test
表1 精度比較結果
Table 1 Results of precision comparison

點編號坐標文獻[3]算法日照時數(min)本文算法日照時數(min)A397214 4,3555349 9,34 7335335B397191 6,3555351 8,31 2295294C397212 9,3555351 8,47 9205205
3.2 算法效率測試
基于場景中選取的兩個立面數據進行離散分析,其中立面1離散為252個點,立面2離散為153個點。基于1 min離散時間步長,計算結果如表2所示。
表2 1 min時間離散步長的效率對比
Table 2 Efficiency comparison of 1 minute discrete interval

編號待測點個數文獻[3]算法(s)本文算法(加速前)(s)本文算法(加速后)(s)125223473463215315902482
表2結果表明:1)本文方法效率大大高于文獻[3]所采用方法。文獻[3]中過多地考慮了地球形體等因素,計算過程太復雜。而在實際應用中,日照分析計算場景跨度一般在10 km以內,地球形體等因素對日照分析產生的誤差較小,因此在多數情況下不必采用如此復雜的計算方法。2)基于空間劃分方法的場景組織方式可以最大限度過濾掉不需要參加運算的地形/地物要素,使得計算效率得到較大程度提升。因此本文算法在確保精度的前提下有效地提高了計算效率,是一種適用于復雜地理場景的日照分析方法。
本文基于太陽光線的空間局限性,利用均勻網格、kd-樹等空間劃分方法對場景進行重新組織,可以較低代價過濾掉不可能與光線相交的地形地物/要素,大大減少耗時的光線/場景要素的相交判斷。該方法在應用于地形/地物要素較多的復雜場景中進行日照時數計算時,可以在保證計算精度的前提下,有效地提高計算效率。下一步會考慮將日照分析延伸到室內場景,基于太陽光線的空間局限性,實現室內場景中要素遮擋關系的快速、準確判斷。
[1] 李朝奎,朱慶,陳松林,等.基于3DCM的日照分析模型研究[J].武漢大學學報(信息科學版),2005,30(1):89-92.
[2] 吳穎.數碼城市GIS中的日照分析研究[J].測繪通報,2007(12):62-65.
[3] 張富.面向復雜地理場景的日照分析模型研究[D].南京:南京師范大學,2010.
[4] 張穎.基于三維城市模型的日照分析研究[D].武漢:武漢大學,2005.
[5] 王詁.建筑日照分析的CAD方法[J].工程設計CAD與智能建筑,1996(4):26-30.
[6] 王詁.建筑日照計算新概念[J].建筑學報,2001(2):48-50.
[7] 應申.空間可視分析的關鍵技術和應用研究[D].武漢:武漢大學,2005.
[8] CHEUNG H D,CHUNG T M.Analyzing sunlight duration and optimum shading using a sky map[J].Building and Environment,2007,42(9):3138-3148.
[9] MARSH A.Computer-optimised shading design[C].Building Simulation,2003.11-14.
[10] BOURGES B.Improvement in solar declination computation[J].Solar Energy,1985,35(4):367-369.
[11] SPENCER J W.Comments on the astronomical almanac′s algorithm for approximate solar position(1950-2050)[J].Solar Energy,1989,42(4):353.
[12] 王炳忠,楊潔.幾種太陽位置計算方法的比較研究[J].太陽能學報,2001,22(4):413-417.
[13] ERICSON C.Real-Time Collision Detection[M].Taylor & Francis US,2005.
[14] SZIRMAY L,HAVRAN V.On the efficiency of ray-shooting acceleration schemes[C].International Conference on Computer Graphics and Interactive Techniques,2002.97-106.
[15] HAVRAN V.Heuristic ray shooting algorithms[D].Czech Technical University,Prague,Czech Republic,2001.
Study on Algorithm of Solar Analysis for Complex Geographic Scene
ZHANG Chi1,2,ZHOU Liang-chen2,3,4,LV Guo-nian2,3,4,ZHOU Tong1
(1.CollegeofGeographicScience,NantongUniversity,Nantong226019;2.KeyLaboratoryofVirtualGeographyEnvironment,NanjingNormalUniversity,Nanjing210023;3.StateKeyLaboratoryCultivationBaseofGeographicalEnvironmentEvolution,Nanjing210023;4.JiangsuCenterforCollaborativeInnovationinGeographicalInformationResourceDevelopmentandApplication,Nanjing210023,China)
It is necessary to take into account the shelter factor of numerous terrain and cultural features of three dimensions when carrying on solar analysis in the complex geographical scene of real world.However traditional solar analysis methods often have the problems of low efficiency and low accuracy when applied in it.In response to these issues,the sunlight shelter analysis algorithm for the three dimensional features in complex geographical scene is designed and the organization of uniform grid-AABB-kd-tree is created by this paper to accelerate the algorithm based on the sunlight′s attribute of space limitation.Experiment shows that,sunlight duration can be calculated precisely and efficiently by this method,which is suitable for the solar analysis in complex geographical scene.
complex geographical scene;solar analysis;space limitation;space division
2014-09-23;
2014-12-16
江蘇省測繪地理信息科研項目(JSCHKY201406、JSCHKY201404);國家自然科學青年基金(41301415);虛擬地理環境教育部重點實驗室開放基金項目(2014VGE02)
張馳(1982-),男,博士,講師,研究方向為建筑物建模與模擬。*通訊作者E-mail:benz1983@163.com
10.3969/j.issn.1672-0504.2015.03.013
P208
A
1672-0504(2015)03-0065-04