摘 要 excel vba是 office应用程序共享的一种通用的自动化语言, 可以使常用的 office应用程序自动化, 创建自定义宏程序[1-2]。结合林业调查项目数据采集、数据统计、数据汇总的实际作业要求,采用excel vba,对林业调查的数据采集、数据自动统计和汇总等功能模块,进行了设计与开发。实例表明,该方法操作简单,结果可靠,提高了林业调查数据的采集与数据汇总效率,实用性很强。
关键词 excel vba;统计;汇总;林业调查测绘
导言
林业调查、规划设计是林业生产建设的重要组成部分,通过林业调查对各类林业信息进行综合分析,并提出相应的规划设计。根据北京市某地施工现场临时用地范围内绿地、树木、苗木、花卉、草坪等绿地资源的调查、测绘作业及成果的基本要求[3-4],采用excel vba设计并开发林业调查、测绘数据采集与数据汇总自动化程序。
林业调查测绘作业及成果[3-4]要求如下:
(1)常绿乔木需量取距地面30cm的地径、树高,其他乔木量取距地面1.3m的胸径;乔木晋级:胸径5cm;
(2)所有灌木只量取其树高;高度0.5m;
(3)色带按延米测量,色块按面积测量,两者均量取平均高度;
(4)宿根和草坪均按面积测量;
(5)现有树木统计表、汇总表;
(6)现有树木分布调查成果图(dwg格式)。
1林业调查测绘树木统计表、汇总表基本格式要求
1.1 现有树木统计表成果格式[3-4]
苗木统计表,精确体现了乔木、灌木数量及胸径高度等主要参数,作为后期园林规划设计量化参数依据。统计表主要包括乔、灌木统计成果,苗木统计表字段包含:编号、树种、数量/株、胸径/cm,高度/m,其中乔木统计胸径与数量,灌木统计数量与高度,成果格式示例如图1。
1.2 树木匯总表成果格式[3-4]
现有树木汇总表,比较好的体现了树木整体分布情况,同时也是后期园林苗木规划设计的主要参数,因此对树木调查数据的汇总非常必要。
树木汇总主要苗木包括,乔木、灌木、色块、宿根、树桩、草坪等。表内主要字段包括序号、树种、胸径(D)/cm、地径(D)/cm、高度(H)/m、数量/株、备注、合计/株等。
(1)常绿乔木汇总以高度为晋级标准,每0.5m作为一个汇总晋级单位,另外单株常绿乔木以单株树高作为汇总单位;
(2)灌木汇总方法同常绿乔木汇总;
(3)对于普通季节性乔木以胸径作为晋级标准,每5cm作为一个晋级汇总单位,其中单株普通乔木,以单株胸径为单株汇总单位;
(4)乔木树桩汇总方法同普通季节性乔木;
(5)色块、宿根、草坪等汇总以面积或延米为汇总单位。
乔木、乔木树桩等汇总成果表如图2,灌木、宿根、色块、草坪等汇总表如图3。
2现有树木统计表的自动化实现
根据现有树木(乔木、灌木)统计表的格式基本要求,在园林外业手簿中加入两列每株乔灌木的坐标参数,因为每株乔灌木的坐标参数是唯一确定的,通过每一株树木的外业测量编号和坐标值可以唯一确定一株树木的特点,在excel表中编辑匹配和关联公式,即可完成统计表的自动生成[5]。乔灌木成果图示例如图4所示:
图4中示例为乔灌木图面统计数据,每株树都唯一对应一个内业编号与坐标信息,每个坐标信息又唯一对应一个外业数据采集编号,通过autocad lisp编程将图中的乔灌木自动连线,并标注各乔灌木的统计信息,并提取出每株乔灌木的坐标信息,与内业编号相匹配。内业处理过程中只需将外业测量的坐标与点号信息加入excel表中,通过匹配函数:IF(外业记录表!F8<>"",IF(A8<>"",VLOOKUP(A8,外业记录表!A:J,6,0),""),"")即可自动生成图5中的苗木统计表。
3现有树木自动化汇总程序的设计实现
3.1 汇总表界面设计
生成树木统计表后,由于人工苗木汇总,往往造成统计表与汇总表数据不相符的质量问题,为了准确汇总,采用excel自带的vba宏[5],设计并实现了林业调查测绘外业记录电子手簿。该电子手簿界面友好,操作简单,外业记录手簿在现有树木数据采集过程中,具有点号查重功能,有效规避了外业点号录入的错误,确保了后期成图、统计和汇总的准确。并通过树种参数表预制了树种字典,外业人员既可以自己输入树种数据,并更新树种字典内容,也可以按照已设置的树种字典,在下拉列表框中选择树种数据,设置相关参数和量测数据,通过汇总按钮实现了树种的一键汇总的功能[1-2]。数据采集界面如图6,图7所示。
3.2 一键汇总程序的实现
(1)各sheet表单的建立
为实现一键汇总的功能模块,建立参数sheet表单、数据源sheet表单、汇总表sheet表单及编码sheet表单。
1)参数表单根据苗木汇总参数设置;该表单设置序号、品种、树种、测量属性、取值范围、外业记录表是否存在、是否出现在统计表等字段,并引入调入录入窗体按钮,通过该按钮可以进入数据录入界面与数据一键汇总界面。
2)数据源表单为实现树木统计与汇总设计,该表内的数据可以通过数据外业数据录入界面直接保存录入,表中坐标记录可以通过外业dat数据文件根据点号自动匹配进来,数据源表单主要字段包括:外业编号、树种、编码、数量、胸径(D)/cm、地径(D)/cm、高度(H)/m、面积(s)/㎡、延米(L)/m、备注、内业编号、坐标X、坐标Y等。
3)汇总表表单,可以通过生成汇总表按钮一键生成汇总成果表。汇总表如图2、图3所示。
4)编码表单是一个内外业坐标数据采集编码对照表,为编写各种苗木自动展点、坐标提取lisp程序服务。编码表表单字段主要包括:编码(南方cass展点编码)、拼音码(外业数据采集人工编码)、树种、拼音码(正式拼音匹配码、简码,为cad lisp程序自动简码识别服务)各sheet表单字段如图8、图9、图10所示。
(2)现有树木一键汇总程序模块主体代码
4结束语
结合一线林业调查测绘人员的实际内外业的作业困难,通过excel自带函数和vba自定义宏程序,提出了一个树木自动统计和自动汇总的实际解决方案,该方案较完美实现了所调查苗木的统计与汇总数据的准确性,并一定程度上提高了一线人员的内外业作业效率,具有一定的实践意义。但是由于本解决方案仅实现了基于excel表,通过vba编程的自动计算,因此对于林业调查测绘cad成果图的图形与属性联动方面尚存在不足。随着计算机信息智能化的发展,林业调查测绘数据采集与处理,宜建立相关专题数据库,以确保各项林业调查数据的严密性和准确性,之后这方面,仍需要进一步的研究与发展,为满足林业调查测绘进一步的自动化、智能化生产服务。
参考文献
[1] 罗国发,周庆麟. 别怕,excel vba其实很简单[M].北京:人民邮电出版社,2016:73.
[2] 王浩,马玉军,陈连山,等.从入门到精通visual basic[M].北京:化学工业出版社,2011:33.
[3] 中华人民共和国林业部.林业专业调查主要技术规定[M].北京:中国林业出版社,1990:109.
[4] 森林资源规划设计调查技术规程:GB/T 26424-2010[S].北京:中国标准出版社,2010.
[5] 李辉,郝艳芬 .Excel2003 VBA办公应用[M].北京:人民邮电出版社,2006:119.
作者简介:
张树基(1980-),男,辽宁大连人;学历:硕士,职称:工程师,现就职单位:上海市建筑科学研究院有限公司,研究方向:工程监测与地理信息工程。