曹 霸,肖 玲*,章紫粼,陳興亞
(1.貴州省林業(yè)調(diào)查規(guī)劃院;2.貴州林業(yè)勘察設計有限公司,貴州 貴陽 550000)
根據(jù)《省林業(yè)廳關(guān)于開展2017年度林地變更暨森林資源數(shù)據(jù)更新調(diào)查工作的通知》的要求,在貴州省第四次森林資源普查成果和2016年度林地變更調(diào)查成果基礎上,貴州省決定開展林地變更調(diào)查工作,同時按縣抽取10%的鄉(xiāng)鎮(zhèn)進行森林資源數(shù)據(jù)復位更新調(diào)查[1]。由于森林資源復位更新調(diào)查工作基于森林資源普查調(diào)查體系,與林地年度變更調(diào)查之間存在調(diào)查技術(shù)體系、字段結(jié)構(gòu)和代碼不一致的問題。為順利準備各縣級調(diào)查單位基礎數(shù)據(jù),經(jīng)研究提出以下解決思路:利用ArcGIS軟件中的模型構(gòu)建器與Python語言,實現(xiàn)2016年林地變更成果數(shù)據(jù)庫與第四次森林資源普查數(shù)據(jù)庫的有機結(jié)合,按時完成兩套數(shù)據(jù)小班圖形邊界銜接、數(shù)據(jù)結(jié)構(gòu)和代碼之間的轉(zhuǎn)換工作。
目前,已有學者研究了森林資源與國土資源數(shù)據(jù)銜接方法,利用模型構(gòu)建器建模,研究森林資源與國土資源數(shù)據(jù)相互校正的方法[2]。也有學者將一系列ArcGIS地理處理工具串聯(lián)形成工作流,構(gòu)建模型,實現(xiàn)林業(yè)部門年度林地變更數(shù)據(jù)和國土部門土地變更調(diào)查數(shù)據(jù)的疊加[3]。目前對森林資源普查成果與林地年度變更調(diào)查成果如何銜接的研究較少,但是做好兩套數(shù)據(jù)銜接對于森林資源數(shù)據(jù)和林地管理數(shù)據(jù)最終形成“一張圖”具有重要的實際應用價值,同時也可以為其它數(shù)據(jù)之間的轉(zhuǎn)換提供借鑒。
由于森林資源普查工作與林地變更調(diào)查工作側(cè)重點不同,調(diào)查技術(shù)標準體系不同,兩項調(diào)查成果在進行轉(zhuǎn)換銜接時存在以下問題。
通過對兩項調(diào)查成果數(shù)據(jù)疊加分析發(fā)現(xiàn),由于存在人為及其它因素,造成了兩套數(shù)據(jù)在一定程度上存在小班邊界不一致的問題,為此可在ArcGIS中,利用空間連接工具,以獲取所占面積比例最大的森林資源普查小班屬性來更新林地年度變更調(diào)查成果小班的相關(guān)屬性,保證兩套數(shù)據(jù)銜接的合理性。
由于森林資源普查與林地年度變更調(diào)查工作技術(shù)標準不統(tǒng)一,造成了兩套數(shù)據(jù)的字段結(jié)構(gòu)存在不一致問題,例如:森林類別字段在森林資源普查成果中為“SLLB”,字段長度為2,在林地年度變更調(diào)查成果中為“SEN_LIN_LB”,字段長度為3;村字段在森林資源普查成果中為字段長度為12,包含縣、鄉(xiāng)信息,在林地年度變更調(diào)查成果中字段長度為3,不包含縣、鄉(xiāng)信息。為此需要梳理兩套數(shù)據(jù)字段結(jié)構(gòu)的對應關(guān)系,保證數(shù)據(jù)轉(zhuǎn)換的正確性。
同樣由于調(diào)查技術(shù)標準不統(tǒng)一,兩套數(shù)據(jù)的代碼存在不一致問題,例如優(yōu)勢樹種代碼,杉木代碼在森林資源普查成果中為“110801”,在林地年度變更調(diào)查成果中為“310”;喬木林地代碼在森林資源普查成果中為“1110”,林地年度變更調(diào)查成果中為“0111”。需梳理各字段代碼之間的對應關(guān)系,在ArcGIS中利用字段計算器工具結(jié)合Python語言進行代碼轉(zhuǎn)換,保證各字段代碼之間的正確轉(zhuǎn)換。
林地變更調(diào)查成果與森林資源普查成果之間的轉(zhuǎn)換利用到兩個關(guān)鍵技術(shù):一是模型構(gòu)建器,主要用于數(shù)據(jù)轉(zhuǎn)換的流程化處理;二是Python,主要用于實現(xiàn)字段代碼之間的轉(zhuǎn)換。通過兩者的結(jié)合,實現(xiàn)了數(shù)據(jù)轉(zhuǎn)換的功能。
2.1.1 模型構(gòu)建器 模型構(gòu)建器是ArcGIS中的功能模塊,主要用于創(chuàng)建、編輯、管理及自動執(zhí)行工具箱中工具的地理處理模型,將一系列地理處理工具串聯(lián)在一起的工作流,將其中的一個工具的輸出作為另一個工具的輸入,可以將模型構(gòu)建器看成是用于構(gòu)建工作流的可視化編程語言[4]。本文利用模型構(gòu)建器實現(xiàn)林地變更調(diào)查成果與森林資源普查成果轉(zhuǎn)換的流程化處理。
2.1.2 Python Python是一種不受局限、跨平臺的開源編程語言,它功能強大且簡單易學[5],語法清晰簡潔,開發(fā)效率高,能夠與各種模型結(jié)合。Python與ArcGIS結(jié)合,成為了一種用于進行數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)管理和自動化的語言,因而有助于提高工作效率[6]。利用Python實現(xiàn)了兩套數(shù)據(jù)代碼轉(zhuǎn)換的問題。
2.2.1 小班屬性 相同唯一值小班按所占最大面積比融合,在數(shù)據(jù)處理的過程中,兩套數(shù)據(jù)疊加后出現(xiàn)破碎的小班和“雙眼皮”小班,造成小班與屬性的錯誤對應,降低了數(shù)據(jù)的準確性,為此按照最大面積比方法獲取小班屬性,提高數(shù)據(jù)準確性。
2.2.2 代碼轉(zhuǎn)換 森林資源普查與林地年度變更調(diào)查的屬性字段代碼有許多不同,其中部分字段代碼通過簡單的表達式即可轉(zhuǎn)換,例如森林類別,鄉(xiāng)代碼、村代碼和林地保護等級等;但還有一部分字段無法通過簡單表達式轉(zhuǎn)換,例如地類、事權(quán)等級、齡組和土地管理類型等,這部分字段就需要找到兩套數(shù)據(jù)相同字段代碼的對應關(guān)系,在ArcGIS中利用字段計算器與Python語句相結(jié)合,實現(xiàn)復雜的代碼轉(zhuǎn)換。
用模型實現(xiàn)本次銜接兩套數(shù)據(jù)的思路是:
(1)將森林資源普查成果數(shù)據(jù)庫與林地年度變更調(diào)查數(shù)據(jù)庫進行聯(lián)合,產(chǎn)生的多部件分割為單部件,唯一值編碼相同小班按照所占最大面積比進行融合,將融合結(jié)果中的最大面積字段連接到聯(lián)合的數(shù)據(jù)庫(進行單部件處理后)中,按照唯一值編碼相同的小班選擇小班最大面積等于小班數(shù)據(jù)庫面積的部分(圖1)。
圖1 林地變更數(shù)據(jù)轉(zhuǎn)森林圖斑復位調(diào)查數(shù)據(jù)
(2)復制林地年度變更調(diào)查成果數(shù)據(jù)庫,刪除復制的數(shù)據(jù)庫的所有小班屬性信息,只保留小班圖形,然后與森林資源普查標準數(shù)據(jù)庫合并。
(3)空間連接(1)、(2)部分得到的數(shù)據(jù)庫,獲取所占面積比例最大的小班屬性來更新林地年度變更調(diào)查成果小班。
(4)進行代碼轉(zhuǎn)換,利用字段計算器按照相同字段代碼間的對應關(guān)系轉(zhuǎn)換各類代碼。
(5)剩余沒有更新的部分小班則按照林地年度變更調(diào)查成果數(shù)據(jù)庫的小班屬性信息賦值,轉(zhuǎn)換代碼,得到森林資源圖斑復位調(diào)查數(shù)據(jù)庫。
在ArcGIS中按照思路構(gòu)建模型,設置各項參數(shù),添加所需工具,完成兩套數(shù)據(jù)的圖形及屬性結(jié)合。部分模型如圖2。
圖2 林地變更數(shù)據(jù)轉(zhuǎn)森林圖斑復位調(diào)查數(shù)據(jù)部分模型
通過外業(yè)調(diào)查及完善相關(guān)圖形屬性因子后,得到最新的森林圖斑復位調(diào)查數(shù)據(jù)庫,將其轉(zhuǎn)換為林地年度變更數(shù)據(jù)庫(圖3),步驟如下:
圖3 森林圖斑復位調(diào)查數(shù)據(jù)轉(zhuǎn)林地變更數(shù)據(jù)
(1)將森林圖斑復位數(shù)據(jù)庫中的鄉(xiāng)、村字段改為林地年度變更調(diào)查數(shù)據(jù)庫的格式,方便與林地年度變更標準數(shù)據(jù)庫進行合并。
(2)合并森林圖斑復位數(shù)據(jù)庫及林地年度變更調(diào)查標準數(shù)據(jù)庫,進行代碼轉(zhuǎn)換,得到林地年度變更調(diào)查數(shù)據(jù)庫。
按照上述思路及操作,需要利用Python語句在字段計算器工具中按照代碼之間的對應關(guān)系進行代碼轉(zhuǎn)換。代碼轉(zhuǎn)換的思路如下:
(1)利用字段計算器工具,輸入森林圖斑復位調(diào)查數(shù)據(jù)庫和林地年度變更標準數(shù)據(jù)庫合并的圖層,選擇需要計算的字段名。
(2)選擇表達式的類型為Python_9.3,使地理處理器方法和屬性的使用與創(chuàng)建9.3版地理處理器相同。
(3)編輯表達式,按照代碼之間的對應關(guān)系編輯、輸入代碼塊,以實現(xiàn)代碼轉(zhuǎn)換。
例如森林圖斑復位調(diào)查數(shù)據(jù)地類轉(zhuǎn)換為林地變更數(shù)據(jù)地類的Python應用如圖4。
圖4 森林圖斑復位調(diào)查數(shù)據(jù)地類與林地變更數(shù)據(jù)地類轉(zhuǎn)換
通過利用ArcGIS中的模型構(gòu)建器及Python語言制作銜接模型,實現(xiàn)森林資源普查成果與林地變更調(diào)查成果的銜接,得到以下結(jié)論。
(1)通過該模型得到的數(shù)據(jù)庫結(jié)合了側(cè)重點不同的兩種工作成果數(shù)據(jù)的矢量圖形及屬性信息,為森林圖斑復位調(diào)查數(shù)據(jù)庫更新林地年度變更數(shù)據(jù)庫降低難度。
(2)該模型的應用能利用已有的森林資源普查成果數(shù)據(jù)庫高效地完善林地年度變更數(shù)據(jù)庫中的林分因子,降低了林地年度變更工作強度。
(3)該模型的應用能利用林地年度變更成果數(shù)據(jù)更新森林資源圖斑復位調(diào)查的圖形及屬性信息,減少林地年度變更及森林資源圖斑復位調(diào)查工作的外業(yè)工作量,提高工作效率。
(4)本研究有關(guān)數(shù)據(jù)成果轉(zhuǎn)換思路的運用可以為其它數(shù)據(jù)之間的轉(zhuǎn)換提供借鑒。
(5)ArcGIS與Python兩者結(jié)合使用的門檻較低,沒有學習過專業(yè)編程的技術(shù)人員都能夠?qū)崿F(xiàn),因此在實際工作中有較大應用價值。