基于Python 的营造林设计批量制图工具开发
——以浙江省淳安县为例

2023-10-27 11:08李赟杨绍钦方炎杰方国景
浙江林业科技 2023年5期
关键词:淳安县设计图批量

李赟,杨绍钦,方炎杰,方国景

(浙江省森林资源监测中心,浙江 杭州 310020)

营造林工程作为生态文明建设的重要组成部分[1],是构筑绿色生态屏障的主要途径,是增加造林碳汇量、实现“碳中和”目标的有力抓手。当前,人们对生态环境日益重视,我国每年都进行着大面积的营造林工作[2],近年来,各省市相继开展了营造林重点工程项目,如北京市百万亩造林工程、浙江省千万亩森林质量提升工程。然而,当前仍存在着对营造林重视程度不够的问题,以至出现营造林质量提高要点模糊不清、林业工程规划设计低效、质量管理水平较低、监理力度较弱、人才缺位等问题[3]。营造林作业设计是按照营造林任务的目的和要求,预先制定出工作方案和计划,并绘出各类图件,再辅以文字和数据说明而表达出来的活动过程[4]。科学的规划设计,可保障营造林工程的顺利完成,对工程实施地的土壤、气候等地理状况进行考察和分析,并进行多次审核,制定符合实施地情况的规划设计,可使营造林工程的立项、设计与施工有效衔接,稳步推进[5]。

造林施工设计图是营造林设计的主要成果,基层林业工作者每年的营造林工作需要耗费大量的时间进行图纸制作,仅淳安县2021 年营造林工作中,就需要制作上百张造林施工设计图。目前,ArcGIS 是基层林业工作者进行营造林设计应用最为广泛的软件,但缺乏一套专门针对营造林设计的规范化图纸制作工具。本研究借助ArcGIS 强大的工具拓展功能,开发专为营造林设计规范化批量制图的拓展工具,对于提升工程化营造林设计工作效率具有重要意义。

1 设计与开发

1.1 工程化营造林设计内容

营造林是林业建设的基石和根本,传统的营造林项目管理方式以粗放式任务下达为主,以结果为导向,只用验收通过即可完成。而工程化营造林要求营造林规划设计、施工作业、检查验收全过程工程化管理,营造林规划设计要求按照工程预算定额实施,精细化工序设计。工程化营造林设计主要内容包括立地条件的勘察、区划范围、作业区清理方式、施工方式、营林树种选择、苗木配置、后期管护措施等,最后通过营造林作业设计图将以上内容进行展示。

图1 营造林作业设计自动出图技术流程图Fig. 1 Technical flow chart of automatic mapping for afforestation design

1.2 设计开发平台

本研究的ArcGIS 扩展工具开发基于Python 计算机程序语言和PyQt5 封装平台,开发环境为Visual Studio 2015,工具运行平台为ArcGIS 10.0 及其以上版本。Python 具有代码易读和学习成本较低的优点,拥有大量的第三方库,使得其在大部分领域都有应用[6],利用Python 既可以访问ArcGIS 的现有功能,也可以通过组合相关函数来扩展ArcGIS 的功能[7]。本研究利用Python中的Arcpy 站点包模块作为支撑,ArcPy 以函数、类、模块进行组织,是ArcGIS 自带的Python 站点包,能以高效实用的方式通过Python 执行地理数据分析、数据转换、数据管理和地图自动化等任务[8]。最后将代码通过PyQt5 封装成Windows 应用程序,PyQt5 是基于Digia 公司强大图形框架Qt5 的Python 接口,其Qt Widgets 模块包含了一整套UI 元素组件,用于设计多种系统风格的界面,操作方便[9]。

1.3 技术流程

在完成造林设计的前期调查、资料收集、小班设计的基础上,按照规范化设计表格制作造林小班矢量、小班设计表、小班苗木规格表、树种配置模式图,完成以上造林设计数据准备工作后,进入批量出图流程。首先遍历小班矢量中的所有小班,使得ArcGIS 的地理数据框定位到目标小班地块,同时,遍历小班设计表、小班苗木表,提取出对应编号的小班设计信息、苗木规格信息,填入MXD 模板文档中的对应表格;最后调取相应的树种配置模式图,并通过Python 的Arcpy 模块,完成制图。工具将遍历造林小班属性表,完成所有小班的出图,并通过属性字段,规范化命名出图文件,便于后续应用。

1.4 批量制图技术

1.4.1 模板制作 设置出图模板,并存储为ArcGIS可读取的MXD 文档,出图模板采用A3 尺寸图幅,制图元素包括:两个图框、各图框对应比例尺、小班设计要素、苗木规格信息、树种配置模式图、项目信息、出图日期及署名等。其中,两个图框对应同一地块的不同比例尺展现效果;小班设计要素包括种植措施和管护措施等信息;苗木规格表列举了该地块使用的不同品种苗木规格、数量等信息;树种配置模式图直观展现了苗木种植的布局方式。模板效果如图2 所示。

图2 营造林设计A3 图幅模板Fig. 2 A3 sheet template for afforestation design

1.4.2 设计图生成 本工具首先遍历搜索小班矢量属性表、小班苗木表,并利用Arcpy 内置的SelectLayerBy-Attribute management、ZoomToSelectedFeatures 函数选择并定位至每个小班,用DefinitionQuery 函数隐藏其余小班;其次利用Mapping.ListLayoutElements 函数将各小班设计元素自动填写至对应的制图元素;最后利用Mapping.ExportToJPEG 函数输出每个小班设计图。

2 应用案例

2.1 研究区概况

研究区位于浙江省淳安县,地域范围介于29°11′18″ ~ 30°02′13″ N,118°20′22″ ~ 119°20′37″ E,属浙西山地丘陵区,地势四周高,中间低,由西向东倾斜,形成四周中低山逐渐向中部丘陵区过渡的地貌形态;位于亚热带季风气候北缘,温暖湿润,四季分明,雨量充沛,光照充足,小气候条件多样,灾害天气时有发生。境内森林资源丰富,植被属中亚热带常绿阔叶林北部亚地带,为浙皖山丘青冈Quercusglauca、苦槠Castanopsis sclerophylla林植被区,天目山、古田山丘陵山地植被片。近年来,淳安县生态建设持续加强,全力推进省重点生态功能区示范区、“美丽杭州”试验区建设,加快“秀水富民”,全力争当“绿水青山就是金山银山”的样板,加快探索生态产品高水平转化机制,被列入全省县级生态系统生产总值(GEP)核算试点,生态系统价值位居全省首位[10]。

2.2 批量出图效果

通过PyQt5 平台,将Python 程序打包成应用文件后,无须启动ArcGIS 软件即可完成设计图出图工作。软件界面如图3 所示,输入相应的MXD模板文件、小班设计表、苗木表、模式图文件夹、输出位置、工程信息后,即可进行批量出图。以淳安县2021 年“森林生态修复工程”中的营造林设计为例,共508 个小班需要制作设计图,若借助ArcGIS 软件手动编制,至少需要20 个工作日。应用本研究所制作软件,仅需30 min 即可完成全部设计图的制作,既节省了工作时间,又避免了繁重的人工重复机械操作。图4 为单个营造林小班最终A3 图幅的设计结果,图中用两个大小不同比例尺的图框对小班界线进行显示,便于在不同比例下进行查看,同时以不同颜色与相邻地块进行区分。图框下方是小班信息、苗木配置、树种配置模式图、项目信息等营造林设计要素。

图3 营造林批量出图工具实现界面Fig. 3 Functional interface for batch mapping of afforestation design

图4 淳安县森林生态修复工程营造林设计图Fig. 4 Afforestation design of ecological forest restoration project in Chun’an

2.3 批量成图的优点

相较于传统的设计图制作方式,本文通过Python 驱动数据页面出图方法的优势在于:①所需数据由程序自动提取,避免了人工出图过程中的差错;②设计图由统一的模板制作,实现图纸的标准化与规范化,避免了由于不同人员操作引起的格式不一致;③图纸制作完成后,以小班ID 号命名所输出的文件并保留该小班对应的MXD 文档,便于后续对个别小班进行修改。如图5。

图5 淳安县森林生态修复工程营造林设计批量成图目录Fig. 5 Batch mapping directory

3 小结与讨论

本研究以ArcGIS 为平台,采用Python 计算机程序语言及PyQt5 封装库,开发了一个工程化营造林设计批量制图工具,在完成造林设计的前期调查、小班及苗木设计的基础上,制作好出图模板后,通过该工具可规范化、自动化生成每个营造林地块的作业设计图。以淳安县为例,一个年度的森林生态修复工程项目营造林设计图制作,传统制图方法需20 个工作日,利用该工具仅需30 min。在林业数字化改革的大背景下,传统林业工作的数字化赋能要求越来越高,林业数据处理工作也越来越繁重。独立的设计系统开发周期一般较长,且安装运行较为复杂,难以应对实际工作中的多变需求,而Python 语言与林业基层广泛使用的ArcGIS 软件契合度较高,开发难度与成本也相对较低,基于现有的GIS 软件平台进行功能开发不仅可利用软件原有的强大功能,还能够快速地定制出所需的功能模块[11],将有效地服务于林业数字化工作。

本文所研发基于Python 的造林设计批量制图技术,目前已应用于浙江省多项营造林设计项目。实践证明,该软件可极大地提高工作效率、降低工程化营造林设计图的制作难度,取得了较好的应用效果。但该批量制图技术还有待继续完善,目前图框所设置比例尺最大为1∶15 000,部分面积较大的地块还需要手动稍加修改,才能保证整个小班的全局显示;此外,本次开发工具需在配备ArcGIS 10.0 以上版本计算机上使用,如何突破版本限制或实现在线应用,还需进一步探索。

猜你喜欢
淳安县设计图批量
焊缝符号在机械设计图上的标注
批量提交在配置分发中的应用
设计图失窃案
西夏的“炮”设计图
生态建设理念在淳安县环千岛湖河道整治中的实践
只存在于设计图上的虚幻建筑
淳安县2014年晚中秋蚕大幅度减产原因的分析与思考
浅议高校网银批量代发
科学引领 生态第一 淳安县持之以恒保护青山秀水
基于AUTOIT3和VBA的POWERPOINT操作题自动批量批改