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