陳習森,楊猛,楊志敏
(1.深圳市地籍測繪大隊,廣東深圳 518000;2.武漢市測繪研究院,湖北武漢 430000)
地形圖數據庫更新方法主要有版本式更新和增量式更新兩種。版本式更新是指利用新測或修測的地形圖數據全部替換舊地形圖數據,而增量式更新僅對發生變化(包括增刪改)要素進行相應更新。
增量式更新相對傳統版本式更新而言,在數據存儲量、數據冗余度、歷史數據恢復、數據更新方式等方面更具優勢[1]。目前國內主流商業軟件如CASS、清華山維等都能提供整套的增量更新建庫解決方案,包括數據加工平臺、數據質檢、GIS數據管理等模塊。
深圳市從1994年開始進行 1∶1000地形圖測繪工作并且建庫進行管理,多年以來,深圳各測量單位圍繞《深圳市 1∶1000數字化地形圖動態修補測實施細則》(以下簡稱實施細則)形成了不同的數據加工平臺[2],難以通過采用統一購買商業軟件的方式來實現建庫方式的升級,為提升地形圖建庫效率,本文將以數據標準為中心,在不對現有加工軟件做大調整的前提下,將深圳市地形圖建庫方法從傳統的版本式更新升級為增量式更新。
地物更新的基本類型可分為新增、刪除和修改三種,各對應多種基本更新動作,具體分解如表1所示。這三種基本類型的操作則可以寫出三類記錄:新增地物記錄、刪除地物記錄、更新地物記錄。再進一步分解,更新操作也可利用刪除地物和新增地物兩步動作來組合實現,這樣實際所有的地物更新動作可分解為刪除地物和新增地物兩步來實現(純粹的新增地物和刪除地物可單列)。通過提取新增地物記錄和刪除地物記錄即可完整記錄地物更新的痕跡。

各種更新類型的分解 表1
地物變化信息的識別主要有新增地物的識別、刪除地物的識別和更新地物的識別。新增地物包括新測地物和在修測過程中編輯過的現狀地物,可設置一個獨立圖層(新增地物圖層)來存儲新增圖形。刪除地物包括直接刪除的地物和在修測過程中刪除的歷史地物,可設置一圖層(刪除地物圖層)來存儲刪除的圖形。對地物進行修改(包括圖形修改和屬性修改)也可通過刪除地物和新增地物兩步動作來組合實現。先將待修改的地物刪除到刪除地物圖層,然后將修改完成后的現狀地物作為新增地物添加到新增地物圖層。
以CAD為例,完整收集刪除記錄和新增記錄只需先設置兩個獨立的圖層:一個圖層用來存放刪除記錄(刪除圖層),一個圖層用來存放新增記錄(新增圖層)。在數據修改過程中,對任何地物的修改,只需保證修改動作是先刪除地物圖斑到刪除圖層,然后將修改后的地物圖斑視為新增圖斑存儲到新增圖層。
借助CAD文件中刪除圖層中存儲的數據,與數據庫中的數據進行圖形比對即可提取待變更圖斑;再利用新增圖層中存儲的數據添加到數據庫中各對應專題圖層,最后進行數據接邊,數據庫的記錄即可完成更新。
借助這個思路再進行拓展,我們就可以利用CAD文件直接對數據庫中存儲的數據進行更新,實現基于CAD數據的增量式地形圖圖形數據更新模型。
(1)模型圖層組織
模型圖層設計基本沿用深圳市實施細則的規定,增加建筑物面(BP)和道路水系植面層(LP),用來存儲面狀要素的圖形,不借助格式轉換提前進行構面[3]。地物要素編碼全部沿用實施細則的具體規定,與現有數據無縫對接。

模型圖層組織設計 表2
(2)模型標準更新動作
在增量式更新模型的定義中,地物更新所進行的任何操作需嚴格執行前面提到的更新動作分解,包括:
①新增的地物存儲在新增地物圖層;
②刪除的地物存儲在刪除地物圖層;
③對任何地物要素的修改,先刪除歷史地物到刪除地物圖層,然后將修改后的地物要素視為新增地物添加到新增地物圖層。
增量式地形圖圖形數據更新模型的標準更新動作可總結如圖1所示。

圖1 增量式更新模型動作分解
(1)CAD數據增量信息提取
依據增量更新模型的設計,在CAD環境下進行標準化作業并完成數據接邊和質檢后,即可得到兩類信息:①發生變化的歷史圖斑;主要對應的是各專題圖層*D(刪除地物圖層)中存儲的數據;②更新變化后的現狀圖斑。主要對應的各專題圖層*A(新增地物圖層)中存儲的數據,這兩類信息可作為增量文件,用來完成數據庫數據增量更新。
(2)數據庫中的圖層設置
數據庫中的圖層設置和CAD環境下的圖層設置類似,每個專題圖層又分別對應一個歷史圖層,各專題圖層存儲最新的數據信息,而發生變化的歷史圖斑則全部被篩選刪除到歷史圖層。
在數據庫中,刪除圖層可不單列,需刪除的地物圖斑可與現勢圖形一同存儲在專題圖層中,在數據使用時,只需利用時間屬性進行簡單篩選即可。
(3)圖層屬性字段設計
為實現對歷史版本數據的回溯,各個要素圖形都需要有一個有效時段的概念。為此模型對各個專題圖層分別添加了3個屬性字段,分別是產生時間、變更時間和元數據,其中產生時間和變更時間對應要素的有效時段,即要素在哪個時間段它是存在并且有效的。元數據屬性主要是作為索引字段存儲一些附屬信息,如數據生產單位、數據提交時間、數據變更時間等。
為驗證模型的可行性,本文從現有GIS庫中導出4幅 1∶1000的CAD地形圖數據作為實驗原始數據,具體實驗步驟如下:①按模式設計設置圖層,標準化工作環境;②嚴格執行模型標準更新動作,結合刪除圖層和新圖層完整記錄修改軌跡;③需要構面的圖層如B層、L層需提前在CAD中構成封閉面,在GIS建庫時可自動形成面狀要素;④數據編輯完成后,進行數據接邊和數據質檢;⑤利用研發的數據入庫軟件,自動提取刪除圖層上的記錄,通過圖形比對功能自動提取GIS庫中待變更的圖斑并刪除到歷史圖層,同時變更時間屬性自動更新[4];⑥自動提取新增圖層上的記錄,添加更新到各GIS庫中各對應圖層,同時產生時間屬性自動更新;⑦完成GIS庫中數據接邊[5]。
圖2和圖3是實驗數據局部更新的前后對比圖,展示的是某處建筑物圖斑發生變化,通過在CAD環境下利用刪除圖層和新增圖層完整記錄圖斑變更軌跡,借助入庫軟件自動實現GIS地形圖數據庫中相應圖斑的增量更新。純粹新增地物和刪除地物邏輯比較簡單,不再復述。通過試驗證明基于CAD數據實現圖形數據增量更新技術是可行的,模型設計合理并且與現有標準無縫對接,更能實現諸如歷史地形數據回溯等功能。

圖2 CAD環境編輯后成果

圖3 GIS數據增量更新成果
基于CAD數據的增量式地形圖圖形數據更新模型的設計實現了對地形圖圖形數據的增量更新建庫,節省了數據入庫的時間,提高了數據更新的效率。模型仍然沿用了現有的工作模式,不需對現有的工作模式和生產軟件做大的調整,實際應用過程中也更易推進。基于增量信息更可方便地進行歷史數據的回溯,也可方便地統計每年的修補測工作量。接下來需做的配套工作是對現有的數據加工軟件進行調整[6],通過功能研發自動實現標準更新動作,不影響日常數據編輯習慣,也不增加無謂的工作量。
[1]張保鋼,石強.地形圖數據庫的增量更新[J].北京測繪,2007(1):1~4.
[2]羅和平,葉乘鸞,溫振興.竣工測量成果應用于地形圖更新的分析探討[J].城市勘測,2010(5):131~134.
[3]王健潔,趙麗娟,王曉帆等.基于ObjectARX的自定義面域研究[J].城市勘測,2013(1):139~141.
[4]老大中,趙占強.AutoCAD 2000 ARX二次開發實例精粹[M].北京:國防工業出版社,2001.
[5]余承飛,方勇.AutoCAD 2000二次開發技術(ObjectARX)[M].北京:人民郵電出版社,1999.
[6]宋延杭,王川,李永宣.Object ARX實用指南[M].北京:人民郵電出版社,1999.