APP下载

森林小班跨图层编号地理处理模型的设计与实现

2019-09-05曹明兰李亚东樊昌晋高绍伟

中南林业科技大学学报 2019年9期
关键词:批量图层排序

曹明兰,李亚东,2,樊昌晋,高绍伟

(1.北京工业职业技术学院,北京 100042;2.北京林业大学 精准林业北京市重点实验室,北京 100083;3.山西省桑干河杨树丰产林实验局林业调查设计队,山西 大同 037000)

森林在区域生态发展和气候变化研究中具有重要的现实意义,其动态变化有着重要的研究价值[1-2]。森林小班是准确标示到图上的基本区划单位,是森林资源二类调查、统计和经营、管理的基本单位。通常将立地条件、林分因子、采伐方式、经营措施相同和集材系统一致的林分划为一个小班。森林小班编号是森林资源管理和制图工作中的一项重要工作。

在传统林业制图中规定,小班编号需要遵循从北向南、从西向东的原则[3]。人工编号不仅效率低,而且容易出现错误、漏号、重号等问题[4]。以往研究主要利用Access[5]、Excel[6]、ArcGIS与VB[7]、ArcGIS_Engine[8]等工具编制小班自动编号模型,但仅实现了同一图层中的自动编号,未达到批量、跨图层编号,也不能集成到ArcGIS空间分析中应用和共享。遇到岛洞型、南北延伸较长、面积相差较大的小班时,易出现编号跳跃、重复编号等问题。

随着信息技术的快速发展,对及时、准确获取森林资源信息的要求也越来越高[9],迫切需要更加快捷、便利的森林小班编号方法,以提高森林信息采集和生产效率。本研究采用ArcGIS Model Builder模型构建器,设计了可嵌入到ArcGIS Desktop中运行的符合ESRI空间建模标准的通用模型,实现了在不破坏原图层属性和几何结构情况下,跨图层森林小班全自动编号功能,并探讨了在此过程中遇到的编号跳跃、岛洞型小班的编号等问题。探索准确、快捷、高效的森林小班跨图层自动编号方法,对提高森林资源调查工作效率具有很重要的现实意义。

1 原理与流程

ArcGIS Model Builder模型构建器是一种用于构建地理处理模型的可视化编程语言,将地理处理模型表示为将一系列流程和地理处理工具串联在一起的示意图,并将一个流程的输出用作另一个流程的输入[10-11]。模型的建立过程就是对研究对象的分析和认识过程,是将问题从“问题域”转移到“解决问题域”的过程。地理处理模型能够自动处理并记录空间分析和数据管理流程。近年来Model Builder建模方法被应用到成矿预测[12]、矿产资源潜力预测[13]、地质建模[14]等各个领域。Model Builder设计的地理处理模型有结构清晰、操作简单等优点,可设计专业的自动执行任务。本研究基于林业调查队采集的速生丰产林数据,借助Model Builder模型构建器设计了自动编号的地理处理模型,实现了对不同业务领域的森林小班进行跨图层自动编号功能。图1为森林小班跨图层自动编号工具的运行流程。

图1 自动编号工具的运行流程Fig.1 Operation process of automatic numbering tool

2 功能设计

传统林业制图中的森林小班编号是利用程序在同一图层内按顺序编号,遇到不同业务来源的多个图层,则需对各个业务图层构建专门的程序,且需要手动输入图层名称和保存路径,不仅增加了工作量,还不利于规范命名。

借助Model Builder构建的跨图层自动编号模型弥补了以往工具的不足,不仅能跨图层批量编号,还可自动规范命名。无需人工参与,全自动完成全部编号工作,并可嵌入到ArcGIS空间分析模型中,与其他模型整合起来应用。其设计功能有:

1)批量导入图层功能:设计的批量导入多个图层功能,对原始图层的属性表结构、坐标系及投影不做任何要求情况下,能够识别所有加载的ArcMap要素类。

2)正确合并多个图层功能:对批量导入的不同业务图层进行自动合并,且在合并过程中不破坏原始图层的属性与几何,再将合并后的图层炸开。

3)统一排序编号功能:对炸开的图层进行统一排序编号,在此过程中能够正确处理多个多边形组成的小班编号、面积相差较大的小班编号、岛洞型小班编号、南北延伸较长小班编号等特殊情形的小班编号问题。

4)回传编号功能:小班排序编号完成后,将编号回传并赋值给原始图层。

3 模型实现

1)批量导入业务图层模块

图2 自动编号工具的功能设计Fig.2 Functional design of automatic numbering tool

在实际森林调查数据采集过程中,林业图层是根据经济类、景观林、生态防护林、湿地、新造林、已成熟林等不同业务分开存储的。森林小班编号时,分业务存储的独立图层需要参与统一编号。本研究借助自定义ArcToolbox模型参数的方式,实现了批量导入业务图层功能。该模块对导入图层的属性表结构没有要求,支持外部Shape File、数据库的要素类及已经加入到Arc Map视图中图层等矢量面状Polygon图层,而且与业务图层的加载顺序无关。

2)合并图层模块

Model Builder设计的跨图层森林小班自动编号工具在不破坏原始业务图层情况下,对多个图层中的斑块进行统一编号。因此,需要将待编号的图层合并为一个图层。本研究利用Arc GIS叠加分析中的联合工具实现合并图层功能。

3)统一编号模块

目前,对小班统一编号排序方面的普遍做法是:①使用几何中心排序;②使用外接矩形的左上角点的坐标(x,y)进行排序。但以上两种方法均存在一定问题。使用几何中心排序时,岛洞型小班的内部和外部两个小班的编号有可能重叠。当小班几何中心处于小班范围之外时,也有可能出现重复编号问题(图3)。

使用外接矩形左上角点坐标编号,当遇到南北延伸较长的小班(如图4的3号小班)时,会出现视觉跳跃情况(图4),理想的正确编号效果应为图4中的右图。

图3 岛洞型小班重复编号示意Fig.3 Repeated numbering diagram of island cave subcompartment

图4 南北延伸较长小班编号示意Fig.4 Numbering diagram of north-south extension of longer sub-compartment

为了解决以上问题,本研究采用外接矩形与左上右下对角线交点方法进行排序。实现方法为将合并后的图层炸开,再求炸开后每个小班的外接矩形。然后用(xmin,ymax)和(xmax,ymin)作对角线相交,取相交结果点集中x坐标值最小点的坐标(x,y)作为排序依据(图5)。借助ArcGIS空间分析中排序工具进行排序,排序前对y作int(y/Hm)处理,Hm为所有小班南北方向上的平均长度,Hm计算公式如下:

式中:ymax为北方向最大值;ymin为南方向最小值;n为小班数。

该方法对南北延伸较长的小班和面积相差较大的小班进行编号时,能够一定程度上保证视觉上的连续性。

4)回传编号模块

图5 外接矩形与左上右下对角线交点示意Fig.5 Diagram of intersection point of outer rectangle with upper left and lower right diagonal lines

利用数据库表链接的方法,将排序后的小班编号挂接到各个原图层的后面,再用字段计算工具,将挂接进来的编号赋值给原图层。

4 结果与分析

以山西省桑干河杨树丰产林实验局林业调查队采集和处理的速生丰产林数据为例,利用本研究设计开发的森林小班跨图层自动编号工具进行统一编号。该数据包含1 823个小班,其中包括窄长型小班和岛洞型小班,通过建立模型、批量导入图层、合并图层、统一编号、编号回传等功能实现了对森林小班的自动编号,结果如图6~7所示。

图6 自动编号工具的模型Fig.6 Model diagram of automatic numbering tool

图7 自动编号工具的编号成果Fig.7 Numbering results diagram of the automatic numbering tool

从编号结果看,完成了不同业务图层提取的小班进行统一编号,小班编号从左到右、从上到下的顺序依次排序,不仅正确识别了面积相差较大的小班,还确保了南北延伸较长的小班和岛洞型小班等特殊多边形小班的正确编号,未出现错漏和重复编号情况,编号符合要求。使用本文设计开发的小班自动编号工具不仅编号正确,还显著提高了小班编号效率,而且随着数据量的增加,效率提升更加明显。

5 结论与讨论

本研究借助ArcGIS Model Builder设计实现了森林小班跨图层统一编号的ArcToolbox工具,无需人工参与,全自动实现跨图层统一编号。该工具不仅大幅提高了工作效率,确保了统一编号的正确性,还实现了数据处理可视化,增强了数据处理的可读性。具有以下优点和意义:

1)传统Excel函数方法实现森林小班顺序编号,遇到不同业务来源的多个图层时,需要手动输入图层名称和保存路径,不仅增加了工作量,还不利于规范命名。本文中设计开发的地理处理模型工具可以从不同业务领域提取相关图层,实现了跨图层、批量完成森林小班的全自动编号,弥补了以往对逐一图层进行人工操作、无法批量编号的缺点,大幅提高了工作质量和效率。

2)ArcGIS+Excel、ArcGIS+VBA方法小班自动编号的过程复杂麻烦、当程序出现错误时调试更复杂、而且易出现小班编号视觉跳跃和编号重复等问题,本文中利用外接矩形和对角线求交点方法,解决了南北延伸较长和面积相差较大的小班编号在视觉上的跳跃问题、岛洞型小班的编号重复等问题,一定程度上确保了视觉上的连续性。

3)与ArcGIS Engine小班自动编号工具相比,借助ArcGIS Model Builder设计实现的森林小班跨图层自动编号模型工具,可以直接嵌入到ArcGIS中,在进行数据整理和统计过程中,无需额外购买ArcGIS Engine产品,直接跟ArcGIS模型连接在一起进行流程建模,便于共享和重用。

本研究设计开发的森林小班跨图层自动编号工具对提高森林资源调查工作效率具有很重要的现实意义。避免了森林小班编号过程中产生错误、漏号、重号的现象,即准确、快捷、高效,还可节省大量时间、人力投入,随着数据量的增加,

效率提升更明显,有着良好的推广意义。由于受到时间和实验数据的限制,文章仍然有很多不足和值得改进的地方,如根据不同地区森林小班形状的多样化和动态更新情况,需要进一步优化模型,将继续进行优化和研究。

猜你喜欢

批量图层排序
批量精装房项目工程信息管理综述
云南:铁路“520”运输鲜花4万余件 高铁批量运输创新高
作者简介
批量提交在配置分发中的应用
为《飞舞的空竹龙》加动感
恐怖排序
节日排序
解密照片合成利器图层混合模式
用Photoshop图层技术制作精美邮票
随心所欲制作逼真阴影效果