河南省基礎地理信息中心 石 晶 李小勇 趙克洋
在生產(chǎn)中,需要對大量的DWG 數(shù)據(jù)進行保密處理工作,通常手工處理起來十分的煩瑣,也容易產(chǎn)生一定的人為誤差,因此有必要找到一種較為合理的方法處理。本文,筆者經(jīng)過不斷實驗,發(fā)現(xiàn)在AUTOCAD中通過VBA編程可以實現(xiàn),保密處理工作自動化處理。現(xiàn)將該處理方法發(fā)表出來和同志們探討,希望最終可以實現(xiàn)測繪數(shù)據(jù)保密處理的更加優(yōu)化地自動化處理過程。
Microsoft VBA 是一個面向對象的編程環(huán)境,可提供類似Visual Basic(VB)的豐富開發(fā)功能。VBA 和VB 的主要差別是VBA 和AutoCAD 在同一進程空間中運行,提供的是具有AutoCAD智能的、非??焖俚木幊汰h(huán)境。
VBA 技術為這些程序員以及將來更多的學習Visual Basic的人員打開了自定義AutoCAD、ARCGIS 和開發(fā)AutoCAD、ARCGIS 應用程序的途徑。AutoCAD VBA 工程是許多代碼模塊、類型模塊和窗體的集合,它們一同運作,執(zhí)行給定的功能。工程可以存儲在AutoCAD 圖形中,也可以作為獨立的文件存儲。內嵌工程存儲在AutoCAD圖形中。在AutoCAD中打開包含這類工程的圖形時,會自動加載它們,這使工程分發(fā)變得非常簡便。由于內嵌工程只能在所在的文檔中運行,因此其使用受到一些限制,而且不能打開或關閉AutoCAD 圖形。內嵌工程的用戶不再需要在運行程序之前查找和加載工程文件。打開圖形時觸發(fā)的時間日志即是工程內嵌在圖形中的一個例子。使用這個宏,用戶可以登錄并記錄處理該圖形的時間長度。用戶不需要記著在打開圖形之前加載工程,加載會自動完成。
保密數(shù)據(jù)的處理必須嚴格按照《公開地圖內容表示若干規(guī)定》(國測法字[2003]1 號)和《公開地圖內容表示補充規(guī)定(試行)》(國測圖字[2009]2號)進行。筆者在作業(yè)過程中,研究數(shù)據(jù)發(fā)現(xiàn)在DWG 數(shù)據(jù)中,每一個基礎要素層在DWG 中放置在特定的層,見表1。
表1 基礎要素分類
參照基礎要素分類表,在VBA中可以打開需要刪除的要素層,選擇刪除要素,即可以刪除涉密的基礎要素層。影像與矢量數(shù)據(jù)自動套合工作流程如圖1所示。
圖1 影像與矢量數(shù)據(jù)自動套合工作流程
本文,筆者在AUTOCAD 中通過VB 遍歷ARCGIS 中生成的txt,生成DOM 的范圍矩形框,同時生成相應的DWG 數(shù)據(jù),代碼如下:
實際生產(chǎn)表明,利用該方法進行數(shù)據(jù)的保密處理速度快、準確率高,是一種操作簡單、行之有效的數(shù)據(jù)生產(chǎn)方法。同時,該方法還可以推廣到其他數(shù)據(jù)的生產(chǎn)中。