譚緒泉 谷建才 孫榮喜 陳平 馬旺 趙上
(河北農業大學,保定,071000) (中國林業科學研究院林業所) (河北農業大學)
基于Excel VBA實現林分空間結構參數的自動計算1)
譚緒泉 谷建才 孫榮喜 陳平 馬旺 趙上
(河北農業大學,保定,071000) (中國林業科學研究院林業所) (河北農業大學)
利用Excel VBA對林分空間結構計算進行二次開發,實現林分空間結構參數的自動計算,可避免數據量巨大、計算耗時長,且容易出錯的問題,大大減少在林分空間結構分析上的時間和精力,達到數據處理自動化。林分空間結構主要參數以大小比數、角尺度和混交度為主要計算指標,計算過程的主體結構為二次遍歷。通過林分內各株立木的坐標計算其相對位置,在遍歷相鄰木時對其是否為最近相鄰木進行判斷,并在尋找到最近相鄰木之后計算中心木的相應指標,然后輸出計算結果。經調試驗證,基于Excel VBA開發的林分空間結構自動計算程序,能滿足林分空間結構參數計算的需要,計算過程簡單,計算結果可靠,可以作為林分空間結構進一步分析的依據。林分空間結構自動計算程序,可以減少人工計算時間,有較高的實用價值。
森林經理學;Excel VBA;林分空間結構;自動化計算;二次開發
Microsoft Excel是微軟公司辦公套裝軟件Microsoft office中的一個重要組成部分,它可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用于管理、統計財經、金融等眾多領域。
在有關森林結構與功能的研究中,森林結構處于重要地位,它決定了森林功能。林分空間結構是指林木在林地上的分布格局及其屬性在空間上的排列方式[1],反映了森林群落內物種的空間關系。林分空間結構對林木生長有著十分重要的作用,不同的林分結構對林木生長產生的影響也不同。林分空間結構包括的內容很多[2],一般從3個方面進行描述:樹種空間隔離程度(即混交),林木個體大小分化程度(即競爭),林木個體在水平面上的分布形式,即林木空間分布格局[3-7]。因此可以得出林分空間結構決定了樹木之間的競爭優勢及其空間生態位,在很大程度上決定了林分的穩定性、發展方向和經營措施[8-10],已經成為森林經營中的重要因素。
Visual Basic for Applications,簡稱VBA,它是新一代標準宏語言,是基于Visual Basic發展而來的,二者具有相似的語言結構。VBA不但繼承了VB的開發機制,而且它們的集成開發環境IDE(Intergrated Development Environment)也幾乎相同。Visual Basic作為一套獨立的Windows系統開發工具,可用于開發Windows環境下的各類應用程序,是一種可視化的、面向對象的、采用事件驅動方式的結構化高級程序設計語言。它具有高效率、簡單易學及功能強大的特點。經過優化,VBA專門用于Office辦公軟件各組件的應用開發[11]。
林分空間結構分析,要求分析任意一株立木與調查樣地內所有其它立木的相關關系,找到最近的n株相鄰木,并且計算相應的林分空間結構指標。其分析、計算過程復雜,在Excel電子表格用戶界面中無法一次實現,而通過填寫函數手動計算,由于林分空間結構調查樣地一般都大于幾千平方米,數據量巨大,計算耗時長,且容易出錯,因而也不是最佳選擇。現在已經開發成型的帶有林分空間結構處理模塊的分析軟件,幾乎全部為商業軟件,對于一般研究者和學生來說,沒有經濟能力去購買專業分析軟件。
因此,利用Excel擴展開發語言VBA,可以輕松實現上面復雜的分析、計算過程,由計算機自動進行分析與計算,直接在電子表格用戶界面中輸出計算結果,使林分空間結構分析自動化與智能化。
了解了林分空間結構分析的過程,就能自己動手寫出代碼,實現所要求的功能。其最主要的過程是進行中心木與相鄰木的比較分析,這就需要對調查地內所有立木數據做兩兩比較。假設調查地內共有m條不重復的立木記錄,設定最近相鄰木數量為n株,通過對調查范圍內m條記錄做兩層遍歷,即可以實現兩兩比較的目的。同時在進行m條記錄兩兩比較的同時,使用數組來存儲符合要求的n株最近相鄰木的記錄,并進行空間結構參數的計算。
林分的空間結構反映了森林群落內物種間的空間關系,即林分中林木的水平分布格局和空間排列方式,主要選用以下3個參數:①反應林木個體大小(胸徑、樹高和樹冠等)分化程度的大小比數;②反映林木個體在林地上的水平分布及林木空間分布格局的角尺度;③體現樹種空間隔離程度的樹種混交度。具體計算公式請參閱文獻[3]、[4]、[12]中的計算公式。
林分空間結構分析的主要思想是:以林分內某株立木作為中心木,比較中心木與其最近的n株相鄰木的各項測樹因子。
在代碼編寫過程中涉及到的林分空間結構的參數主要有:
①大小比數。大小比數(Ui)被定義為大于中心木的相鄰木數占所考查的n株最近相鄰木的比例。
②角尺度。角尺度(Wi)被定義為夾角小于標準角的株數占所考查的最近相鄰木的比例。林分平均角尺度大于0.517時為團狀分布,小于0.475時為均勻分布,[0.475,0.517]時為隨機分布[7]。
③混交度。混交度(Mi)被定義為距離中心木最近的n株相鄰木與中心木不屬同種的個體所占的比例。林木混交度取值范圍[0,1],Mi=0表示,4株鄰近木與中心木均屬于同一樹種,中心木為零度混交;Mi=1表示,4株鄰近木與中心木均屬于不同樹種,中心木為極強度混交。
林分混交度取值范圍為[0,1],取值為0表示零度混交,即純林;取值為1,表示極強度混交。
在Excel中,林分空間結構的數據組織形式:列為字段,即各項調查因子;行為記錄,即調查地內每株立木相關調查因子的集合為一條記錄。
林分空間結構立木數據的主要字段有:樹種、X距離(或方位角)、Y距離(或極半徑)、胸徑、樹高。這5項是最基本的字段,根據需要,還可以將有關調查數據添加為新的字段。文中將含有調查地內所有立木記錄的單元格區域稱為數據區,假設數據區內有m條記錄,5個字段(以上5個基本字段),設定相鄰木數目為n。
林分空間結構自動計算的流程見圖1,黑色虛線框內為Excel VBA代碼執行部分,黑色虛線框外是Excel電子表格用戶界面部分。在代碼執行部分,計算機通過第一層遍歷,計算調查地內每株立木的空間結構參數;通過第二層遍歷,找到調查地內第i株立木的n株最近相鄰木,然后計算其空間結構參數。兩層遍歷結束后,輸出調查地內每株立木的空間結構參數。
根據計算指標參數的需求,還可以在自動計算主要流程中添加其它空間參數和非空間參數的計算模塊,對林分空間結構計算進行功能上的擴展。

圖1 林分空間結構自動計算流程
林分空間結構參數自動計算程序流程部分的主要代碼如下:


代碼完全編寫完成后,林分空間結構參數自動計算程序通過調試。使用絕對均勻分布、胸徑值相同、樹高值相同的林分數據進行驗證,得到的計算結果符合實際情況;使用聚集分布和隨機分布的林分數據進行驗證,得到的計算結果符合實際情況。
下面以承德市隆化縣茅荊壩林場油松林為例,對程序結果進行檢驗。
該油松林位于隆化縣茅荊壩林場范圍內,海拔800m,西坡,坡度 9°,郁閉度 0.3,林齡約 45 a,林分密度為417 株/hm2。調查方法為設置圓形調查樣地,樣地半徑30m,對樣地范圍內的立木進行每木檢尺,其所處的位置,使用方位角和半徑記錄,調查林木的胸徑、樹高、東西冠幅、南北冠幅等內容。立木分布如圖2所示,直接觀察可知,林分內立木分布未呈現明顯的均勻分布狀態,林內出現較大的空隙,其分布應以隨機分布或者偏于聚集分布為主。

圖2 立木分布示意圖
將林分調查數據錄入Excel電子表格中,部分數據顯示如表1。

表1 部分林分調查數據
啟動林分空間結構參數自動計算程序,設置臨近木數量為4,計算機將自動計算出該林分樣地內每株立木的大小比數、角尺度以及混交度。由于該林分為油松純林,混交度計算結果全部顯示為0。大小比數和角尺度的計算結果在每株立木數據后即刻顯示出來,計算機同時自動計算該林分樣地內所有立木的平均大小比數,平均角尺度和平均混交度。
經計算得知,該林分樣地的平均大小比數為0.46,平均角尺度為0.55,平均混交度為0。林分平均角尺度大于0.517,屬于聚集分布狀態。
在樣地立木數據中隨機選取一株立木作為中心木,手動查找其最近的4株臨近木,經手動計算所選中心木的各項林分空間結構參數后,比較發現程序自動計算的結果與手動計算結果一致。

表2 隨機選取的中心木與其最近的4株臨近木
使用現實調查林分內的立木數據進行程序結果驗證,發現計算結果可靠,符合應用要求,在林分空間結構分析中可以使用。
Microsoft Excel程序在科學研究與日常生活中使用廣泛,利用Excel VBA進行二次開發,可以使在Excel電子表格用戶界面中無法一次完成的復雜工作得到簡化與實現,節省工作時間,將更多的精力用于研究方法與數據處理方法的思考中。林分空間結構參數自動計算程序的開發,節省了有關林分空間結構數據處理的大量時間和精力,通過添加不同計算模塊,自動計算程序在使用功能上還有很大的繼續擴展潛力。
[1] 賀姍姍,彭道黎.林分空間結構可視化方法研究[J].西北林學院學報,2009,24(2):157-161.
[2] 雷相東,唐守正.林分結構多樣性指標研究綜述[J].林業科學,2002,38(3):140-146.
[3] 惠剛盈,von Gadow K,Albert M.角尺度:一個描述林木個體分布格局的結構參數[J].林業科學,1999,35(1):37-42.
[4] 惠剛盈,von Gadow K,Albert M.一個新的林分空間結構參數:大小比數[J].林業科學研究,1999,12(1):1-6.
[5] 惠剛盈,von Gadow K,胡艷波,等.林木分布格局類型的角尺度均值分析方法[J].生態學報,2004,24(6):1225-1229.
[6] 湯孟平.森林空間結構分析與優化經營模型研究[D].北京:北京林業大學,2003.
[7] 廖彩霞,吳瑤,衣得萍,等.林分空間結構的研究[J].林業科技情報,2007,39(2):40-41.
[8] 蘇薇,岳永杰,余新曉.北京山區油松天然林的空間結構分析[J].灌溉排水學報,2008,28(1):113-117.
[9] 張會儒,武紀成,楊洪波,等.長白落葉松—云杉—冷杉混交林林分空間結構分析[J].浙江林學院學報,2009,26(3):319-325.
[10] 胡艷波,惠剛盈,戚繼忠,等.吉林蛟河天然紅松闊葉林的空間結構分析[J].林業科學研究,2003,16(5):523-530.
[11] Davis G H.VBA從入門到精通[M].2版.楊密,楊樂,柯樹森,譯.北京:電子工業出版社,2008:288-301.
[12] 惠剛盈,胡艷波.混交林樹種空間隔離程度表達方式的研究[J].林業科學研究,2001,14(1):23-27.
Auto-Calculation of Spatial Structure Parameters for Forest Stand Based on Excel VBA
/Tan Xuquan,Gu Jiancai(School of Forestry,Agricultural University of Hebei,Baoding 071000,P.R.China);Sun Rongxi(Research Institute of Forestry,Chinese Academy of Forestry);Chen Ping,Ma Wang,Zhao Shang(Agricultural University of Hebei)//Journal of Northeast Forestry University.-2011,39(6).-116~118
Forest management;Excel VBA;Spatial structure;Auto-calculation;Further development
S757
1)國家林業局公益性行業科研專項(200804022F)。
譚緒泉,男,1985年1月生,河北農業大學林學院,碩士研究生。
谷建才,河北農業大學林學院,教授。E-mail:gujiancai@126.com。
2010年9月20日。
責任編輯:戴芳天。
Further development of calculation of forest stand-level spatial structure was conducted with the Visual Basic for Applications(VBA)in Excel to realize the auto-calculation of spatial structure parameters for forest stand,which solve several problems on huge data size,time consuming and error-prone.The main calculated parameters for forest stand spatial structure include diameter ratios(neighborhood comparison),angle scales(neighborhood pattern)and mixed degree(mingling degree).The main structure is twice traversing.The relative position of each standing tree in the forest stand is calculated by the first traversing.Moreover,determine the closest neighbor tree by the second traversing and calculate the parameters of the central tree.Then output the results in Excel for users.Through debugging and testing,auto-calculation program of Excel VBA-Based forest stand spatial structure can fully meet the demand for the parameter calculation of forest stand spatial structure.The auto-calculation program,with simple procedure and reliable results,is very applicable due to its less time consuming,and it can provide a basis for further analysis of forest stand spatial structure.