劉懷
(廣東省地圖院,廣東廣州 510030)
ArcGIS Model Builder平臺(見圖1)可將一系列ArcToolbox(地理處理工具)串聯(lián)起來,將前一個工具的輸出結(jié)果直接作為下一個工具的輸入,實現(xiàn)“無縫銜接”式的一個高效工作流,實現(xiàn)自動化處理[1]。同時,Model Builder作為ArcGIS系統(tǒng)內(nèi)置的二次發(fā)開平臺,對數(shù)據(jù)處理有較高的兼容性和穩(wěn)定性,相比于其他第三方軟件平臺,具有免安裝、簡單易懂、易于共享等優(yōu)勢。
圖1 Model Builder窗口
常規(guī)的人工拓撲檢查步驟:新建數(shù)據(jù)庫>新建要素數(shù)據(jù)集>向數(shù)據(jù)集中導入矢量數(shù)據(jù)>在數(shù)據(jù)集新建拓撲文件>向拓撲中添加要素類>添加拓撲規(guī)則>拓撲驗證>導出拓撲錯誤。由此可見,通過人工操作的方法完成拓撲檢查需要的步驟繁多,且往往需要反復多次。通過模型構(gòu)建,只需要完成一次即可多次應(yīng)用[3]。
模型的構(gòu)建流程與和人工處理的流程有些相似,其整體流程如圖3所示。在Data Management Tools(數(shù)據(jù)管理工具)中調(diào)用拓撲系列工具,如圖2所示。新建數(shù)據(jù)庫,在數(shù)據(jù)庫創(chuàng)建要素數(shù)據(jù)集,在要素數(shù)據(jù)集中創(chuàng)建拓撲文件,在拓撲文件中添加要素類和拓撲檢查規(guī)則,之后進行驗證拓撲,最后將拓撲文件中的錯誤記錄導出[2]。
圖2 拓撲系列工具
圖3 拓撲模型構(gòu)建思路
穩(wěn)定的運行空間是拓撲檢查的首要條件。拓撲文件的創(chuàng)建和管理必須在要素數(shù)據(jù)集中進行。由于矢量數(shù)據(jù)的格式多樣(shape file、gdb、dataset),為增強模型的性能,可在計算機的其他位置(如C:)自主創(chuàng)建一個臨時數(shù)據(jù)庫及要素數(shù)據(jù)集作為主要運行空間,將矢量數(shù)據(jù)導入其中進行拓撲檢查,確保后續(xù)的流程能正常執(zhí)行。需要注意的是,臨時要素數(shù)據(jù)集的坐標參數(shù)應(yīng)與矢量數(shù)據(jù)保持一致,避免因坐標環(huán)境差異而導致拓撲失敗。
為方便實現(xiàn)多戶共享機制,滿足不同用戶的個性化需要,提升用戶界面的人性化設(shè)計,可將“輸入數(shù)據(jù)”和“拓撲記錄輸出位置”都設(shè)置為模型參數(shù),方便用戶靈活選擇待檢數(shù)據(jù)。為進一步優(yōu)化,可根據(jù)實際需要將“拓撲容差”設(shè)置為可選模型參數(shù),用戶可自主調(diào)整。
在參數(shù)過濾器限制輸入的矢量數(shù)據(jù)幾何類型,如圖4所示。主要用于輔助判斷輸入數(shù)據(jù)的幾何類型與拓撲規(guī)則的對應(yīng)關(guān)系是否合理,避免因矢量數(shù)據(jù)的幾何類型與拓撲規(guī)則相矛盾而導致拓撲失敗。例如,拓撲規(guī)則為“面要素不能重疊”,則輸入的矢量數(shù)據(jù)必須為“面要素”,否則,模型在運行過程中將報出錯誤,無法繼續(xù)運行。
圖4 過濾幾何類型
按照拓撲模型的構(gòu)建思路,整個拓撲模型可分為三大部分,如圖5所示。
圖5 拓撲模型構(gòu)建流程
(1)創(chuàng)建工作空間。這部分是模型構(gòu)建的基礎(chǔ)部分。通過自主新建地理數(shù)據(jù)庫及要素數(shù)據(jù)集來實現(xiàn)穩(wěn)定的運行環(huán)境,并用“創(chuàng)建空間參考”工具實現(xiàn)要素數(shù)據(jù)集與矢量數(shù)據(jù)的坐標參數(shù)一致。
(2)拓撲檢查。也是整個模型的核心部分。在要素數(shù)據(jù)集位置進行創(chuàng)建拓撲文件、添加矢量要素、配置拓撲規(guī)則、驗證拓撲等一系列拓撲相關(guān)工具的搭建。這里要注意的是,拓撲規(guī)則和矢量數(shù)據(jù)之間的對應(yīng)關(guān)系要合理正確。
(3)導出拓撲記錄。將完成驗證后的拓撲文件導出錯誤記錄,導出的記錄分為3個圖層,分別是point(點)、pline(線)、poly(面),對應(yīng)3種不同的問題類型。
“輸入數(shù)據(jù)”和“拓撲記錄輸出位置” 設(shè)置好模型參數(shù)后,打開工具界面便能看到參數(shù)框,如圖6所示。
圖6 工具界面
(1)輸入數(shù)據(jù)。選擇需要檢查的矢量數(shù)據(jù)。
(2)拓撲記錄輸出位置。導出拓撲錯誤的位置,一般選擇GDBMDB文件夾。
在開展粵東地區(qū)的全民所有自然資源資產(chǎn)(土地資源)清查項目中,便應(yīng)用了此方法對矢量數(shù)據(jù)進行拓撲檢查。以某縣級不動產(chǎn)登記的宗地數(shù)據(jù)為例,該縣宗地數(shù)據(jù)共有5113個圖斑,要求圖斑之間不能互相重疊覆蓋,采用“不能重疊(面)”的拓撲規(guī)則對宗地矢量數(shù)據(jù)進行檢查。
實驗通過人工操作和拓撲模型工具兩種方式分別對此宗地數(shù)據(jù)進行拓撲檢查,并對拓撲問題數(shù)量和完成時間進行統(tǒng)計(見表1)。
表1 模型工具和人工操作的對比統(tǒng)計
經(jīng)過對比分析,兩種方法的拓撲問題數(shù)量及位置一致,在完成時間方面,工具運行時間7.04s,熟練的人工操作約3min,由此可見,通過模型工具方法的處理效率遠勝于人工操作,如圖7所示。
圖7 運行完成時間
利用ArcGIS Model Builder可以更快捷、高效、方便地實現(xiàn)矢量數(shù)據(jù)自動化拓撲檢查功能[2]。同時,Model Builder對技術(shù)人員的編程基礎(chǔ)要求不高,通過可視化圖形簡單地調(diào)用一系列地理處理工具就可以實現(xiàn)對矢量數(shù)據(jù)的自動化處理功能,是一種高級的數(shù)據(jù)處理方法。通過Model Builder制作的數(shù)據(jù)處理工具還可以實現(xiàn)多用戶共享,為測繪一線生產(chǎn)提高生產(chǎn)效率、控制數(shù)據(jù)質(zhì)量提供了高性價比的解決方案[3]。