劉建華
(1.江西省國土空間調查規劃研究院,江西 南昌 330025)
2017-10-08,國務院下發《關于開展第三次全國土地調查的通知》(國發〔2017〕48號),通知中明確要求根據《中華人民共和國土地管理法》和《土地調查條例》,國務院決定自2017年起開展第三次全國土地調查(2018年修改為第三次全國國土調查)(以下簡稱三調),耕地調查是三調的重要任務。耕地凈面積計算是耕地調查的核心關鍵內容,耕地坡度級別屬性是影響耕地凈面積計算準確性和效率的重要環節。第二次土地調查以來,耕地坡度級別賦值方法研究較多,有最小面積分割法,定量融合指標與軟件相結合的方法,基于柵格坡度分級數據完成耕地坡度級別賦值,但賦值速度都較慢[1-4]。江西省三調的地類圖斑數量與坡度圖圖斑數量在第二次土地調查的基礎上成倍增長,提升耕地坡度級別賦值速度和效率顯得尤為重要。本文重點研究耕地坡度級別賦值方法,并基于此,設計耕地坡度級別賦值技術流程和方法。
三調的精度是從第二次土地調查的1:10 000提升到1:5 000,最小上圖面積也有所減小,耕地的最小上圖面積從600 m2減小到400 m2[5]。耕地最小上圖面積的減小,使耕地的調查更加精確,導致地類圖斑的數量比第二次土地調查增長了一倍。三調耕地圖斑數量見表1(江西省第三次全國國土調查初步成果)。
為了使耕地坡度級別值更加符合耕地精細化調查要求,江西省第三次全國國土調查領導小組辦公室決定基于最新的1:10 000萬高精度的DEM重新生產全省坡度圖,以滿足耕地調查的要求。重新生產的坡度圖圖斑數量與第二次土地調查使用的1:50 000萬DEM制作的坡度圖圖斑數量相比成幾何級數增加。三調坡度圖圖斑數量見表1。

表1 全省二調與三調耕地圖斑數量、坡度圖圖斑數量對比表
在《第三次全國國土調查技術規程》和《國土調查數據庫標準》的基礎上,充分考慮江西省三調實際情況,耕地坡度級別賦值主要遵循以下4個原則[6]。
1)不能打破三調調查地類圖斑的耕地圖斑界線,地類圖斑數據中的每個耕地圖斑只能賦一個坡度級別。
2)當地類圖斑數據中的耕地圖斑涉及2個以上坡度級別時,占比面積最大的坡度級別為該耕地圖斑的坡度級別。
3)當耕地圖斑面積較大、含有2個以上坡度級,且各坡度級耕地面積相當時,可參照坡度分級界線,依據調查底圖(DOM)上明顯地物界線,可將該耕地圖斑劃分為2個以上不同坡度級的圖斑。
4)對于破碎耕地,其整體視為一個圖斑,按上述要求確定坡度級別。
ArcEngine(以下簡稱“AE”)具有簡潔、靈活、易用、可移植性強等的特點,大部分開發人員習慣用AE進行二次開發。江西省三調耕地坡度級別賦值功能開發時,利用AE開發的耕地坡度級別賦值功能,在用實例數據測試時發現,地類圖斑數據的圖斑個數和坡度圖圖斑個數較少時,功能運行效率未顯示異常,圖斑個數增多時,運行時間非常長,甚至死循環。通過反復測試分析發現,基于AE開發的耕地坡度級別賦值程序賦值之所以慢,主要是因為AE所消耗的內存極限僅為1 GB,在處理大數據量的坡度圖和地類圖斑空間賦值時,無法調用更多的內存去處理數據,而且處理大數據量時經常發生內存溢出的情況。
全省三調平均每個縣的地類圖斑個數在110 000個左右,坡度圖圖斑個數在240 000個左右。有一半以上的縣地類圖斑個數超過200 000個,有1/4的縣超過300 000個。按照上述基于AE開發的耕地坡度級別賦值程序的賦值速度將嚴重影響耕地凈面積計算效率和三調數據庫建設進程,AE本身的局限已無法滿足大數據量的處理,只能從底層接口上改變這種情況。
與AE相比,GeoProcessing(以下簡稱“GP”)運算內核是利用原生態語言C++直接編寫,計算時根據輸入數據特點直接計算,而利用AE發布的接口再進行調用時,中間多了一層,導致無法針對數據直接計算,所以只能封裝成對數據要素多重循環交互計算,時間效率成指數減少。同時,GP運算時所能消耗的內存為2 GB,是AE的兩倍,特別是在處理數據量比較大的空間賦值方面比AE優越。利用GP開發的耕地坡度級別賦值功能,在與上述同等基礎條件下,地類圖斑和坡度圖20 000個圖斑以內,2 min內完成賦值;圖斑數50 000個時,4 min完成賦值;圖斑數80 000個時,8 min完成賦值;圖斑數100 000個時,9 min完成賦值;圖斑數150 000個時,14 min完成賦值。利用GP開發的耕地坡度級別賦值程序在耕地圖斑數量超過80 000個時明顯優于AE,且隨著圖斑數量的增加,優勢更加明顯,大大縮短了耕地坡度賦值時間,從而節省了三調縣級數據庫建設時間(如圖1)。

圖1 基于AE和GP耕地坡度級別賦值速度對比
利用GP開發耕地坡度級別賦值程序顯著提升了賦值效率。為了進一步加快耕地坡度級別賦值速度,縮短建庫時間。本文對賦值方法進一步改進探討,利用GP構建多線程并行計算的賦值模式。
根據耕地圖斑的屬性坐落單位代碼,將耕地圖斑按照行政區劃分成多個組,這樣,按行政區劃分組后的耕地圖斑數據量減小,空間疊加效率提升。對分組后的耕地圖斑數據同時采用多線程并行計算的方式,多個組并行疊加計算。這樣充分利用計算機硬件資源,加快了賦值計算效率。通過實驗,分組的個數為20個左右,線程數為4個左右為最佳選擇。以縣為單元建庫,按照鄉鎮為組劃分最為合理。如某縣級單元有18個鄉鎮,根據地類圖斑數據的坐落單位將耕地圖斑分成18個組,耕地坡度級別賦值程序同時運行4個線程,多線程并行4個組的疊加分析計算,完成一批后再進行下一批計算,直至所有組完成賦值計算。
根據上述研究結果,基于ArcGIS GP服務,采用多線程、分鄉鎮并行技術的方式,針對地類圖斑和坡度圖大數據的耕地坡度級別賦值,研究制定高效完成耕地坡度級別賦值的技術路線圖,為全省三調國土調查數據庫建設提供技術保障[10](如圖2)。

圖2 全省耕地坡度級別賦值技術路線圖
1)耕地數據提取。采用選取工具將縣級地類圖斑地類為“耕地”的數據進行提取。耕地坡度級別賦值時,僅對耕地數據進行加載,這樣,可以減少數據疊加分析的數據量,加快計算效率。
2)按鄉鎮多線程并行進行疊加,為了避免分割耕地圖斑,生成耕地數據與坡度圖數據的交集表,并將疊加結果填充相應坡度級別和面積值。交集表見表2。

表2 耕地數據與坡度圖數據生成的交集表
3)將按鄉鎮疊加計算的表格進行合并,形成全縣耕地數據與坡度圖數據的交集表排序表,見表3。

表3 耕地數據與坡度圖數據生成的交集表排序表
根據以上技術流程,在全省范圍內,根據不同的地形、不同的地類圖斑數量選取數據量較大的6個縣級單元進行實驗,實驗結果見表4。

表4 6個實驗區采用不同賦值方法效率統計表
從實驗結果看,技術流程和方法切實可行,滿足全省三調耕地坡度級賦值及建庫要求[7-9]。在全省三調縣級國土調查數據庫建設應用中,平均每個縣耕地坡度級別賦值需要15 min,最快的縣只需1~2 min,最慢的縣需要30 min。與全省第二次土地調查耕地坡度級別賦值相比,在耕地圖斑數量增加2倍,坡度圖圖斑數量增加8倍的情況下,平均每縣的耕地坡度級別賦值減少約30 min,全省減少3 000 min;與其他地區三調耕地坡度級別賦值相比,也有明顯減少20 min的優勢[6]。
本文基于ArcGIS設計的三調耕地坡度級別賦值技術流程和方法,在江西省三調縣級級建庫工作中,運行穩定,計算準確。提升了縣級三調數據庫建設速度,加快了全省第三次國土調查工作進程。