黃太山
(福建省國(guó)土測(cè)繪院,福建廈門 361012)
隨著計(jì)算機(jī)與遙感技術(shù)及其應(yīng)用的發(fā)展,利用航空攝影測(cè)量方法進(jìn)行大比例尺測(cè)圖,在鐵路、公路、電力等線路的選線測(cè)量、地質(zhì)礦區(qū)建設(shè)測(cè)量、城市規(guī)劃建設(shè)測(cè)量以及地籍測(cè)量中得到了廣泛應(yīng)用[1]。如何將航測(cè)地形圖最有效地轉(zhuǎn)換至常用地形測(cè)繪軟件,為用戶提供可讀性強(qiáng)的數(shù)據(jù),是測(cè)繪行業(yè)中的一個(gè)難題。本文通過(guò)以武漢航天遠(yuǎn)景測(cè)繪軟件MapMatrix為例,通過(guò)研究其數(shù)據(jù)格式,利用Excel中簡(jiǎn)單的VBA編程,實(shí)現(xiàn)其數(shù)據(jù)有效的轉(zhuǎn)換至南方測(cè)繪軟件CASS格式。
VBA(Visual Basic for Application)是微軟開發(fā)的、在其桌面應(yīng)用程序中執(zhí)行通用的自動(dòng)化(OLE)任務(wù)的編程語(yǔ)言[2]。VBA最大特點(diǎn)和最大優(yōu)點(diǎn)是利用面向?qū)ο?oop)的ActiveXAutomation技術(shù),使語(yǔ)言的引擎在技術(shù)上與開發(fā)環(huán)境分離。它的功能在很大程度上依賴于它的客戶顯露的Automation接口。同時(shí),由于VBA是基于ActiveXAutomation技術(shù),它可以使用任何Automation技術(shù)的應(yīng)用程序共同工作[3]。
MapMatrix測(cè)制的圖形文件格式為*.xml,為了能夠更好地研究其數(shù)據(jù)組織的格式,以一個(gè)一般矩形房屋為基本單元列出其數(shù)據(jù)形式,從表1中可以看出MapMatrix中的各類幾何要素是按照“<Feature>…</Feature>”的形式表示各要素的,每個(gè)要素的地物名稱、坐標(biāo)點(diǎn)分別以FID、VERTEXES標(biāo)簽進(jìn)行識(shí)別,必須保留這兩個(gè)關(guān)鍵標(biāo)簽。
MapMatrix 表1
熟悉南方CASS的讀者都知道,CASS可以通過(guò)簡(jiǎn)碼識(shí)別功能,調(diào)用*.dat文件實(shí)現(xiàn)地形圖的自動(dòng)展繪。格式如表2所示。
CASS 表2
表1中第三行中的一般房屋與表2中第一行的202分別代表兩種軟件下的地物名稱和對(duì)應(yīng)代碼。表1中的<VERTEXES>…</VERTEXES>則對(duì)應(yīng)表 2中后三個(gè)字段來(lái)表示坐標(biāo)值。
因此,首要任務(wù)就是將表1形式的數(shù)據(jù)轉(zhuǎn)換成表2成果,然后保存成*.dat文件,利用CASS的編碼識(shí)別功能實(shí)現(xiàn)地形圖的自動(dòng)展繪。
用Excel打開MapMatrix的xml文件,出現(xiàn)圖1打開方式選擇提示窗,此處選擇“作為XML表(T)”打開,打開后圖形數(shù)據(jù)將按照各類標(biāo)簽進(jìn)行分列,如圖2所示。上文已經(jīng)提到,F(xiàn)ID、VERTEXES標(biāo)簽是轉(zhuǎn)換數(shù)據(jù)的關(guān)鍵字段,其他不相關(guān)字段則可提前刪除。由于篇幅限制,本文主要對(duì)主要代碼段進(jìn)行介紹,涉及自定義函數(shù)只做功能說(shuō)明。
圖1 打開文件提示窗界面
圖2 轉(zhuǎn)換前圖形數(shù)據(jù)的排列
圖3 轉(zhuǎn)換后圖形數(shù)據(jù)的排列
通過(guò)VBA的宏運(yùn)行后,可發(fā)現(xiàn)原始數(shù)據(jù)已經(jīng)被轉(zhuǎn)換成如圖3的格式,而自動(dòng)生成的*.dat文件則為表2的形式,可直接在CASS中直接調(diào)用,從而實(shí)現(xiàn)自動(dòng)轉(zhuǎn)繪的功能。
表Shthcsj是XML文件打開后的地形數(shù)據(jù)表,Shtbmdyb是MapMatrxi的地物名稱與CASS相應(yīng)地物的編碼對(duì)應(yīng)表。通過(guò)宏的運(yùn)行,一個(gè)完整的dat文件即被自動(dòng)保存至相應(yīng)的文件夾中。打開南方CASS成圖軟件,利用其編碼識(shí)別功能調(diào)用該dat文件,自動(dòng)轉(zhuǎn)繪后的圖形文件就基本保留了MapMatrix的地形地貌信息,最為有效的實(shí)現(xiàn)航測(cè)數(shù)據(jù)轉(zhuǎn)換。
通過(guò)對(duì)數(shù)據(jù)組成格式的研究和程序代碼的編寫,實(shí)現(xiàn)了航天遠(yuǎn)景航測(cè)軟件MapMatrix向南方測(cè)繪軟件CASS成圖軟件的有效轉(zhuǎn)換,形成以下結(jié)論:
(1)各類測(cè)繪軟件的地物編碼不盡一致,通過(guò)編碼對(duì)應(yīng)表的制作,可以實(shí)現(xiàn)測(cè)繪軟件之間的數(shù)據(jù)共享。
(2)為了保證航測(cè)數(shù)據(jù)最有效地轉(zhuǎn)換至常用測(cè)繪軟件中,利用程序轉(zhuǎn)換和自動(dòng)展繪后,必須對(duì)兩個(gè)圖件進(jìn)行適當(dāng)對(duì)照。
(3)轉(zhuǎn)換后的圖形數(shù)據(jù)必須進(jìn)行一定的圖形整飾,達(dá)到地形圖美觀的基本要求。
[1]袁書明,孫楓,劉光軍等.重力圖形匹配技術(shù)在水下導(dǎo)航中的應(yīng)用[J].天津:中國(guó)慣性技術(shù)學(xué)報(bào),2004,12(2):13~17
[2]伍云輝等編.Excel VBA辦公應(yīng)用開發(fā)詳解[M].北京:電子工業(yè)出版社,2008
[3]趙志東.Excel VBA基礎(chǔ)入門[M].北京:人民郵電出版社,2006
[4]張祖勛,張劍清.數(shù)字?jǐn)z影測(cè)量學(xué)[M].武漢:武漢大學(xué)出版社,1997
[5]韓玲,李斌,顧俊凱等.航空與航天攝影技術(shù)[M].武漢:武漢大學(xué)出版社,2008
[6]陳永明.航空與航天攝影技術(shù)[M].北京:中國(guó)建筑工業(yè)出版社,2003