李佩峰 宋 雷 李書獻 何志杰 張之勇
(湖北省林業調查規劃院 武漢 430075)
為科學落實規劃造林綠化空間,根據自然資源部、國家林業和草原局《關于在國土空間規劃中明確造林綠化空間的通知》的要求[1],參照國家《造林綠化空間調查評估技術方案》(以下簡稱《技術方案》),湖北省開展造林綠化適宜性評估工作。
經統計,湖北省103個行政單位共下發國家級圖斑面積42.07萬hm2,區劃23.38萬個圖斑;省級補充圖斑面積37.79萬hm2,區劃69.63萬個圖斑,涉及單位多、覆蓋面廣、數據量大。對各縣市區提交的數據進行準確快速的質量檢查,確保全省適宜造林成果數據符合國家審核要求十分關鍵,利用ArcPy完成湖北省造林綠化適宜性評估質檢工作[2],能夠幫助基層林業調查人員和省級項目檢查人員及時發現錯誤,減輕內業工作強度,提升林業科技創新能力。
根據對國家造林綠化適宜性評估標準、檢查驗收辦法、省級核查技術方案以及相關政策文件的研究和分析,構建造林綠化適宜性評估指標體系,對造林綠化空間適宜性評估成果數據(以下簡稱“評估成果”)的檢查主要包括屬性檢查、圖形檢查兩個方面,其中屬性檢查主要是對每個造林圖斑的屬性信息進行完整性、規范性、邏輯性、準確性檢查;圖形檢查主要涉及《技術方案》中國家級下發圖斑是否全部保留入庫,以及成果數據是否存在重疊、多部件等錯誤。
本次適宜性評估工作是在ArcGIS軟件中進行,利用軟件實現對數據的屬性編輯、數據管理、空間處理等[3]。人工使用ArcGIS軟件進行數據檢查不僅效率低,而且重復的操作容易出現錯誤,利用ArcPy(Python語言編寫的ArcGIS數據處理站點包)編寫腳本工具實現自動化操作[4],既可提高數據處理效率,節約時間,又可保證每次處理的準確性[5],并且根據《技術方案》制定的工具步驟易學,可將屬性檢查、圖形檢查、面積重新計算等操作進行整合,提高了評估成果檢查的效率,研究工具質檢對湖北省造林綠化適宜性評估項目是可行性的,為今后相似的林業數據庫成果驗收提供新思路[6]。
參照自然資源部、國家林業和草原局《技術方案》標準,結合湖北省實際情況,構建湖北省造林綠化適宜性評估指標體系。其中前置評估條件主要包括地類現狀、限制地類2項;土地不適宜性指標主要包括降水量、海拔、坡度、土層厚度、其他因子等5項(表1)。

表1 湖北省造林綠化適宜性評估指標體系
對所有下發圖斑和補充圖斑的上述指標逐項評估,確定“適宜”和“不適宜”造林綠化空間的圖斑,形成規劃造林數據庫。
處理器CPU Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz;內存:8G;操作系統:Windows 7 64bit;軟件:ArcGIS 10.5 for Desktop Advanced。
工具界面簡潔易操作,設計了4個輸入參數,分別為成果數據庫路徑、國家下發圖層路徑、省級補充圖層路徑、輸出文件路徑,將需要檢查的評估成果放入對應的路徑后點擊“確定”開始運行檢查工具(圖1)。

圖1 湖北省造林綠化空間調查檢查工具界面
質檢工具功能設計為4個部分[7-8]:
(1)完整性質檢:按照《技術方案》成果提交要求進行檢查,包括數據庫命名、成果圖層命名、坐標系參數、字段結構等4項檢查。
(2)規范性質檢:以《技術方案》中數據庫代碼表為填寫規范,逐個字段檢查填寫的規范性。
(3)邏輯關系質檢:以適宜性評估指標體系為依據,檢查字段之間的邏輯關系。
(4)圖形質檢:以《技術方案》中審核參考目錄為標準進行檢查,包括圖形范圍、重疊、自相交、多部件等四項檢查[9](圖2~5)。

圖2 完整性檢查運行界面

圖3 規范性檢查運行界面

圖4 邏輯關系檢查運行界面

圖5 圖形檢查運行界面
3.3.1 完整性質檢
以數據庫命名為例,將全省103個行政單位的代碼提前輸入到工具內部,被檢查的數據庫名字會被下劃線“_”進行拆分,采用逐一對比的方法,對前6位行政代碼進行比對,若命名的行政代碼與103個代碼其中一個相同,則通過檢查。實現代碼如下:
gdb_name=os.path.basename(input_gdb)
xdm=gdb_name.split('_')[0]
if xdm not in XZQ_DM:
arcpy.AddError("錯誤")
3.3.2 規范性質檢
以“坡度”字段為例,《技術方案》要求填寫代碼“1”“2”“3”,檢查時獲取成果圖層“坡度”字段屬性值,將不符合的圖斑標記為錯誤。實現代碼如下:
sql_dict={"PO_DU_check":"PO_DU not in (1,2,3) ",......}
for ck_field in check_field_list:
arcpy.MakeFeatureLayer_management(layer, "lyr", sql_dict[ck_field])
arcpy.CalculateField_management("lyr", ck_field, "1", "PYTHON")
3.3.3 邏輯關系質檢
字段之間的邏輯關系需要對《技術方案》進行分析、研究后制定出普遍的邏輯關系,將邏輯關系對應的sql語句寫出,以“是否適宜”為例,若某圖斑評估為“適宜”,則該圖斑相應的字段必須符合以下條件:①地類字段填寫范圍為“0303”“0304”“030401”;②限制地類字段必須為空;③降水量字段填寫為400 mm以上、海拔字段填寫為2 000 m以下、坡度字段填寫35°以下、土層厚度字段填寫30 cm以上、石漠化等級字段填寫為輕度以下。檢查時將成果圖層創建為要素圖層,將要素圖層按屬性查詢,選擇出邏輯關系錯誤的圖斑,導出至檢查數據庫。
arcpy.MakeFeatureLayer_management(input_lyr,"lyr")
arcpy.SelectLayerByAttribute_management("lyr","NEW_SELECTION",sql)
arcpy.CopyFeatures_management("lyr",error_layer)
3.3.4 圖形質檢
以圖形范圍檢查為例,根據《技術方案》要求,國家級下發圖斑要全部保留,項目組采用“分類比對”的方式,在數據庫模板中加入“數據來源”字段,國家下發圖斑填寫代碼“1”,評估成果中數據來源填寫1的圖斑與國家原始下發圖斑進行交集取反,若有圖斑生成,則報錯。實現代碼如下:
arcpy.MakeFeatureLayer_management(input_lyr,"lyr")
arcpy.SelectLayerByAttribute_management("lyr","NEW_SELECTION","SJLY='1'")
arcpy.CopyFeatures_management("lyr","sjly1")
arcpy.SymDiff_analysis("sjly1",gjj,error_layer)
項目組對湖北省房縣、孝昌縣、浠水縣、嘉魚縣、潛江市5個單位的人工質檢和工具質檢情況進行了對比試驗[10],發現評估成果中存在多處錯誤,并將錯誤情況輸出到txt文件中反饋至縣市人員。將工具質檢的檢查時間、檢查質量與人工質檢進行對比(表2)。檢查時間為平均每個縣級單位所耗時間;檢查質量由項目組專家根據《技術方案》進行綜合評定,《技術方案》中要求“按不低于上報圖斑數量1%進行抽查核查,抽查結果合格率應大于95%”,專家組以此采用“優、良、中、差”四級評定,合格率≥95%評定為“優”,90%≤合格率<95%評定為“良”,85%≤合格率<90%評定為“中”,合格率<85%評定為“差”。

表2 人工質檢和工具質檢的對比
由此可得出以下幾點結果:
(1)平均每個縣級單位人工質檢所耗時間為195 min,工具質檢所耗時間為11 min,人工質檢時間遠大于工具質檢時間。
(2)人工質檢完整性、邏輯關系檢查質量為“優”,規范性檢查質量為“中”,圖形檢查質量為“良”,人工質檢在邏輯關系檢查時可根據數據庫“備注”內容進行人工分析,但長時間的檢查中會出現部分操作遺漏或錯誤等現象。
(3)工具質檢完整性、規范性、圖形檢查質量為“優”,邏輯關系檢查質量為“良”,因為工具質檢在邏輯關系檢查時無法自動分析數據庫“備注”內容。
(4)人工質檢規范性、圖形檢查質量差于工具質檢,邏輯關系優于工具質檢。
綜上所述,工具質檢效率高于人工質檢,檢查質量能夠滿足工作需要,邏輯關系質檢需要工具質檢完成后人工補充質檢,ArcPy可以在湖北省造林綠化適宜性評估質檢工作中推廣應用。
湖北省造林情況復雜多樣,邏輯關系的制定不能兼顧到所有縣市的特殊情況,隨著分類標準逐漸清晰,邏輯關系更加明確,判定原因更加具體,工具也需要不斷地進行完善與更新,從而滿足最新工作要求,下一步將繼續優化工具,將縣代碼與邏輯關系結合起來,能夠更加因地制宜地檢查成果數據庫。
質檢工具只能判斷評估成果是否符合既定的要求,對真實性無法做出判斷,這也是很多計算機工具的通病,省級檢查人員需要把工具與人工檢查結合起來,提高效率的同時也保證造林綠化適宜性評估準確性。