李 昱,劉長星,李 蕾,李鵬輝
(1.西安科技大學測繪科學與技術學院,陜西 西安 710000;2.西安市勘察測繪院,陜西 西安 710000;3.西安坐標原點軟件信息有限公司,陜西 西安 710000)
近年來,國家對房產和地籍信息的管理在不斷完善。建立一個精度高、數據全的地籍數據庫成為地籍管理的重點。對地籍數據庫的建立,反映了真實合理的建筑物權屬、位置、面積等屬性狀態。為農村宅基地和集體建設用地的使用權提供了數字基礎與技術支持[1-3]。由于作業人員技術水平參差不齊等原因,無法確保地籍數據完全滿足要求。將編程語言與傳統宅基地內業處理技術相結合,不僅可以更有效地保證數據精度符合要求,而且可以大大降低工作時間、提高工作效率。
ArcGIS 是美國ERSI 公司研發的,集空間數據顯示、編輯、查詢檢索、統計、報表生成、空間分析和高級制圖等眾多功能于一體的桌面應用地理信息系統平臺。其功能豐富、可應用范圍廣,有獨特的空間數據模型及空間分析等功能,使構建的系統從整體上有極大的延展性和靈活性[4],保證基于其所構建的應用系統和技術先進、開放和可延續,技術成熟、安全穩定,操作簡單、易于開發等優點。但由于其對矢量數據(如:dwg、txt、kml 等)的支持不足,圖形檢查與處理不夠完備等缺點,所以將ArcGIS 進行二次開發,通過C#編程語言等,實現對圖形的數據轉換、圖形檢查、拓撲檢查和屬性賦值等功能。
將外業測量數據收集整理后,需要將得到的dwg格式的CAD 數據轉化成mdb 格式的GIS 數據進行入庫。在過去的研究中,袁源琳[5]等設計了Auto-CAD數據直接無縫轉換為GIS 數據的方法。寧存鑫[6]等將CAD 數據經過二次開發轉換成SWMM 數據,再經由Python 編程語言實現將其轉換為GIS 數據。曾傳俊[7]等基于FME 將CAD 數據進行屬性分析,通過語義轉換,實現不同格式數據間的轉換。這些方法仍然有數據轉換不全、功能不完整等不足。對此經優化并完善,可以更加廣泛、方便并靈活地應用于實踐中。
在數據轉換入庫時,通過程序解析CAD 源文件,獲取不同CAD 實體單元的實體編碼及其實體幾何信息。再通過ArcGIS 編程模塊中的幾何構建模型,構造滿足ArcGIS 的幾何要素和屬性。利用FME 識別實體編碼,設置導入數據與目標數據庫中字段的映射關系,將數據導入到數據庫中。對于特殊情況,如果CAD圖層較為復雜,或者需要轉出其他地物,需要配置對應地物實體代碼到CAD 圖層解析實體代碼列表框中,部分轉換內容如圖1 所示。

圖1 數據轉換部分內容展示
一般來說,數據入庫前會在AutoCAD 內進行圖形的檢查與處理,但由于CAD 圖形自身空間分析能力不足,會導致部分數據依然存在圖形拓撲錯誤和界址點缺失或多余的問題。同時,在數據庫建庫入庫過程中,由于人員操作不當,有時會存在數據缺失的現象。對入庫后的數據進行圖形分析檢查與改正就會很大程度上提高數據庫的準確性與實用性。具體步驟如圖2 所示。

圖2 數據轉換后圖形處理與檢查流程圖
圖形拓撲檢查是一項檢查圖形相互間位置關系的工作。將地籍數據進行拓撲檢查,可以提高數據精度,使數據滿足最終提交數據成果的精度要求,減少發證工作的糾紛。
在前期研究中,陳軍[8]等將地籍變更分為地塊合并、分割、公共邊界調整、結點移動、復合分并等基本聯動類型,并進行了細分,歸納出地塊目標的變化類型推斷規則。鄧神寶[9-10]等根據拓撲重疊來源的分析,將其分為測量誤差、權屬爭議和飛地范圍重復入庫3 種錯誤類型,并以9I 模型為基礎,提出一種適合二維復雜線對象的拓撲關系的線性序列描述模型;楊理[11]等基于Microsoft Visual Studio 的微軟基礎類庫應用程序框架實現復雜系統可視化拓撲建模的應用程序軟件開發。
在此次數據庫圖形拓撲檢查設計中,主要檢查由于外業誤差以及人員操作不當引起的圖形的移動與變形,包括面面關系檢查、線面關系檢查和線線關系檢查。面面關系檢查主要是檢查同一圖層圖斑面面重疊、交叉與縫隙,以及不同圖層圖斑的面面交叉與縫隙。線面關系檢查主要是檢查線與圖斑之間是否交叉或存在缺失。線線關系檢查主要是檢查線與線之間的分離、交叉與縫隙。
對于不同的拓撲錯誤,應結合外業數據針對不同的情況判斷處理方法,主要判斷拓撲類型的方法是讀取圖形頂點坐標,檢查相鄰圖形的拓撲并判讀拓撲誤類型。然后依照不同的拓撲錯誤類型,將圖形拓撲分別進行處理,如表1 所示。

表1 常見的拓撲類型與相應的處理方法舉例
在地籍數據庫建設中,界址點不僅有助于準確提取位置信息,而且可以獲取面積與長度等房屋屬性信息。精準的界址信息對于宗地權屬信息十分重要,所以界址點檢查是一項不可缺少的工作。由于繪圖人員的疏忽與認知不足,有時會在同一點處繪制多個界址點(相鄰界址點間距離為0),這就會導致界址點重復的錯誤。相應地,作業人員疏忽或操作不當時,也會造成界址點缺失的錯誤。
在對界址點的檢查與處理中,李磊[12]等提出在道格拉斯-普克算法中調整容差,在角度判斷方法中設定角度閾值,獲得宗地形狀最佳簡化效果,提取出合理界址點。伍建紅[13]在ArcGIS 二次開發組件的基礎上結合空間數據拓撲關系的判斷算法,實現對界址點的錯誤檢查。
界址點檢查時,默認為沿界址線從宗地西北角第一個點(J1)開始順時針環繞(即界址點編排順序),當宗地內地物屬性發生改變、遇到拐角或鄰宗設置界址點處,均應設有界址點。當界址點缺失時,則應添加界址點,并將界址點編號順延。當不具有界址點設置條件或相鄰界址點間距離小于0.05 m 時,則應刪減界址點。特別需要注意有共用邊時鄰宗之間界址點的刪減與增加應同時進行,避免遺漏。

將圖形進行檢查與改正處理后,還應該判別界址屬性,將其賦值。界址屬性賦值主要包括界標類別、界址點類型、界址線類別、界址線位置與界線性質。傳統的作業方式通常采用人工識別與建庫軟件相結合的方式對界址屬性進行賦值[14]。但這種做法不僅耗時耗力、作業效率低,而且并不能保證準確性與徹底性[15-16]。這會造成數據庫建成后所出界址標識表等圖表的錯誤并且給最終發證工作帶來不便。使用編程語言將賦值工作自動處理,不僅可以節省大量的時間、提高工作效率,而且可以有效避免由于人為因素造成的不徹底、不一致等問題。

編程語言作為處理問題的工具與手段,廣泛應用于測繪科學與技術領域。論文針對地籍數據庫建庫過程中的數據與屬性轉換及數據檢查與處理等耗時長、易出錯的環節,通過ArcGIS 二次開發平臺,利用C#編程語言,對地籍數據的格式轉換、圖形檢查、拓撲檢查、屬性轉換和屬性賦值等進行自動化地判讀與處理。研究結果表明AutoCAD 地籍數據可以通過本系統實現CAD 軟件與GIS 軟件間數據的格式轉換;可依照數據的圖形屬性,通過面面關系、線面關系與線線關系進行拓撲檢查與處理;可以檢查界址點的重復與缺失,并將其進行相應的刪除與補充;還可以依據界址點與界址線的位置等信息,實現界址屬性的賦值,最終形成完整的地籍數據庫建庫系統。此研究結果已應用于陜西省寶雞市鳳縣房地一體的數據庫建設中,具有較強的實用性。