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