-
森林经营是维持森林资源可持续发展、提高森林质量和林地生产力的保障,编制和实施森林经营方案是森林经营的核心。目前,中国森林经营方案编制对象主要是县和林场,以5 a或10 a为1个规划期,实施时分解到年度、落实到小班[1],但操作过程却很难细化到小班。近年来,森林经营理论不断发展,各种科学有效的工具不断应用于森林经营实践中。决策支持系统和专家系统作为必要的工具,在森林资源管理、林火、生态保护、引种辅助决策、森林培育(造林)辅助决策等方面得到广泛应用[2]。在经营方案辅助编制系统方面,信息技术和地理信息系统(GIS)应用较多[3-7]。同时,决策论和空间规划也广泛应用于造林树种选择、收获调整等方面,以辅助森林经营方案的编制[8-13]。特别是“十一五”期间,吴保国等[14]研究了从造林生产到管护等森林培育整个阶段相关的方法与技术,设计开发了基于Web的森林培育专家咨询系统,为森林培育全过程提供了专业的技术支持。目前,以小班为单位的森林经营方案辅助编制的决策支持系统研究鲜有报道。鉴于此,本研究以人工林为对象,尝试解决森林经营小班选择和小班经营方案编制问题,重点研究森林经营小班选择方法、小班适宜性评价方法、经营类型推理规则知识库、经营方案推理流程与生成算法,实现一个以小班为对象的森林经营方案编制辅助决策支持系统。经营者可根据经营任务,智能选择经营小班,结合立地质量评价、适宜性评价、生长收获预估、经营类型推理等过程辅助小班进行经营方案编制。
HTML
-
森林资源数据库存储了所有小班的空间数据和属性数据,小班选择主要通过GIS空间分析实现。选择流程如图 2所示。
对于空间定位选择,AE提供了ISpatialFilter接口,设置Geometry属性为空间二维目标几何体(圆、矩形或多边形等),设置WhereClause为基本属性过滤条件,基本属性条件通过XML文件进行读写。对于空间属性选择,则忽略Geometry属性,直接设置WhereClause属性。关键代码如下所示。
ISpatialFilter conditionFilter = new SpatialFilterClass(); //定义ISpatialFilter
IGeometry myGeometry = this._mapControl.TrackCircle(); //定义并获取几何体
conditionFilter.Geometry = myGeometry; //赋值空间属性条件
conditionFilter.WhereClause = CurLayerTypeOper.GetXMLConditions(); //读XML文件并赋值
对于智能选择,采用面积或蓄积进行控制。先使用空间定位选择或点缓冲区分析方式选择出满足基本条件的小班,构成初始小班集合,然后计算这些符合条件的小班总面积或总蓄积,并以指定的目标总面积或总蓄积指标值和上限值进行控制;若累加的小班总面积或总蓄积大于指标值且小于上限值,则选择为目标小班,否则自动调整空间大小,重新选择生成初始小班集合,计算所有符合条件的小班总面积或总蓄积,再次与目标面积或蓄积进行比较,如此自动进行运算,直到选择出符合目标条件的小班集合为止。对于空间几何体或缓冲区调整算法如下:以面积控制为例,先计算出林场单位面积小班数和小班平均面积,再计算初始小班集合总面积与指标值的差值,然后通过差值与单位面积小班数量和小班平均面积间的换算即可确定空间几何体或缓冲区调整的大小。蓄积控制方法类似。
选择的小班集合保存为一个单独的经营小班图层,保存时使用IFeatureDataConverter2接口的ConvertFeatureClass方法进行;复制原小班的所有字段和属性值到新的图层,并增加类型为esriFieldTypeInteger的字段IsManageEdit,默认赋值属性值0,用于标识是否已对小班进行经营设计;新图层以经营任务年份+任务编号命名。
-
小班经营方案主要内容包括小班基本情况、地类、林种、立地类型、经营目标、经营措施、经营投资与效益分析、地点与责任单位、经营措施作业类型与作业时间、设计单位与设计人等内容[1, 13]。小班经营方案辅助编制主要有2种方式:① 智能设计。根据小班林分状态、立地情况和经营目标等条件,利用专家知识进行推理,推荐多个合适的经营方案,用户根据经营目标和林分实际条件从推荐的方案中选择;然后由用户通过收获预估、适宜性评价等过程对选择的方案进行修改完善后直接生成为小班的经营方案。智能设计的核心是利用专家知识构建知识库,通过推理机进行方案推荐。② 手动辅助设计。用户通过用户界面(UI),从经营知识库中选择经营目标、经营技术措施等内容,系统利用经营方案模板自动根据用户的选择内容生成小班经营方案初稿;用户在小班经营方案初稿的基础上,根据立地质量评价、收获预估、适宜性评价等结果,修改完善小班经营方案初稿形成正式方案。小班经营方案推理流程如图 3所示。
-
系统的知识库由规则表和事实表组成,采用关系数据库构建[2, 14]。以森林经营专家多年经营实践为根据预先编制若干经营方案,利用森林经营方案的知识储备,根据小班的条件确定经营类型,得到根据该经营类型编制的经营方案。一种经营类型,可以有多个经营方案。本系统选择产生式规则表示专家进行经营方案推理规则。产生式规则表示法适合于表示因果之间的关系,经营者根据林分状态、立地条件和经营目标等条件判断而确定采用的经营类型的推理思维就属于因果关系。产生式由前件和后件构成,如“IF(华北落叶松∧中龄林∧郁闭度∈[0.5, 0.7] ∧缓坡∧坡下∧……)THEN华北落叶松大径材”,括号中内容为前件,“华北落叶松大径材”为后件。根据前文所述,同一后件可能具有不同的前件,故本研究集成了相同后件的所有前件,采用星号分隔存储不用的规则条件,有效地减少了规则条数[13]。这种存储方式符合经营专家的知识构成,同时也方便对知识库的更新。经营类型推理规则表的关系模式采用关系表进行存储,经营类型推理规则的关系模式实例如表 1所示。
规则编号 树种 龄组 郁闭度 密度 坡度 坡向 坡位 林种 … 经营目标 经营类型 经营方案编号 101 华北落叶松 中龄林*幼龄林 [0.5, 0.7] [0, 133 3] 缓坡*平坡 阴坡 中*下 用材林 … 大径材 华北落叶松大径材 01* 02 102 华北落叶松 中龄林*幼龄林 [0.8, 0.9] [0, 250 0] 斜坡*缓坡 阴坡*半阴半阳坡 中*下 用材林 … 中径材 华北落叶松中径材 03*04*05 … … … … … … … … … … … … … Table 1. Table of management type inference rules
-
推理机按图 3给出的经营方案推理流程以及经营类型推理规则,使用正向推理机来搜索匹配经营作业知识[13]。系统通过读取小班属性,获取小班当前状态,结合经营目标等条件,自动匹配知识库并给出经营类型推荐结果。用户还可以手动推理,与知识库中的知识进行匹配,最终给出经营类型推理结果。推理机工作流程如图 4所示。
-
通过微软公司提供的Microsoft Word X Object Library操作Word,进而生成经营方案文档,其中X为版本号[15]。为了操作方便,设计了专门的Word操作类WordOperate.cs,通过实例化该类,可以实现对Word的所有操作。对于手动辅助设计模式,用户可以通过设置的经营目标和选择的经营技术措施,从知识库中读取相关数据,自动写入文档,生成方案;其中方案标题由“立地类型+树种+林种”构成,如中山华北落叶松人工防风固沙林,然后通过代码控制写入到Word对应位置。以方案标题写入Word为例,主要代码如下。
using Word = Microsoft.Office.Interop.Word; //缩写引用
Word.Application wordApp = new Word.ApplicationClass(); //初始化
Word.Document wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing); //实例化文档
wordDoc.Paragraphs.Last.Range.Font.Name = "黑体"; //设置字体
wordDoc.Paragraphs.Last.Range.Font.Bold = 1; //加粗
wordDoc.Paragraphs.Last.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; // //居中
wordDoc.Paragraphs.Last.Range.Text ="中山华北落叶松人工防风固沙林"; //写入标题
其他Word操作方式类似。完成后用户根据需要可适当修改立地质量评价、收获预估等结果并保存方案。对于智能设计模式,用户通过推理决策,得到适合当前小班、符合经营目标的一个或一组经营类型,结合立地质量评价、收获预估等过程,选择合适的方案并做适当修改,生成小班经营方案。小班经营方案设计完成以后,设置方案名称为“小班号+经营方案名.doc”,对应小班IsManageEdit字段属性值置为1,并用“√”号对系统左侧经营小班树列表进行已经营标识,同时经营小班图层中对应小班颜色修改为蓝色。修改小班颜色使用IUniqueValueRendererhe和ISymbol接口实现,根据IsManageEdit字段属性值,分别定义不同的Color对象并实例化ISymbol,最后使用IUniqueValueRendererhe对象的AddValue方法修改小班颜色。