代 勁 松
森林資源年度監(jiān)測變化小班提取及數(shù)據(jù)檢查工具開發(fā)
代 勁 松
(浙江省森林資源監(jiān)測中心 浙江杭州 310020)
借助ArcGIS強大的功能擴展能力,使用Python腳本語言,定制了一套專門的工具,主要功能包括:矢量數(shù)據(jù)多部件檢查、小班號重復檢查、因子邏輯關系檢查、小班拓撲檢查和年度監(jiān)測變化小班提取等,作為森林資源年度監(jiān)測的專用擴展工具,以減少更新數(shù)據(jù)中的各種問題。
森林資源;年度監(jiān)測;GIS開發(fā);Python
作為地球上最重要的資源之一,森林資源處于長期不斷變化當中。積極開展森林資源動態(tài)監(jiān)測,及時準確地掌握森林資源狀況,可以為更加科學合理地制定林業(yè)方針政策提供數(shù)據(jù)支撐[1, 2]。在森林資源動態(tài)監(jiān)測方面,浙江省近年來開展了大量的工作,其整個監(jiān)測體系分為省、市、縣三級,其中省市級采用樣地抽樣的方式,而縣級監(jiān)測以二類小班區(qū)劃為基礎,結合每年度的林業(yè)生產經(jīng)營檔案、兩期遙感判讀變化圖斑與現(xiàn)地核實的方式逐年更新變化小班[3]??h級森林資源年度監(jiān)測在經(jīng)過了幾年試點后,從2018年開始在87個縣(區(qū)、縣級市)全面開展。ArcGIS軟件作為開展這項工作使用較為廣泛的數(shù)據(jù)處理軟件之一,為了保證更新數(shù)據(jù)質量,減少數(shù)據(jù)中的錯誤,借助ArcGIS強大的擴展能力,開發(fā)專為森林資源年度監(jiān)測服務的擴展工具十分必要。
研究基于ArcGIS for Desktop平臺進行功能定制,使用Python計算機編程語言為其開發(fā)一套專門的工具,以期減少更新數(shù)據(jù)中的各種問題。
由美國ESRI公司開發(fā)的ArcGIS地理信息系統(tǒng)軟件,具有空間分析、數(shù)據(jù)管理、制圖可視化、地理編碼等方面的功能,同時還具備高度靈活的定制功能。在ArcGIS for Desktop中,可以使用Python、NET、Java等計算機編程語言通過Addin或調用ArcObjects組件的方式來添加和移除按鈕、菜單項、停靠工具欄等,能夠輕松定制用戶界面,或者使用ArcGIS Engine開發(fā)定制GIS桌面應用[4]。
Python是由荷蘭科學家Guido van Rossum于1989年設計的一門計算機編程語言,具有以下優(yōu)點:(1)開源、解釋性、面向對象、跨平臺的編程語言;(2)把其它語言制作的各種模塊輕松地聯(lián)結在一起的膠水語言;(3)歷史悠久,成熟穩(wěn)定,具有腳本語言中最豐富和強大的類庫;(4)簡潔清晰的語法,代碼強制要求縮進換行;(5)開發(fā)效率高[5]。ArcGIS中已經(jīng)對Python進行了高度集成,主要包括ArcPy包、Python window、Python script tool及Python Addin。ArcPy包是一個Python包,包含對地圖操作和地圖代數(shù)的支持,支持編輯處理和幾何操作;Python window使得ArcGIS中可以訪問Python,靈活調用GP(Geoprocessing)工具;Python script tool用于創(chuàng)建自定義的GP工具(本研究的擴展工具通過其實現(xiàn));Python Addin可以利用Python創(chuàng)建自定義的插件。
整個工具的設計流程如圖1所示。擴展工具包括“年度監(jiān)測變化小班提取”“多部件檢查”“小班號重復檢查”“因子邏輯檢查”及“小班拓撲檢查”。輸入數(shù)據(jù)包括“前期小班”“本期小班”及“標準縣界”,均為面狀矢量數(shù)據(jù)?!靶“噙壿嫍l件配置文件”和“變化圖斑邏輯條件配置文件”作為輔助輸入數(shù)據(jù),為文本文件格式?!拜敵鼋Y果”中包含了各種檢查工具的運行結果,對應的輸出格式見表1。其中“多部件檢查”及“小班號重復檢查”輸出格式為標準的DBF文件格式,可以直接用Excel打開查看?!耙蜃舆壿嫏z查”工具輸出為CSV文件格式,同樣可以直接用Excel打開查看?!靶“嗤負錂z查”工具輸出為ArcGIS的文件型地理數(shù)據(jù)庫(File Geodatabase)格式。
圖1 變化小班提取及數(shù)據(jù)檢查流程圖
表1 數(shù)據(jù)檢查工具輸出文件格式
數(shù)據(jù)檢查工具設置界面如圖2所示?!岸嗖考z查”工具的結果中包含2個字段,“tempUID”字段中記錄存在多部件小班的唯一標識,“FREQUENCY”字段中記錄該小班的多部件數(shù)量(示例見表2)。“小班號重復檢查”工具輸出結果中包含6個字段,“XIAN”“XIANG” “CUN”“LIN_BAN”及“XIAO_BAN”,分別對應小班的縣代碼、鄉(xiāng)鎮(zhèn)代碼、村代碼、林班號及小班號,“FREQUENCY”記錄“縣代碼+鄉(xiāng)鎮(zhèn)代碼+村代碼+林班號+小班號”組合的重復個數(shù)(示例見表2)?!耙蜃舆壿嫏z查”工具根據(jù)“邏輯配置文件”中的SQL語句查詢錯誤記錄數(shù),輸出結果中每一條錯誤對應一行信息,包含邏輯條件的序號、錯誤解釋說明、SQL條件查詢語句、涉及的錯誤記錄條數(shù)(示例見表2)?!靶“嗤負錂z查”工具主要檢查2個方面的內容,分別為小班是否有重疊及小班與縣界范圍是否完全一致,輸出的文件型地理數(shù)據(jù)庫中包含了小班及縣界的矢量數(shù)據(jù)、需滿足的拓撲關系和錯誤信息,可以用ArcGIS打開直接查看。
圖2 數(shù)據(jù)檢查工具設置界面
表2 數(shù)據(jù)檢查工具輸出結果示例
“年度監(jiān)測變化小班提取”工具設置界面如圖3。通過設置“提取條件”“最小變化面積”“變化面積小數(shù)位數(shù)”,該工具將對“前期小班”和“本期小班”矢量數(shù)據(jù)進行疊加分析,生成符合浙江省森林資源年度監(jiān)測格式要求的小班變化矢量數(shù)據(jù)?!疤崛l件”為符合ArcGIS標準的SQL查詢語句,以9大主要小班因子(地類、起源、優(yōu)勢樹種、樹種組成、林種、森林類別、事權等級、林地保護等級、國家級公益林保護等級)發(fā)生變化為例,其格式可以參考:。
圖3 變化小班提取設置界面
研究以浙江省森林資源年度監(jiān)測要求為依據(jù)[6],借助ArcGIS的強大擴展能力,使用Python語言定制了一套專門的年度監(jiān)測工具,包括“多部件檢查”“小班號重復檢查”“因子邏輯檢查”“小班拓撲檢查”及“年度監(jiān)測變化小班提取”。與以往基于開源[7, 8]或商業(yè)GIS組件[4, 9-12]的二次開發(fā)獨立的森林資源管理系統(tǒng)相比,研究所用的方法不僅可以更好地利用現(xiàn)有軟件的強大功能,還能夠快速地定制出所需的功能模塊,更好地應對需求多變的應用場景[13]。
[1] Wang W, Wei X, Liao W, et al. Evaluation of the effects of forest management strategies on carbon sequestration in evergreen broad-leaved (Phoebe bournei) plantation forests using FORECAST ecosystem model[J]. Forest Ecology and Management, 2013,300(2013): 21-32.
[2] 張婉潔, 潘瑤, 王俊, 等. 亞太森林資源可持續(xù)發(fā)展探析[J]. 西南林業(yè)大學學報(社會科學), 2018,2(2): 61-65.
[3] 陶吉興, 季碧勇, 張國江, 等. 浙江省森林資源一體化監(jiān)測體系探索與設計[J]. 林業(yè)資源管理, 2016,(3): 28-34.
[4] 李超, 羅傳文. 基于ArcGIS Engine的森林資源管理系統(tǒng)的設計與實現(xiàn)[J]. 森林工程, 2013,29(1): 15-20+25.
[5] 連高欣, 王琪, 沈岳峰. Python語言在CIMISS中的應用[J]. 氣象科技, 2018,46(4): 699-706.
[6] 浙江省林業(yè)廳. 浙江省森林資源規(guī)劃設計調查技術操作細則[M]. 2014.
[7] 糜新宇. 基于開源WebGIS的時態(tài)森林資源管理系統(tǒng)研建[D]: 中南林業(yè)科技大學, 2017.
[8] 代勁松, 曹林, 溫小榮, 等. 基于開源GIS的森林資源管理信息系統(tǒng)設計與實現(xiàn)——以江蘇省云臺山為例[J]. 南京林業(yè)大學學報(自然科學版), 2012,36(5): 174-178.
[9] 任怡, 許等平, 趙彬柱, 等. 內蒙古大興安嶺林區(qū)森林資源管理系統(tǒng)的設計與實現(xiàn)[J]. 林業(yè)資源管理, 2018,(4): 112-119.
[10]張揚. 基于WebGIS在森林資源管理系統(tǒng)中的應用研究[J]. 中國林業(yè), 2012,(13): 57.
[11]于麗珠, 范文義, 金森, 等. 基于SuperMap IS.NET的分布式森林資源管理系統(tǒng)的設計與實現(xiàn)[J]. 東北林業(yè)大學學報, 2011,39(06): 119-124.
[12]葛榮, 高心丹. 基于WEBGIS的塔河林業(yè)局森林資源管理系統(tǒng)的設計[J]. 中國林業(yè)經(jīng)濟, 2008,(2): 54-56.
[13]Omran A, Dietrich S, Abouelmagd A, et al. New ArcGIS tools developed for stream network extraction and basin delineations using Python and java script[J]. Computers & Geosciences, 2016,94(2016): 140-149.
2019-07-11
代勁松(1985-),博士,工程師,主要從事森林資源監(jiān)測及GIS、RS林業(yè)應用研究;E-mail: 441736944@qq.com。
仙居縣2018年度森林資源監(jiān)測項目(191018-1)
TP319
B
1004-7743(2019)04-0065-04