劉建華
(1.江西省國土空間調(diào)查規(guī)劃研究院,江西 南昌 330025)
2017-10-08,國務(wù)院下發(fā)《關(guān)于開展第三次全國土地調(diào)查的通知》(國發(fā)〔2017〕48號(hào)),通知中明確要求根據(jù)《中華人民共和國土地管理法》和《土地調(diào)查條例》,國務(wù)院決定自2017年起開展第三次全國土地調(diào)查(2018年修改為第三次全國國土調(diào)查)(以下簡稱三調(diào)),耕地調(diào)查是三調(diào)的重要任務(wù)。耕地凈面積計(jì)算是耕地調(diào)查的核心關(guān)鍵內(nèi)容,耕地坡度級(jí)別屬性是影響耕地凈面積計(jì)算準(zhǔn)確性和效率的重要環(huán)節(jié)。第二次土地調(diào)查以來,耕地坡度級(jí)別賦值方法研究較多,有最小面積分割法,定量融合指標(biāo)與軟件相結(jié)合的方法,基于柵格坡度分級(jí)數(shù)據(jù)完成耕地坡度級(jí)別賦值,但賦值速度都較慢[1-4]。江西省三調(diào)的地類圖斑數(shù)量與坡度圖圖斑數(shù)量在第二次土地調(diào)查的基礎(chǔ)上成倍增長,提升耕地坡度級(jí)別賦值速度和效率顯得尤為重要。本文重點(diǎn)研究耕地坡度級(jí)別賦值方法,并基于此,設(shè)計(jì)耕地坡度級(jí)別賦值技術(shù)流程和方法。
三調(diào)的精度是從第二次土地調(diào)查的1:10 000提升到1:5 000,最小上圖面積也有所減小,耕地的最小上圖面積從600 m2減小到400 m2[5]。耕地最小上圖面積的減小,使耕地的調(diào)查更加精確,導(dǎo)致地類圖斑的數(shù)量比第二次土地調(diào)查增長了一倍。三調(diào)耕地圖斑數(shù)量見表1(江西省第三次全國國土調(diào)查初步成果)。
為了使耕地坡度級(jí)別值更加符合耕地精細(xì)化調(diào)查要求,江西省第三次全國國土調(diào)查領(lǐng)導(dǎo)小組辦公室決定基于最新的1:10 000萬高精度的DEM重新生產(chǎn)全省坡度圖,以滿足耕地調(diào)查的要求。重新生產(chǎn)的坡度圖圖斑數(shù)量與第二次土地調(diào)查使用的1:50 000萬DEM制作的坡度圖圖斑數(shù)量相比成幾何級(jí)數(shù)增加。三調(diào)坡度圖圖斑數(shù)量見表1。
表1 全省二調(diào)與三調(diào)耕地圖斑數(shù)量、坡度圖圖斑數(shù)量對比表
在《第三次全國國土調(diào)查技術(shù)規(guī)程》和《國土調(diào)查數(shù)據(jù)庫標(biāo)準(zhǔn)》的基礎(chǔ)上,充分考慮江西省三調(diào)實(shí)際情況,耕地坡度級(jí)別賦值主要遵循以下4個(gè)原則[6]。
1)不能打破三調(diào)調(diào)查地類圖斑的耕地圖斑界線,地類圖斑數(shù)據(jù)中的每個(gè)耕地圖斑只能賦一個(gè)坡度級(jí)別。
2)當(dāng)?shù)仡悎D斑數(shù)據(jù)中的耕地圖斑涉及2個(gè)以上坡度級(jí)別時(shí),占比面積最大的坡度級(jí)別為該耕地圖斑的坡度級(jí)別。
3)當(dāng)耕地圖斑面積較大、含有2個(gè)以上坡度級(jí),且各坡度級(jí)耕地面積相當(dāng)時(shí),可參照坡度分級(jí)界線,依據(jù)調(diào)查底圖(DOM)上明顯地物界線,可將該耕地圖斑劃分為2個(gè)以上不同坡度級(jí)的圖斑。
4)對于破碎耕地,其整體視為一個(gè)圖斑,按上述要求確定坡度級(jí)別。
ArcEngine(以下簡稱“AE”)具有簡潔、靈活、易用、可移植性強(qiáng)等的特點(diǎn),大部分開發(fā)人員習(xí)慣用AE進(jìn)行二次開發(fā)。江西省三調(diào)耕地坡度級(jí)別賦值功能開發(fā)時(shí),利用AE開發(fā)的耕地坡度級(jí)別賦值功能,在用實(shí)例數(shù)據(jù)測試時(shí)發(fā)現(xiàn),地類圖斑數(shù)據(jù)的圖斑個(gè)數(shù)和坡度圖圖斑個(gè)數(shù)較少時(shí),功能運(yùn)行效率未顯示異常,圖斑個(gè)數(shù)增多時(shí),運(yùn)行時(shí)間非常長,甚至死循環(huán)。通過反復(fù)測試分析發(fā)現(xiàn),基于AE開發(fā)的耕地坡度級(jí)別賦值程序賦值之所以慢,主要是因?yàn)锳E所消耗的內(nèi)存極限僅為1 GB,在處理大數(shù)據(jù)量的坡度圖和地類圖斑空間賦值時(shí),無法調(diào)用更多的內(nèi)存去處理數(shù)據(jù),而且處理大數(shù)據(jù)量時(shí)經(jīng)常發(fā)生內(nèi)存溢出的情況。
全省三調(diào)平均每個(gè)縣的地類圖斑個(gè)數(shù)在110 000個(gè)左右,坡度圖圖斑個(gè)數(shù)在240 000個(gè)左右。有一半以上的縣地類圖斑個(gè)數(shù)超過200 000個(gè),有1/4的縣超過300 000個(gè)。按照上述基于AE開發(fā)的耕地坡度級(jí)別賦值程序的賦值速度將嚴(yán)重影響耕地凈面積計(jì)算效率和三調(diào)數(shù)據(jù)庫建設(shè)進(jìn)程,AE本身的局限已無法滿足大數(shù)據(jù)量的處理,只能從底層接口上改變這種情況。
與AE相比,GeoProcessing(以下簡稱“GP”)運(yùn)算內(nèi)核是利用原生態(tài)語言C++直接編寫,計(jì)算時(shí)根據(jù)輸入數(shù)據(jù)特點(diǎn)直接計(jì)算,而利用AE發(fā)布的接口再進(jìn)行調(diào)用時(shí),中間多了一層,導(dǎo)致無法針對數(shù)據(jù)直接計(jì)算,所以只能封裝成對數(shù)據(jù)要素多重循環(huán)交互計(jì)算,時(shí)間效率成指數(shù)減少。同時(shí),GP運(yùn)算時(shí)所能消耗的內(nèi)存為2 GB,是AE的兩倍,特別是在處理數(shù)據(jù)量比較大的空間賦值方面比AE優(yōu)越。利用GP開發(fā)的耕地坡度級(jí)別賦值功能,在與上述同等基礎(chǔ)條件下,地類圖斑和坡度圖20 000個(gè)圖斑以內(nèi),2 min內(nèi)完成賦值;圖斑數(shù)50 000個(gè)時(shí),4 min完成賦值;圖斑數(shù)80 000個(gè)時(shí),8 min完成賦值;圖斑數(shù)100 000個(gè)時(shí),9 min完成賦值;圖斑數(shù)150 000個(gè)時(shí),14 min完成賦值。利用GP開發(fā)的耕地坡度級(jí)別賦值程序在耕地圖斑數(shù)量超過80 000個(gè)時(shí)明顯優(yōu)于AE,且隨著圖斑數(shù)量的增加,優(yōu)勢更加明顯,大大縮短了耕地坡度賦值時(shí)間,從而節(jié)省了三調(diào)縣級(jí)數(shù)據(jù)庫建設(shè)時(shí)間(如圖1)。
圖1 基于AE和GP耕地坡度級(jí)別賦值速度對比
利用GP開發(fā)耕地坡度級(jí)別賦值程序顯著提升了賦值效率。為了進(jìn)一步加快耕地坡度級(jí)別賦值速度,縮短建庫時(shí)間。本文對賦值方法進(jìn)一步改進(jìn)探討,利用GP構(gòu)建多線程并行計(jì)算的賦值模式。
根據(jù)耕地圖斑的屬性坐落單位代碼,將耕地圖斑按照行政區(qū)劃分成多個(gè)組,這樣,按行政區(qū)劃分組后的耕地圖斑數(shù)據(jù)量減小,空間疊加效率提升。對分組后的耕地圖斑數(shù)據(jù)同時(shí)采用多線程并行計(jì)算的方式,多個(gè)組并行疊加計(jì)算。這樣充分利用計(jì)算機(jī)硬件資源,加快了賦值計(jì)算效率。通過實(shí)驗(yàn),分組的個(gè)數(shù)為20個(gè)左右,線程數(shù)為4個(gè)左右為最佳選擇。以縣為單元建庫,按照鄉(xiāng)鎮(zhèn)為組劃分最為合理。如某縣級(jí)單元有18個(gè)鄉(xiāng)鎮(zhèn),根據(jù)地類圖斑數(shù)據(jù)的坐落單位將耕地圖斑分成18個(gè)組,耕地坡度級(jí)別賦值程序同時(shí)運(yùn)行4個(gè)線程,多線程并行4個(gè)組的疊加分析計(jì)算,完成一批后再進(jìn)行下一批計(jì)算,直至所有組完成賦值計(jì)算。
根據(jù)上述研究結(jié)果,基于ArcGIS GP服務(wù),采用多線程、分鄉(xiāng)鎮(zhèn)并行技術(shù)的方式,針對地類圖斑和坡度圖大數(shù)據(jù)的耕地坡度級(jí)別賦值,研究制定高效完成耕地坡度級(jí)別賦值的技術(shù)路線圖,為全省三調(diào)國土調(diào)查數(shù)據(jù)庫建設(shè)提供技術(shù)保障[10](如圖2)。
圖2 全省耕地坡度級(jí)別賦值技術(shù)路線圖
1)耕地?cái)?shù)據(jù)提取。采用選取工具將縣級(jí)地類圖斑地類為“耕地”的數(shù)據(jù)進(jìn)行提取。耕地坡度級(jí)別賦值時(shí),僅對耕地?cái)?shù)據(jù)進(jìn)行加載,這樣,可以減少數(shù)據(jù)疊加分析的數(shù)據(jù)量,加快計(jì)算效率。
2)按鄉(xiāng)鎮(zhèn)多線程并行進(jìn)行疊加,為了避免分割耕地圖斑,生成耕地?cái)?shù)據(jù)與坡度圖數(shù)據(jù)的交集表,并將疊加結(jié)果填充相應(yīng)坡度級(jí)別和面積值。交集表見表2。
表2 耕地?cái)?shù)據(jù)與坡度圖數(shù)據(jù)生成的交集表
3)將按鄉(xiāng)鎮(zhèn)疊加計(jì)算的表格進(jìn)行合并,形成全縣耕地?cái)?shù)據(jù)與坡度圖數(shù)據(jù)的交集表排序表,見表3。
表3 耕地?cái)?shù)據(jù)與坡度圖數(shù)據(jù)生成的交集表排序表
根據(jù)以上技術(shù)流程,在全省范圍內(nèi),根據(jù)不同的地形、不同的地類圖斑數(shù)量選取數(shù)據(jù)量較大的6個(gè)縣級(jí)單元進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表4。
表4 6個(gè)實(shí)驗(yàn)區(qū)采用不同賦值方法效率統(tǒng)計(jì)表
從實(shí)驗(yàn)結(jié)果看,技術(shù)流程和方法切實(shí)可行,滿足全省三調(diào)耕地坡度級(jí)賦值及建庫要求[7-9]。在全省三調(diào)縣級(jí)國土調(diào)查數(shù)據(jù)庫建設(shè)應(yīng)用中,平均每個(gè)縣耕地坡度級(jí)別賦值需要15 min,最快的縣只需1~2 min,最慢的縣需要30 min。與全省第二次土地調(diào)查耕地坡度級(jí)別賦值相比,在耕地圖斑數(shù)量增加2倍,坡度圖圖斑數(shù)量增加8倍的情況下,平均每縣的耕地坡度級(jí)別賦值減少約30 min,全省減少3 000 min;與其他地區(qū)三調(diào)耕地坡度級(jí)別賦值相比,也有明顯減少20 min的優(yōu)勢[6]。
本文基于ArcGIS設(shè)計(jì)的三調(diào)耕地坡度級(jí)別賦值技術(shù)流程和方法,在江西省三調(diào)縣級(jí)級(jí)建庫工作中,運(yùn)行穩(wěn)定,計(jì)算準(zhǔn)確。提升了縣級(jí)三調(diào)數(shù)據(jù)庫建設(shè)速度,加快了全省第三次國土調(diào)查工作進(jìn)程。