方靖
摘 ?要 ?第三次全國土地調(diào)查初始庫作為地方調(diào)查和數(shù)據(jù)庫建設(shè)的基礎(chǔ),其完成時間和質(zhì)量水平會在一定程度上影響到后續(xù)工作的進行。因此,如何快速編制初始庫和合理判定地類屬性是整個生產(chǎn)工作的一大重點。通過對ArcGIS工具和Arcpy模塊的巧妙運用,可以達到高效率地編輯矢量和屬性的目的,減少人工編輯錯誤。
關(guān)鍵詞 ?三調(diào);初始庫;ArcGIS;Arcpy;快速編制
中圖分類號:P208 ? ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A
Abstract: The initial database of the Third National Land Survey is the foundation for all local surveying and database-building, therefore its swift completion and data quality will, to an extent, affect the subsequent works. It is crucial that the progress of database building is prompt and the attributes of the land is correctly categorized. With the proper use of ArcGISs tools and Arcpy module, we can edit the vectors and categorize the attributes more efficiently, while reduce human errors.
Keywords: The Third National Land Survey;initialdatabase;ArcGIS;Arcpy;rapid compiling
1 ?引言
根據(jù)《國務(wù)院關(guān)于開展第三次全國土地調(diào)查的通知》(國發(fā)[2017]48號)要求,第三次全國土地調(diào)查工作(以下簡稱“三調(diào)”)是對第二次全國土地調(diào)查(以下簡稱“二調(diào)”)成果的全面細(xì)化和完善,以達到直接掌握詳實準(zhǔn)確的全國土地利用現(xiàn)狀和土地資源變化情況的目的。相比二調(diào),三調(diào)的地物分類增加至12個一級類55個二級類[1],調(diào)查內(nèi)容更廣、精度更高、評價更深。為了有效地完成內(nèi)業(yè)編輯工作,筆者所在的工作單位購買了武漢蟻圖時空科技有限公司的DLG數(shù)據(jù)編輯軟件(以下簡稱“蟻圖軟件”)作為三調(diào)的初始庫生產(chǎn)軟件。但在生產(chǎn)過程中,筆者發(fā)現(xiàn)仍有許多環(huán)節(jié)需要大量重復(fù)的人工操作,使得內(nèi)業(yè)編輯用時極多,人工編輯錯誤率增大,而這些可以通過ArcGIS批量自動處理。針對此情況,筆者根據(jù)蟻圖軟件的功能和ArcGIS自有處理工具進行搭配使用,并輔以Arcpy編寫Python腳本,研究出一個行之有效的快速編制技術(shù),并開發(fā)了一系列工具,在三調(diào)初始庫生產(chǎn)中得到了實際應(yīng)用。
2 ?應(yīng)用軟件介紹
2.1 蟻圖軟件
蟻圖軟件是以ArcGIS 10.2為基礎(chǔ)平臺進行二次開發(fā)形成的矢量數(shù)據(jù)編輯軟件,支持對MXD工程文件、矢量數(shù)據(jù)、柵格數(shù)據(jù)的直接讀取和顯示,并提供了獨特的功能完成矢量數(shù)據(jù)的圖形、屬性的編輯操作。其中,蟻圖軟件的“數(shù)字線劃圖轉(zhuǎn)面”功能實現(xiàn)了指定線狀地物的快速圖斑化處理,這與三調(diào)工作的圖斑全覆蓋式表達需求一致;“DLG圖層地類編碼賦值”功能可以自動分析二調(diào)地類圖斑(DLTB)與當(dāng)前圖斑的位置關(guān)系,直接關(guān)聯(lián)并完成對地類圖斑的屬性賦值。
但蟻圖軟件并不支持對ArcGIS自有地理處理工具的直接調(diào)用,這使得蟻圖軟件有著優(yōu)秀的圖形編輯功能,但對于批量化工作的支持不足。例如,在“數(shù)字線劃圖轉(zhuǎn)面”這個功能中,如果采用邊線構(gòu)面轉(zhuǎn)換方法時,當(dāng)且僅當(dāng)兩條邊線的端點間距離在軟件設(shè)定的閾值內(nèi)時才可形成封閉面,而未能形成封閉面的邊線也沒有做出提示,只有憑借作業(yè)人員人工檢查、補漏才能避免地物數(shù)據(jù)缺失。而在ArcGIS平臺上可以直接使用工具進行查漏補缺。
2.2 Arcpy
Arcpy是一個Python站點包,可用以通過Python高效執(zhí)行地理數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)管理和地圖自動化。由Arcpy編寫的腳本工具,支持保存、復(fù)制,可運行在任意版本的ArcGIS環(huán)境中,且可獨立調(diào)用ArcGIS安裝包內(nèi)的所有地理處理工具。
3 ?參考數(shù)據(jù)
充分了解已有參考數(shù)據(jù)資料的作用意義,分析其中數(shù)據(jù)組織結(jié)構(gòu)與三調(diào)數(shù)據(jù)成果的關(guān)系,可以更加充分地提高數(shù)據(jù)資料的利用率。
(1)不動產(chǎn)1:2000D基礎(chǔ)數(shù)據(jù)
目前湖南省有覆蓋全省93.7%面積且現(xiàn)勢性滿足要求的不動產(chǎn)1:2000DLG數(shù)據(jù),數(shù)據(jù)依據(jù)GB/T 20257.1-2007國家基本比例尺地圖圖式[2]采用三級分類體系,而三調(diào)的土地分類采用《第三次全國土地調(diào)查工作分類》,以GB/T 21020-2017為基準(zhǔn),并對部分地類進行細(xì)化和歸并。兩種分類標(biāo)準(zhǔn)均有定義一致或有包含關(guān)系[3],因此可采用不動產(chǎn)DLG數(shù)據(jù)作為基礎(chǔ)矢量數(shù)據(jù)。
(2)2017年度土地變更調(diào)查數(shù)據(jù)
年度土地變更調(diào)查是根據(jù)年度變更調(diào)查工作部署要求完成的土地利用現(xiàn)狀調(diào)查,其成果數(shù)據(jù)中“DLTB”圖層是至2017年的地類圖斑更新成果,可作為土地用途分類參考。
(3)地類不一致圖斑
地類不一致圖斑是國家下發(fā)的數(shù)據(jù)庫地類與影像特征反映的土地利用類型不一致情況提取的圖斑,含6個一級類,11個二級類,6個標(biāo)注類。影像特征無法明確判定某種類型的,用復(fù)合類型表示,類型間用“/”分割。
(4)國家下發(fā)的遙感影像
本文中使用的遙感影像攝入2017年12月,分辨率優(yōu)于1米,作為地類判定的唯一影像依據(jù)。
(5)地理國情監(jiān)測數(shù)據(jù)
地理國情監(jiān)測已被納入常態(tài)化測繪地理信息工作的一部分,對地理要素變化提供的分類精度能夠滿足三調(diào)的精度要求[4],其中的“LRCA”層中地理國情分類碼等于0340的地類為竹林地,可作為不動產(chǎn)數(shù)據(jù)的補充數(shù)據(jù)。
(6)耕地類型數(shù)據(jù)和坡度級別數(shù)據(jù)
耕地分為5個級別(上含下不含),坡度≤2°的視為平地,其它分為坡地(PD)、梯田(TT),利用坡度圖套合耕地圖斑,生成耕地坡度圖,見表1。
田坎按照地類系數(shù)扣除法來確定,沿用二調(diào)統(tǒng)一測算的田坎系數(shù),具體系數(shù)見表2。
4 ?快速編制技術(shù)
4.1 流程圖
快速編制技術(shù)流程的核心思想為:深入挖掘已有軟件的功能,找出功能之間的互補性。即找出使用蟻圖軟件的編輯功能后需要人工處理的部分,用Arcpy腳本工具進行補充,減少人工編輯以及重復(fù)編輯的工作量。另外要注意的是,道路和水系地類圖斑的完整性、連通性極為重要,應(yīng)在相應(yīng)生產(chǎn)節(jié)點中對照國家下發(fā)的遙感影像進行全圖檢查以及時補充新增或變化的道路/水系地類圖斑,具體流程見圖1。
4.2 流程詳解
4.2.1 ?參考數(shù)據(jù)預(yù)處理
各類參考數(shù)據(jù)的作用大不相同,在一個參考數(shù)據(jù)中僅有一部分是實際生產(chǎn)需要用到的,且每個參考數(shù)據(jù)會以整個行政區(qū)范圍下發(fā),數(shù)據(jù)量較大。考慮到可視化編輯的便捷性,應(yīng)該以各個作業(yè)人員負(fù)責(zé)的區(qū)域逐一進行裁剪,并剔除數(shù)據(jù)中不需要的部分。
這里需要用到的是ArcGIS中的“裁剪”(Clip)工具,需要注意的是針對矢量數(shù)據(jù)和柵格數(shù)據(jù)的裁剪工具名稱相同但所屬工具類別不一樣,采用Arcpy可直接調(diào)用工具,例如裁剪不動產(chǎn)數(shù)據(jù),其中“XZQ”是作業(yè)范圍,作為裁剪范圍面使用。主要Arcpy腳本代碼如下:
#裁剪矢量數(shù)據(jù)
inwork=”E:\1210三調(diào)初始庫\2000DLG.gdb”
arcpy.env.workspace=inwork
outwork=”E:\1210三調(diào)初始庫\城南村.gdb”
#循環(huán)讀取數(shù)據(jù)庫中各個圖層,賦值給ly
forly in arcpy.ListFeatureClasses():
outf=outwork+ly+”mul”
#使用行政區(qū)范圍裁剪圖層
arcpy.Clip_analysis(ly,”XZQ”,outf)
#裁剪國家柵格影像:
arcpy.Clip_management(“國家影像.img”,”
XZQ”,”516360.51853130030.0989526698.76513140852.2665”,”國家影像_Clip”,”#”, “#”, “NONE”, “NO_MAINTAIN_EXTENT”)
4.2.2 ?道路邊線圖斑化處理
蟻圖軟件將不動產(chǎn)數(shù)據(jù)中LRDL層中的數(shù)據(jù)作為道路面邊線,通過識別CODE字段和要素間鄰近關(guān)系來生成相應(yīng)的道路面。當(dāng)位置相對的兩條道路邊線端點距離較遠(yuǎn)時會無法生成道路面,如圖2所示。
如果采取人工編輯的方法,不僅要目視影像找到未形成道路面的部分,還必須手動根據(jù)道路邊線形狀依次構(gòu)面。而在ArcGIS平臺中,線狀和面狀要素形成的閉合區(qū)域都可以自動化創(chuàng)建生成新要素,這里需要綜合使用“按位置選擇圖層”(SelectLayerByLocation)工具、“按屬性選擇圖層”(SelectLayerByAttribute)工具和“要素轉(zhuǎn)面”(FeatureToPolygon)工具。生成的新要素通過復(fù)制、粘貼至“道路面”圖層,按照實際補充作為道路圖斑。主要Arcpy腳本代碼如下:
#選擇LRDL中和道路面共邊線的要素
arcpy.SelectLayerByLocation_management(“LRDL”,”SHARE_A_LINE_SEGMENT_WITH”,”道路面”)
#反選
arcpy.SelectLayerByAttribute_management(“LRDL”,”SWITCH_SELECTION”)
#未參與構(gòu)面的LRDL線要素和道路面合并生成新面要素
vTab=arcpy.valueTable()
vTab.setRow(0,”LRDL”)
vTab.setRow(1,”道路面”)
arcpy.FeatureToPolygon_management(vTab,”補充道路面”)補充后形成的道路面示例見圖3。
4.2.3 ?地類圖斑疊加
獲得完整的道路圖斑后,將它與水系地類圖斑(不動產(chǎn)數(shù)據(jù)中HYDA層)、竹林地類圖斑(地理國情中LRCA層,地理國情分類碼=0340)、植被要素圖斑(不動產(chǎn)數(shù)據(jù)中VEGA層)合并匯總。因為圖斑化后的道路面可能會和其它地物有重疊,又必須保證道路面的連通性,重疊部分不可以從道路面中扣除。所以在這一步中,以上地類圖斑范圍完整性先后順序應(yīng)是道路面->水系->竹林。使用行政區(qū)范圍(“XZQ”圖層)扣除匯總后圖層,得到其它空白屬性地類圖斑,這里需要循環(huán)使用ArcGIS的“擦除”(Erase)和“追加”(Append)工具。主要Arcpy腳本代碼如下:
arcpy.Erase_analysis(“道路面”, “HYDA”, “疊加1”)
arcpy.Append_management(“疊加1”, “道路面”, “NO_TEST”)
arcpy.Erase_analysis(“道路面”, “竹林”, “疊加2”)
arcpy.Append_management(“疊加2”, “道路面”, “NO_TEST”)
4.2.4 ?地類屬性關(guān)聯(lián)
蟻圖軟件提供“DLG圖層地類編碼賦值”功能完成年度變更調(diào)查數(shù)據(jù)向當(dāng)前地類圖斑的屬性賦值,原則是當(dāng)某一年度變更調(diào)查數(shù)據(jù)圖斑占當(dāng)前地類圖斑面積70%及以上時,地類圖斑的“DLBM”字段和“DLMC”字段和年度變更數(shù)據(jù)圖斑同名字段的分類保持一致。但是此功能僅能支持一對一的屬性關(guān)聯(lián),且不支持無“DLBM”、“DLMC”字段的數(shù)據(jù)。
因此筆者使用ArcGIS的“空間連接”(SptialJoin)工具,找到國家地類不一致圖斑的地類預(yù)判分類屬性和年度變更數(shù)據(jù)屬性的差異,正確標(biāo)注外業(yè)舉證屬性。主要Arcpy腳本代碼如下:
arcpy.SpatialJoin_analysis(“年度變更調(diào)查數(shù)據(jù)DLTB”,”地類不一致圖斑”, “不一致判定圖斑”)
結(jié)果示例如圖4,年度變更調(diào)查數(shù)據(jù)為旱地,國家地類不一致圖斑判斷為林地,影像表達為林地,則該處地類編碼應(yīng)為“0101T”,外業(yè)標(biāo)識應(yīng)為“W”。
4.2.5 ?影像參照編輯
在這一步需要作業(yè)人員參照國家下發(fā)的遙感影像,原則上沿用不動產(chǎn)數(shù)據(jù)的圖斑邊界,對于與影像不一致的新增、變化圖斑,應(yīng)根據(jù)影像調(diào)整圖斑。對于不動產(chǎn)數(shù)據(jù)未覆蓋地區(qū),以年度變更調(diào)查數(shù)據(jù)作為參考,結(jié)合影像重新采集地類圖斑邊界。
4.2.6 ?耕地屬性關(guān)聯(lián)
耕地類型和坡度賦值不需對照影像判斷,而是直接采用參考資料中的耕地類型數(shù)據(jù)和坡度級別數(shù)據(jù)。但蟻圖軟件中沒有集成相應(yīng)的功能,筆者采用“DLG圖層地類編碼賦值”功能的思路,利用ArcGIS的“交集制表”(TabulateIntersection)工具,使用耕地類型數(shù)據(jù)和坡度級別數(shù)據(jù)分別與當(dāng)前地類圖斑“DLTB”圖層計算交集面積,占地類圖斑面積70%的判定為相應(yīng)類型。例如,當(dāng)一塊耕地(類型“PD”)與一個地類圖斑的相交面積占該地類圖斑面積72%,則該地類圖斑的耕地類型屬性項“GDLX”賦值“PD”。主要Arcpy腳本代碼如下:
#SQUARE_METERS,輸出相交面積大小
#關(guān)聯(lián)耕地類型數(shù)據(jù)
arcpy.TabulateIntersection_analysis(“DLTB”,”O(jiān)BJECTID,Shape_Area”,”耕地類型”,”GDLX”,”耕地類型交集表”,””,””,”SQUARE_METERS”)
#關(guān)聯(lián)坡度級別數(shù)據(jù)
arcpy.TabulateIntersection_analysis(“DLTB”,”O(jiān)BJECTID,Shape_Area”,”坡度級別”,”GDPDJB”,”坡度級別交集表”,””,””,”SQUARE_METERS”)
得到的結(jié)果為“耕地類型交集表”和“坡度級別交集表”,表中有字段“PERCENTAGE”表示相交面積占比,找出“PERCENTAGE>70”的記錄,將“GDLX”和“GDPDJB”賦值到“DLTB”圖層的同名字段中。
再人工檢查“GDLX”和“GDPDJB”未能賦值的耕地地類圖斑,綜合考慮參考資料逐一完成屬性項賦值。賦值完成后使用ArcGIS的“計算字段”(CalculateField)工具根據(jù)表2補充扣除地類系數(shù)屬性項“KCXS”。主要Arcpy腳本代碼如下:
#功能函數(shù)“耕地分類”,如GDLX=TT,GDPDJB=2,賦值KCSX=10.7
arcpy.CalculateField_management
(“DLTB”,”KCSX”,”耕地分類”,”PYTHON_9.3”)
5 ?實例操作
筆者使用益陽市安化縣城南村作為測試數(shù)據(jù),在“道路邊線圖斑化”、“地類屬性關(guān)聯(lián)”和“耕地屬性關(guān)聯(lián)”三個子流程中分別對比僅使用蟻圖軟件和結(jié)合Arcpy腳本工具,實驗結(jié)果如下:
(1)道路邊線圖斑化
不動產(chǎn)數(shù)據(jù)中“LRDL”中可形成道路邊線數(shù)據(jù)共有766條,使用蟻圖軟件的“數(shù)字線劃圖轉(zhuǎn)面”功能可將712條要素構(gòu)成道路面,補充使用Arcpy腳本工具后又有46條要素構(gòu)成新的道路面。
(2)地類屬性關(guān)聯(lián)
該作業(yè)范圍中國家下發(fā)的地類不一致圖斑共有184個,使用Arcpy腳本工具后,找出所有的地類不一致圖斑并標(biāo)注正確的外業(yè)舉證屬性。
(3)耕地屬性關(guān)聯(lián)
該作業(yè)范圍內(nèi)耕地地類圖斑共有1678個,使用Arcpy腳本工具,可完成共1370個耕地地類圖斑的耕地屬性關(guān)聯(lián)。
6 ?結(jié)論
ArcGIS具有強大的空間分析和空間數(shù)據(jù)處理功能,在地理空間數(shù)據(jù)生產(chǎn)中具有相當(dāng)大的優(yōu)勢性。筆者制作了一個自定義工具箱供作業(yè)人員使用,其中內(nèi)置能實現(xiàn)上述功能的一系列工具,該工具箱不受操作系統(tǒng)、ArcGIS平臺版本限制,僅需從ArcGIS平臺界面找到工具箱放置位置,點擊所需工具使用即可,操作方便簡潔。從三調(diào)初始庫的實際生產(chǎn)過程中,筆者發(fā)現(xiàn)僅“耕地屬性關(guān)聯(lián)”這一步,可使得原作業(yè)時間節(jié)省2-4小時不等。采用Arcpy這種輕量級的開發(fā)模塊調(diào)用ArcGIS地理處理工具,在能夠深度挖掘參考資料數(shù)據(jù)關(guān)聯(lián)性的同時,也有助于修正人工編輯的錯誤,減少建庫工作量。而在其他使用ArcGIS支持的數(shù)據(jù)格式的建庫生產(chǎn)作業(yè)中,也可以運用相同的技術(shù)手段快速輕松地創(chuàng)建批量自動化工作流。
參考文獻/References
[1]第三次全國土地調(diào)查整體方案.
[2] GB/T 20257.1-2007國家基本比例尺地圖圖式 第1部分 1:500 1:1000 1:2000地形圖圖式.
[3]黃挺,王長虹,費虎.大比例尺DLG成果在湖南省第三次土地調(diào)查工作中的應(yīng)用探討[J].國土資源導(dǎo)刊.2018,15(3):76-78.
[4]王莉莉.助推常態(tài)化地理國情監(jiān)測[J].中國測繪.2017(4).39.