李赟,楊紹欽,方炎杰,方國景
(浙江省森林資源監測中心,浙江 杭州 310020)
營造林工程作為生態文明建設的重要組成部分[1],是構筑綠色生態屏障的主要途徑,是增加造林碳匯量、實現“碳中和”目標的有力抓手。當前,人們對生態環境日益重視,我國每年都進行著大面積的營造林工作[2],近年來,各省市相繼開展了營造林重點工程項目,如北京市百萬畝造林工程、浙江省千萬畝森林質量提升工程。然而,當前仍存在著對營造林重視程度不夠的問題,以至出現營造林質量提高要點模糊不清、林業工程規劃設計低效、質量管理水平較低、監理力度較弱、人才缺位等問題[3]。營造林作業設計是按照營造林任務的目的和要求,預先制定出工作方案和計劃,并繪出各類圖件,再輔以文字和數據說明而表達出來的活動過程[4]。科學的規劃設計,可保障營造林工程的順利完成,對工程實施地的土壤、氣候等地理狀況進行考察和分析,并進行多次審核,制定符合實施地情況的規劃設計,可使營造林工程的立項、設計與施工有效銜接,穩步推進[5]。
造林施工設計圖是營造林設計的主要成果,基層林業工作者每年的營造林工作需要耗費大量的時間進行圖紙制作,僅淳安縣2021 年營造林工作中,就需要制作上百張造林施工設計圖。目前,ArcGIS 是基層林業工作者進行營造林設計應用最為廣泛的軟件,但缺乏一套專門針對營造林設計的規范化圖紙制作工具。本研究借助ArcGIS 強大的工具拓展功能,開發專為營造林設計規范化批量制圖的拓展工具,對于提升工程化營造林設計工作效率具有重要意義。
營造林是林業建設的基石和根本,傳統的營造林項目管理方式以粗放式任務下達為主,以結果為導向,只用驗收通過即可完成。而工程化營造林要求營造林規劃設計、施工作業、檢查驗收全過程工程化管理,營造林規劃設計要求按照工程預算定額實施,精細化工序設計。工程化營造林設計主要內容包括立地條件的勘察、區劃范圍、作業區清理方式、施工方式、營林樹種選擇、苗木配置、后期管護措施等,最后通過營造林作業設計圖將以上內容進行展示。

圖1 營造林作業設計自動出圖技術流程圖Fig. 1 Technical flow chart of automatic mapping for afforestation design
本研究的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]。
在完成造林設計的前期調查、資料收集、小班設計的基礎上,按照規范化設計表格制作造林小班矢量、小班設計表、小班苗木規格表、樹種配置模式圖,完成以上造林設計數據準備工作后,進入批量出圖流程。首先遍歷小班矢量中的所有小班,使得ArcGIS 的地理數據框定位到目標小班地塊,同時,遍歷小班設計表、小班苗木表,提取出對應編號的小班設計信息、苗木規格信息,填入MXD 模板文檔中的對應表格;最后調取相應的樹種配置模式圖,并通過Python 的Arcpy 模塊,完成制圖。工具將遍歷造林小班屬性表,完成所有小班的出圖,并通過屬性字段,規范化命名出圖文件,便于后續應用。
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 函數輸出每個小班設計圖。
研究區位于浙江省淳安縣,地域范圍介于29°11′18″ ~ 30°02′13″ N,118°20′22″ ~ 119°20′37″ E,屬浙西山地丘陵區,地勢四周高,中間低,由西向東傾斜,形成四周中低山逐漸向中部丘陵區過渡的地貌形態;位于亞熱帶季風氣候北緣,溫暖濕潤,四季分明,雨量充沛,光照充足,小氣候條件多樣,災害天氣時有發生。境內森林資源豐富,植被屬中亞熱帶常綠闊葉林北部亞地帶,為浙皖山丘青岡Quercusglauca、苦櫧Castanopsis sclerophylla林植被區,天目山、古田山丘陵山地植被片。近年來,淳安縣生態建設持續加強,全力推進省重點生態功能區示范區、“美麗杭州”試驗區建設,加快“秀水富民”,全力爭當“綠水青山就是金山銀山”的樣板,加快探索生態產品高水平轉化機制,被列入全省縣級生態系統生產總值(GEP)核算試點,生態系統價值位居全省首位[10]。
通過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
相較于傳統的設計圖制作方式,本文通過Python 驅動數據頁面出圖方法的優勢在于:①所需數據由程序自動提取,避免了人工出圖過程中的差錯;②設計圖由統一的模板制作,實現圖紙的標準化與規范化,避免了由于不同人員操作引起的格式不一致;③圖紙制作完成后,以小班ID 號命名所輸出的文件并保留該小班對應的MXD 文檔,便于后續對個別小班進行修改。如圖5。

圖5 淳安縣森林生態修復工程營造林設計批量成圖目錄Fig. 5 Batch mapping directory
本研究以ArcGIS 為平臺,采用Python 計算機程序語言及PyQt5 封裝庫,開發了一個工程化營造林設計批量制圖工具,在完成造林設計的前期調查、小班及苗木設計的基礎上,制作好出圖模板后,通過該工具可規范化、自動化生成每個營造林地塊的作業設計圖。以淳安縣為例,一個年度的森林生態修復工程項目營造林設計圖制作,傳統制圖方法需20 個工作日,利用該工具僅需30 min。在林業數字化改革的大背景下,傳統林業工作的數字化賦能要求越來越高,林業數據處理工作也越來越繁重。獨立的設計系統開發周期一般較長,且安裝運行較為復雜,難以應對實際工作中的多變需求,而Python 語言與林業基層廣泛使用的ArcGIS 軟件契合度較高,開發難度與成本也相對較低,基于現有的GIS 軟件平臺進行功能開發不僅可利用軟件原有的強大功能,還能夠快速地定制出所需的功能模塊[11],將有效地服務于林業數字化工作。
本文所研發基于Python 的造林設計批量制圖技術,目前已應用于浙江省多項營造林設計項目。實踐證明,該軟件可極大地提高工作效率、降低工程化營造林設計圖的制作難度,取得了較好的應用效果。但該批量制圖技術還有待繼續完善,目前圖框所設置比例尺最大為1∶15 000,部分面積較大的地塊還需要手動稍加修改,才能保證整個小班的全局顯示;此外,本次開發工具需在配備ArcGIS 10.0 以上版本計算機上使用,如何突破版本限制或實現在線應用,還需進一步探索。