摘 要 excel vba是 office應(yīng)用程序共享的一種通用的自動化語言, 可以使常用的 office應(yīng)用程序自動化, 創(chuàng)建自定義宏程序[1-2]。結(jié)合林業(yè)調(diào)查項(xiàng)目數(shù)據(jù)采集、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)匯總的實(shí)際作業(yè)要求,采用excel vba,對林業(yè)調(diào)查的數(shù)據(jù)采集、數(shù)據(jù)自動統(tǒng)計和匯總等功能模塊,進(jìn)行了設(shè)計與開發(fā)。實(shí)例表明,該方法操作簡單,結(jié)果可靠,提高了林業(yè)調(diào)查數(shù)據(jù)的采集與數(shù)據(jù)匯總效率,實(shí)用性很強(qiáng)。
關(guān)鍵詞 excel vba;統(tǒng)計;匯總;林業(yè)調(diào)查測繪
導(dǎo)言
林業(yè)調(diào)查、規(guī)劃設(shè)計是林業(yè)生產(chǎn)建設(shè)的重要組成部分,通過林業(yè)調(diào)查對各類林業(yè)信息進(jìn)行綜合分析,并提出相應(yīng)的規(guī)劃設(shè)計。根據(jù)北京市某地施工現(xiàn)場臨時用地范圍內(nèi)綠地、樹木、苗木、花卉、草坪等綠地資源的調(diào)查、測繪作業(yè)及成果的基本要求[3-4],采用excel vba設(shè)計并開發(fā)林業(yè)調(diào)查、測繪數(shù)據(jù)采集與數(shù)據(jù)匯總自動化程序。
林業(yè)調(diào)查測繪作業(yè)及成果[3-4]要求如下:
(1)常綠喬木需量取距地面30cm的地徑、樹高,其他喬木量取距地面1.3m的胸徑;喬木晉級:胸徑5cm;
(2)所有灌木只量取其樹高;高度0.5m;
(3)色帶按延米測量,色塊按面積測量,兩者均量取平均高度;
(4)宿根和草坪均按面積測量;
(5)現(xiàn)有樹木統(tǒng)計表、匯總表;
(6)現(xiàn)有樹木分布調(diào)查成果圖(dwg格式)。
1林業(yè)調(diào)查測繪樹木統(tǒng)計表、匯總表基本格式要求
1.1 現(xiàn)有樹木統(tǒng)計表成果格式[3-4]
苗木統(tǒng)計表,精確體現(xiàn)了喬木、灌木數(shù)量及胸徑高度等主要參數(shù),作為后期園林規(guī)劃設(shè)計量化參數(shù)依據(jù)。統(tǒng)計表主要包括喬、灌木統(tǒng)計成果,苗木統(tǒng)計表字段包含:編號、樹種、數(shù)量/株、胸徑/cm,高度/m,其中喬木統(tǒng)計胸徑與數(shù)量,灌木統(tǒng)計數(shù)量與高度,成果格式示例如圖1。
1.2 樹木匯總表成果格式[3-4]
現(xiàn)有樹木匯總表,比較好的體現(xiàn)了樹木整體分布情況,同時也是后期園林苗木規(guī)劃設(shè)計的主要參數(shù),因此對樹木調(diào)查數(shù)據(jù)的匯總非常必要。
樹木匯總主要苗木包括,喬木、灌木、色塊、宿根、樹樁、草坪等。表內(nèi)主要字段包括序號、樹種、胸徑(D)/cm、地徑(D)/cm、高度(H)/m、數(shù)量/株、備注、合計/株等。
(1)常綠喬木匯總以高度為晉級標(biāo)準(zhǔn),每0.5m作為一個匯總晉級單位,另外單株常綠喬木以單株樹高作為匯總單位;
(2)灌木匯總方法同常綠喬木匯總;
(3)對于普通季節(jié)性喬木以胸徑作為晉級標(biāo)準(zhǔn),每5cm作為一個晉級匯總單位,其中單株普通喬木,以單株胸徑為單株匯總單位;
(4)喬木樹樁匯總方法同普通季節(jié)性喬木;
(5)色塊、宿根、草坪等匯總以面積或延米為匯總單位。
喬木、喬木樹樁等匯總成果表如圖2,灌木、宿根、色塊、草坪等匯總表如圖3。
2現(xiàn)有樹木統(tǒng)計表的自動化實(shí)現(xiàn)
根據(jù)現(xiàn)有樹木(喬木、灌木)統(tǒng)計表的格式基本要求,在園林外業(yè)手簿中加入兩列每株喬灌木的坐標(biāo)參數(shù),因?yàn)槊恐陠坦嗄镜淖鴺?biāo)參數(shù)是唯一確定的,通過每一株樹木的外業(yè)測量編號和坐標(biāo)值可以唯一確定一株樹木的特點(diǎn),在excel表中編輯匹配和關(guān)聯(lián)公式,即可完成統(tǒng)計表的自動生成[5]。喬灌木成果圖示例如圖4所示:
圖4中示例為喬灌木圖面統(tǒng)計數(shù)據(jù),每株樹都唯一對應(yīng)一個內(nèi)業(yè)編號與坐標(biāo)信息,每個坐標(biāo)信息又唯一對應(yīng)一個外業(yè)數(shù)據(jù)采集編號,通過autocad lisp編程將圖中的喬灌木自動連線,并標(biāo)注各喬灌木的統(tǒng)計信息,并提取出每株喬灌木的坐標(biāo)信息,與內(nèi)業(yè)編號相匹配。內(nèi)業(yè)處理過程中只需將外業(yè)測量的坐標(biāo)與點(diǎn)號信息加入excel表中,通過匹配函數(shù):IF(外業(yè)記錄表!F8<>"",IF(A8<>"",VLOOKUP(A8,外業(yè)記錄表!A:J,6,0),""),"")即可自動生成圖5中的苗木統(tǒng)計表。
3現(xiàn)有樹木自動化匯總程序的設(shè)計實(shí)現(xiàn)
3.1 匯總表界面設(shè)計
生成樹木統(tǒng)計表后,由于人工苗木匯總,往往造成統(tǒng)計表與匯總表數(shù)據(jù)不相符的質(zhì)量問題,為了準(zhǔn)確匯總,采用excel自帶的vba宏[5],設(shè)計并實(shí)現(xiàn)了林業(yè)調(diào)查測繪外業(yè)記錄電子手簿。該電子手簿界面友好,操作簡單,外業(yè)記錄手簿在現(xiàn)有樹木數(shù)據(jù)采集過程中,具有點(diǎn)號查重功能,有效規(guī)避了外業(yè)點(diǎn)號錄入的錯誤,確保了后期成圖、統(tǒng)計和匯總的準(zhǔn)確。并通過樹種參數(shù)表預(yù)制了樹種字典,外業(yè)人員既可以自己輸入樹種數(shù)據(jù),并更新樹種字典內(nèi)容,也可以按照已設(shè)置的樹種字典,在下拉列表框中選擇樹種數(shù)據(jù),設(shè)置相關(guān)參數(shù)和量測數(shù)據(jù),通過匯總按鈕實(shí)現(xiàn)了樹種的一鍵匯總的功能[1-2]。數(shù)據(jù)采集界面如圖6,圖7所示。
3.2 一鍵匯總程序的實(shí)現(xiàn)
(1)各sheet表單的建立
為實(shí)現(xiàn)一鍵匯總的功能模塊,建立參數(shù)sheet表單、數(shù)據(jù)源sheet表單、匯總表sheet表單及編碼sheet表單。
1)參數(shù)表單根據(jù)苗木匯總參數(shù)設(shè)置;該表單設(shè)置序號、品種、樹種、測量屬性、取值范圍、外業(yè)記錄表是否存在、是否出現(xiàn)在統(tǒng)計表等字段,并引入調(diào)入錄入窗體按鈕,通過該按鈕可以進(jìn)入數(shù)據(jù)錄入界面與數(shù)據(jù)一鍵匯總界面。
2)數(shù)據(jù)源表單為實(shí)現(xiàn)樹木統(tǒng)計與匯總設(shè)計,該表內(nèi)的數(shù)據(jù)可以通過數(shù)據(jù)外業(yè)數(shù)據(jù)錄入界面直接保存錄入,表中坐標(biāo)記錄可以通過外業(yè)dat數(shù)據(jù)文件根據(jù)點(diǎn)號自動匹配進(jìn)來,數(shù)據(jù)源表單主要字段包括:外業(yè)編號、樹種、編碼、數(shù)量、胸徑(D)/cm、地徑(D)/cm、高度(H)/m、面積(s)/㎡、延米(L)/m、備注、內(nèi)業(yè)編號、坐標(biāo)X、坐標(biāo)Y等。
3)匯總表表單,可以通過生成匯總表按鈕一鍵生成匯總成果表。匯總表如圖2、圖3所示。
4)編碼表單是一個內(nèi)外業(yè)坐標(biāo)數(shù)據(jù)采集編碼對照表,為編寫各種苗木自動展點(diǎn)、坐標(biāo)提取lisp程序服務(wù)。編碼表表單字段主要包括:編碼(南方cass展點(diǎn)編碼)、拼音碼(外業(yè)數(shù)據(jù)采集人工編碼)、樹種、拼音碼(正式拼音匹配碼、簡碼,為cad lisp程序自動簡碼識別服務(wù))各sheet表單字段如圖8、圖9、圖10所示。
(2)現(xiàn)有樹木一鍵匯總程序模塊主體代碼
4結(jié)束語
結(jié)合一線林業(yè)調(diào)查測繪人員的實(shí)際內(nèi)外業(yè)的作業(yè)困難,通過excel自帶函數(shù)和vba自定義宏程序,提出了一個樹木自動統(tǒng)計和自動匯總的實(shí)際解決方案,該方案較完美實(shí)現(xiàn)了所調(diào)查苗木的統(tǒng)計與匯總數(shù)據(jù)的準(zhǔn)確性,并一定程度上提高了一線人員的內(nèi)外業(yè)作業(yè)效率,具有一定的實(shí)踐意義。但是由于本解決方案僅實(shí)現(xiàn)了基于excel表,通過vba編程的自動計算,因此對于林業(yè)調(diào)查測繪cad成果圖的圖形與屬性聯(lián)動方面尚存在不足。隨著計算機(jī)信息智能化的發(fā)展,林業(yè)調(diào)查測繪數(shù)據(jù)采集與處理,宜建立相關(guān)專題數(shù)據(jù)庫,以確保各項(xiàng)林業(yè)調(diào)查數(shù)據(jù)的嚴(yán)密性和準(zhǔn)確性,之后這方面,仍需要進(jìn)一步的研究與發(fā)展,為滿足林業(yè)調(diào)查測繪進(jìn)一步的自動化、智能化生產(chǎn)服務(wù)。
參考文獻(xiàn)
[1] 羅國發(fā),周慶麟. 別怕,excel vba其實(shí)很簡單[M].北京:人民郵電出版社,2016:73.
[2] 王浩,馬玉軍,陳連山,等.從入門到精通visual basic[M].北京:化學(xué)工業(yè)出版社,2011:33.
[3] 中華人民共和國林業(yè)部.林業(yè)專業(yè)調(diào)查主要技術(shù)規(guī)定[M].北京:中國林業(yè)出版社,1990:109.
[4] 森林資源規(guī)劃設(shè)計調(diào)查技術(shù)規(guī)程:GB/T 26424-2010[S].北京:中國標(biāo)準(zhǔn)出版社,2010.
[5] 李輝,郝艷芬 .Excel2003 VBA辦公應(yīng)用[M].北京:人民郵電出版社,2006:119.
作者簡介:
張樹基(1980-),男,遼寧大連人;學(xué)歷:碩士,職稱:工程師,現(xiàn)就職單位:上海市建筑科學(xué)研究院有限公司,研究方向:工程監(jiān)測與地理信息工程。