方靖



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