胡家明
(廣東省地質(zhì)測繪院,廣東 廣州 510800)
隨著我國社會(huì)經(jīng)濟(jì)的穩(wěn)固發(fā)展及鄉(xiāng)村振興戰(zhàn)略的逐步施行,農(nóng)村設(shè)施農(nóng)用地管理的重要性愈發(fā)突顯[1]。為此,自然資源部印發(fā)了《自然資源部 農(nóng)業(yè)農(nóng)村部關(guān)于設(shè)施農(nóng)業(yè)用地管理有關(guān)問題的通知》(自然資規(guī)[2019]4 號(hào)),并研發(fā)了“設(shè)施農(nóng)用地監(jiān)管系統(tǒng)”,要求設(shè)施農(nóng)用地上圖入庫,納入自然資源“一張圖”監(jiān)管。設(shè)施農(nóng)用地上圖入庫監(jiān)管是掌握和分析設(shè)施農(nóng)用地情況的必要手段,是加強(qiáng)設(shè)施農(nóng)用地監(jiān)管、保障用地規(guī)范有序和設(shè)施農(nóng)用地健康發(fā)展的有力支撐。由于時(shí)間緊,任務(wù)重,而傳統(tǒng)的圖形編輯方法耗費(fèi)較多的人員和時(shí)間,研究利用Model Builder 建模,可實(shí)現(xiàn)從DWG 格式的宗地圖到監(jiān)管系統(tǒng)要求的TXT 格式拐點(diǎn)坐標(biāo)流程化批量處理,減輕人工編輯工作量,減少錯(cuò)誤,提高工作效率。
模型構(gòu)建器Model Builder 是ArcGIS 提供的構(gòu)造地理處理工作流和腳本的圖形化模型工具[2],能夠?qū)崿F(xiàn)數(shù)據(jù)處理的自動(dòng)化、流程化,將復(fù)雜的流程簡化為一個(gè)工具。在模型中,可以按照一定的次序?qū)⑺璧墓ぞ吆蛿?shù)據(jù)連接起來構(gòu)成一個(gè)工作流,其基本單元為“輸入數(shù)據(jù)→工具或腳本→輸出數(shù)據(jù)”。ArcGIS 支持的數(shù)據(jù)類型均可作為輸入數(shù)據(jù)或輸出數(shù)據(jù),比如要素類、柵格數(shù)據(jù)集等。模型中的工具可以是ArcToolbox中的工具和腳本,也可以是由模型或腳本文件生成的工具[2]。同時(shí),創(chuàng)建的模型可以共享,直接生成Python、JScript 和VB-Script 等形式的腳本語言[3],擴(kuò)展了ArcGIS 的功能。
在取得用地階段,縣級(jí)自然資源主管部門收到鄉(xiāng)鎮(zhèn)政府匯交的信息后要及時(shí)進(jìn)行核驗(yàn),在10 個(gè)工作日內(nèi),將項(xiàng)目名稱、位置、用途、類型、生產(chǎn)期限等項(xiàng)目概況,以及項(xiàng)目用地總面積和地塊坐標(biāo)、使用農(nóng)用地和耕地面積、用地破壞耕地耕作層面積和地塊坐標(biāo)等用地情況,在監(jiān)管系統(tǒng)上圖入庫。監(jiān)管系統(tǒng)上圖入庫主要分為登錄設(shè)施農(nóng)業(yè)用地監(jiān)管系統(tǒng)平臺(tái)錄入項(xiàng)目概況內(nèi)的基本信息、錄入各類用地面積和導(dǎo)入坐標(biāo)數(shù)據(jù)三大部分。
通過模型構(gòu)建器Model Builder的FeatureToPolygon、AddField 等關(guān)鍵工具的組合,自動(dòng)將DWG 格式設(shè)施農(nóng)用地范圍生成SHP 數(shù)據(jù);利用SpatialJoin、CalculateField、Python 表達(dá)式“!shape.Area!”、DeleteField 等關(guān)鍵工具的組合,自動(dòng)對(duì)必要SHP 文件字段進(jìn)行信息錄入;利用Intersect、Select、CalculateField、Python 表達(dá)式“!shape.Area!”、DeleteField 等關(guān)鍵工具的組合,自動(dòng)生成設(shè)施農(nóng)用地破壞耕地SHP 圖層,并錄入必要字段信息;最后通過編寫Python 代碼并導(dǎo)入腳本文件,自動(dòng)將設(shè)施農(nóng)用地和破壞耕地SHP 圖層分別轉(zhuǎn)換為設(shè)施農(nóng)用地監(jiān)管系統(tǒng)要求的標(biāo)準(zhǔn)TXT 格式坐標(biāo)文件,從而實(shí)現(xiàn)設(shè)施農(nóng)用地上圖入庫操作流程的可視化、流程化、批量化,提高工作效率和準(zhǔn)確性。思路流程如圖1 所示。
圖1 思路流程
在ArcGIS 平臺(tái)中,通過ArcToolbox 添加工具箱,命名為“設(shè)施農(nóng)用地處理工具箱”,并在該工具箱中新建第一個(gè)模型,將模型命名為“1.制作SHP 文件”,用于制作設(shè)施農(nóng)用地SHP 格式數(shù)據(jù)。在模型中添加FeatureToPolygon 工具,將DWG 格式農(nóng)業(yè)設(shè)施宗地圖上的設(shè)施農(nóng)用地范圍生成SHP 面文件數(shù)據(jù)。添加AddField 工具,分別為設(shè)施農(nóng)用地SHP 文件新建“界址點(diǎn)數(shù)”“地塊面積”“地塊編號(hào)”“地塊名稱”“圖形類型”“圖幅號(hào)”“地塊用途”“地類編碼”“描述”等必要字段。
最后,利用以上幾種工具,通過重復(fù)利用與串聯(lián)的方式形成組合工具,運(yùn)行模型即可自動(dòng)實(shí)現(xiàn)將DWG格式設(shè)施農(nóng)用地范圍生成SHP 格式面文件數(shù)據(jù)。模型運(yùn)行結(jié)果、SHP 格式數(shù)據(jù)模型制作、模型執(zhí)行窗口分別如圖2、圖3 和圖4 所示。
圖2 模型運(yùn)行結(jié)果
圖3 制作SHP格式數(shù)據(jù)模型
圖4 模型執(zhí)行窗口
在“設(shè)施農(nóng)用地處理工具箱”中新建第二個(gè)模型,將模型命名為“2.自動(dòng)錄入必要字段”,用于對(duì)“地塊面積”“地塊名稱”“圖幅號(hào)”“地塊用途”等必要字段進(jìn)行信息錄入。
首先在模型上添加SpatialJoin 工具,將設(shè)施范圍與所在行政區(qū)的1∶10000 圖幅結(jié)合表進(jìn)行空間連接,自動(dòng)獲取設(shè)施農(nóng)用地圖斑的圖幅信息。
然后添加CalculateField 工具,將設(shè)施農(nóng)用地所在圖幅號(hào)自動(dòng)計(jì)算到“圖幅號(hào)”字段上;添加CalculateField 工具,通過Python 表達(dá)式“!shape.Area!”來自動(dòng)獲取“地塊面積”字段值;添加CalculateField 工具,將“地塊名稱”字段賦值為“設(shè)施范圍”,將“地塊用途”字段賦值為“設(shè)施農(nóng)用地”;添加DeleteField 工具,對(duì)字段進(jìn)行維護(hù),刪除冗余字段。
最后,利用以上幾種工具,通過重復(fù)利用與串聯(lián)的方式形成組合工具,運(yùn)行模型即可自動(dòng)實(shí)現(xiàn)對(duì)必要設(shè)施農(nóng)用地SHP 文件的字段進(jìn)行信息錄入,形成屬性值完善的設(shè)施農(nóng)用地SHP 文件。模型運(yùn)行結(jié)果、自動(dòng)錄入字段模型、模型執(zhí)行窗口分別如圖5、圖6 和圖7所示。
圖5 模型運(yùn)行結(jié)果
圖6 自動(dòng)錄入字段模型
圖7 模型執(zhí)行窗口
在“設(shè)施農(nóng)用地處理工具箱”中新建第三個(gè)模型,并將模型命名為“3.農(nóng)用地破壞耕地層”,用作生成設(shè)施農(nóng)用地破壞耕地圖層。
首先在模型中添加Intersect 工具,將設(shè)施農(nóng)用地SHP 圖層與最新年度的土地利用現(xiàn)狀數(shù)據(jù)進(jìn)行疊加分析,得到設(shè)施農(nóng)用地的土地利用現(xiàn)狀。
然后添加Select 工具,篩選土地利用現(xiàn)狀地類名稱為“水田”“水澆地”“旱地”的圖斑(即為設(shè)施農(nóng)用地破壞耕地層的圖斑);添加CalculateField 工具,通過Python 表達(dá)式“!shape.Area!”來自動(dòng)獲取“地塊面積”字段值;添加CalculateField 工具,將“地塊名稱”字段賦值為“設(shè)施農(nóng)用地破壞耕地層”,將“地類編碼”字段賦值為對(duì)應(yīng)的土地利用現(xiàn)狀地類編碼;添加DeleteField 工具,對(duì)字段進(jìn)行維護(hù),刪除冗余字段。
最后,利用以上幾種工具,通過重復(fù)利用與串聯(lián)的方式形成組合工具,運(yùn)行模型即可實(shí)現(xiàn)自動(dòng)生成設(shè)施農(nóng)用地破壞耕地SHP 圖層,并錄入必要字段信息。模型運(yùn)行結(jié)果、生成破壞耕地層模型、模型執(zhí)行窗口分別如圖8、圖9 和圖10 所示。
圖8 模型運(yùn)行結(jié)果
圖9 生成破壞耕地層模型
圖10 模型執(zhí)行窗口
(1)標(biāo)準(zhǔn)TXT 數(shù)據(jù)要求
標(biāo)準(zhǔn)格式分為屬性描述和地塊坐標(biāo)兩部分,TXT格式要求如圖11 所示。其中,①地塊編號(hào):填寫地塊順序編號(hào),如建設(shè)項(xiàng)目勘測定界技術(shù)報(bào)告書中地塊的編號(hào)。
圖11 TXT格式要求
②地塊名稱:填寫地塊名稱,也可以按照地塊數(shù)命名為“地塊1、地塊2……”。
③記錄圖形屬性:填寫“面”。
④地塊用途:留空。
⑤點(diǎn)號(hào):填寫界址點(diǎn)順序編號(hào),如“J1、J2……J1”“1、2……1”。
⑥地塊圈號(hào) :不涉及扣除內(nèi)部面積時(shí),統(tǒng)一填“1”;涉及扣除地塊坐標(biāo)的,依次填寫“2、3……”。
⑦X 坐標(biāo)、Y 坐標(biāo):X 坐標(biāo)整數(shù)部分為7 位,小數(shù)部分保留3 位;Y 坐標(biāo)整數(shù)部分為8 位,小數(shù)部分保留3 位。
(2)實(shí)現(xiàn)方法
在“設(shè)施農(nóng)用地處理工具箱”中新建腳本,并將腳本文件命名為“4.shp 轉(zhuǎn)txt”。編寫Python 代碼并導(dǎo)入該腳本文件,生成SHP 轉(zhuǎn)TXT 的腳本工具,通過運(yùn)行該腳本文件,即可自動(dòng)將設(shè)施農(nóng)用地和破壞耕地SHP 圖層分別轉(zhuǎn)換為系統(tǒng)要求的標(biāo)準(zhǔn)TXT 格式坐標(biāo)文件(符合粵國土資利用發(fā)〔2018〕25 號(hào)附件2 中對(duì)坐標(biāo)格式的要求)。模型參數(shù)設(shè)置時(shí),輸入SHP 的數(shù)據(jù)類型設(shè)置為 “要素圖層”;格式的數(shù)據(jù)類型設(shè)置為“字符串”;輸出TXT 的數(shù)據(jù)類型設(shè)置為“文件夾”。
腳本關(guān)鍵部分代碼如下:
通過上述“設(shè)施農(nóng)用地處理工具箱”,按順序依次運(yùn)行各模型和腳本文件(腳本運(yùn)行結(jié)果如圖12 所示),選擇相應(yīng)的輸入文件、設(shè)置輸出的格式和文件路徑,點(diǎn)擊“確定”即可自動(dòng)輸出符合要求的文件數(shù)據(jù),從而高效完成自然資源部要求的設(shè)施農(nóng)用地上圖入庫工作,SHP 轉(zhuǎn)TXT 執(zhí)行窗口如圖13 所示。
圖12 腳本運(yùn)行結(jié)果
圖13 SHP轉(zhuǎn)TXT執(zhí)行窗口
為了驗(yàn)證建模工具的有效性和實(shí)用性,利用Model Builder 建模工具在廣東省羅定市的設(shè)施農(nóng)用地上圖入庫工作中進(jìn)行了測試。
由一名專業(yè)技術(shù)員人工處理100 個(gè)設(shè)施農(nóng)用地圖斑,人工制作破壞耕地SHP 圖層和標(biāo)準(zhǔn)TXT 格式數(shù)據(jù),耗時(shí)1.5 天;另外由一名普通技術(shù)員利用Model Builder 建模工具進(jìn)行處理,耗時(shí)0.5 天。通過人工檢查發(fā)現(xiàn),人工處理的成果中有2 處字段值缺漏,1個(gè)TXT 數(shù)據(jù)入庫失敗;利用Model Builder 建模工具處理的成果字段值正確、內(nèi)容齊全,而且100 個(gè)TXT數(shù)據(jù)全部入庫成功。
另外,在廣東省江門市、陽江市等地區(qū)的設(shè)施農(nóng)用地上圖入庫工作中,也成功地應(yīng)用了該技術(shù),通過ArcGIS 平臺(tái)的Model Builder 模型構(gòu)建器和Python站點(diǎn)包ArcPy 訪問地理處理工具、函數(shù)、類和模塊編寫腳 本,在ArcToolbox 工具箱中添加工具和腳本,并建立了可視化、流程化、批量化的操作界面[4]。
本文基于Model Builder 模型構(gòu)建器,實(shí)現(xiàn)了設(shè)施農(nóng)用地上圖入庫操作流程的可視化、流程化、批量化,適用于一般技術(shù)員操作。使用該方法可以降低生產(chǎn)成本、提高工作效率,同時(shí)避免了人為因素引起的錯(cuò)誤,實(shí)現(xiàn)了設(shè)施農(nóng)用地的快速、批量上圖入庫,也能為自然資源部門的建設(shè)用地報(bào)批、墾造水田、土地整理等同類日常業(yè)務(wù)的上圖入庫工作提供借鑒。