張?zhí)旒儯瑥垥詮姡瑥埥?/p>
(南京市測繪勘察研究院有限責(zé)任公司,江蘇南京 210005)
基于CorelDRAW X4及其VBA的專題地圖集編制研究
張?zhí)旒?,張曉強,張健
(南京市測繪勘察研究院有限責(zé)任公司,江蘇南京 210005)
介紹了采用CorelDRAW X4進行專題地圖集編制的一般流程,探討了以解決專題地圖集編制中的具體問題和以提高生產(chǎn)效率為目的,利用CorelDRAW的宏語言進行腳本定制及利用對象模型進行二次開發(fā)的可行性及方法,并通過實例加以說明。
CorelDRAW X4;專題地圖集編制;VBA;宏程序
(1)現(xiàn)代地圖產(chǎn)品設(shè)計與開發(fā)的特點
在信息時代,紙質(zhì)地圖作為不可取代的可視化地圖產(chǎn)品得以發(fā)揚光大,其需求量更大,產(chǎn)品種類更為豐富,應(yīng)用領(lǐng)域更為全面、深入;專題地圖集的編制引進國外經(jīng)驗,更多地采用章節(jié)的形式圖文并茂地展示專題內(nèi)容要素,以增強地圖的表現(xiàn)力;非專業(yè)地圖制圖軟件應(yīng)時之需被大量用于現(xiàn)代地圖產(chǎn)品的設(shè)計和工藝制作流程,如CorelDRAW和PhotoShop等等,尤其是前者的應(yīng)用尤為廣泛,美觀已成為使用CorelDRAW軟件編制地圖的最大特點。
(2)問題的提出
矢量繪圖軟件CorelDRAW功能強大,具有各行業(yè)用戶群,被大量應(yīng)用于廣告設(shè)計和制圖領(lǐng)域,但很難對各個行業(yè)的應(yīng)用都非常貼近,具體到專業(yè)的應(yīng)用,如制圖領(lǐng)域,應(yīng)根據(jù)具體的需求進行功能的定制與開發(fā),即通過CorelDRAW提供的宏語言編制腳本和VBA開發(fā)函數(shù)。
CorelDRAW 10增加了VBA功能,它使用戶可以根據(jù)自身的需要量身裁衣,對CorelDRAW的功能進行改進和增加,最新推出的CorelDRAW X4增加了對大量新文件格式的支持,包括AutoCAD DXF/DWG,這為專題地圖所常用的地理底圖DLG數(shù)據(jù)直接導(dǎo)入Corel-DRAW提供了可行的途徑,但需對導(dǎo)入的矢量圖形進行預(yù)處理,清除冗余數(shù)據(jù)。另外,由于地圖相對于其他矢量圖形的特殊性,在使用CorelDRAW進行地圖編制時,經(jīng)常還會遇到一些問題或可以改進的地方,對專題制圖進行更準確的加工和處理,達到簡化操作和提高效率的目的。
專題制圖制作一般分為:底圖制作、專題要素添加、圖面整飾和圖文配置排版。測繪技術(shù)早已從傳統(tǒng)測繪發(fā)展到數(shù)字測繪甚至已邁入信息化測繪時代,地理底圖很少再采用掃描矢量化的方式,而是主要采用由AutoCAD制作的數(shù)字地圖作為底圖,然后在此基礎(chǔ)上利用CorelDRAW來制作專題地圖或?qū)n}地圖集。
(1)地理底圖的制作
直接利用DLG作為底圖數(shù)據(jù),在導(dǎo)入CorelDRAW前,可以根據(jù)專題制圖區(qū)域的范圍對DLG圖實施拼接或裁減處理。
(2)專題要素的制作
以不同類型的專題圖對專題要素的具體要求,直接在已經(jīng)修改好的底圖數(shù)據(jù)上進行編輯處理,得到想要的專題要素;統(tǒng)計圖表的制作可以直接利用Excel等軟件根據(jù)統(tǒng)計數(shù)據(jù)生成的統(tǒng)計圖表,然后導(dǎo)入CorelDRAW X4作為單獨的一個統(tǒng)計圖表層疊加在地理底圖上。
(3)圖片和文字的添加
專題地圖集除了地圖編輯的內(nèi)容之外,還需加上與專題要素相關(guān)的圖片和文字說明,尤其是采用章節(jié)形式表達的專題圖集,對圖片和文字說明的處理就顯得更為重要。可以使用PhotoShop等專業(yè)圖像處理軟件對圖集中所需圖片進行預(yù)處理,使制作出來的專題圖集更加美觀,并且達到圖文并茂的效果,增加專題圖的可讀性和藝術(shù)性。
(4)利用CorelDRAW X4的符號庫工具將圖集所需符號圖形或外部矢量圖形安裝到CorelDRAW X4中,直接調(diào)出符號面板就可以使用,可以大大提高圖集編制的工作效率。

圖1 基于CorelDRAW的專題圖集編制流程圖
3.1 CorelDRAW VBA簡介
VBA(Visual Basic for Applications)是一種標準宏語言,提供了面向?qū)ο蟮某绦蛟O(shè)計方法和完整的程序設(shè)計語言,用戶可以通過VBA很容易地調(diào)用Corel-DRAW的現(xiàn)有功能和CorelScript語言來實現(xiàn)一些特定的操作。CorelDRAW的對象模型包括Application所包含對象、Document所包含對象、Shape所包含對象、Curve所包含對象和Effect所包含對象,每個對象又包含多個屬性、方法和事件。
3.2 VBA開發(fā)步驟
(1)進入CorelDRAW的二次開發(fā)平臺Visual Basic Editor,插入相應(yīng)的窗體和控件,利用VBA提供的基本函數(shù)編制程序(?.gms)和定義宏來實現(xiàn)Corel-DRAW二次開發(fā)編制專題地圖。
(2)在工程中插入相應(yīng)的窗體UserForm,并在窗體上放置滿足功能要求的各種控件,以This Document直接訪問CorelDRAW并編程。
3.3 使用CorelDRAW VBA解決問題實例
在分析問題和操作流程后,就可以通過腳本定制或宏程序編寫,讓計算機進行批量的操作,實現(xiàn)自動化處理,以下是在利用CorelDRAW X4進行專題制圖中常見的解決實例。
(1)菜單和工具條的定制
為使用方便可為專題制圖設(shè)置一個專門的菜單、工具條甚至快捷鍵。
在CorelDRAW X4程序窗口中單擊“工具”菜單下的“選項”命令,彈出選項對話框,在自定義中選擇“命令欄”,新定義一個工具欄“專題制圖”,然后為這個新的工具欄添加命令,這些命令可以是CorelDRAW X4本身已有的命令,或是自定義的宏命令及VBA程序命令。

圖2 根據(jù)需求定制和添加的工具條
(2)查找并替換類似于群組對象的對象流程圖(如圖3所示)

圖3 查找與替換對象流程圖
(3)圖形裁剪流程圖(如圖4所示)
判斷循環(huán)對象有沒有位于多邊形內(nèi)的點的主要代碼:

(4)等高線自動分層設(shè)色
①在地圖編輯中,經(jīng)常會涉及等高線分層設(shè)色,一般是按等高線從高到低設(shè)置過度顏色,在Corel-DRAW X4中,可以利用VBA開發(fā)程序自動計算顏色差值進行填充顏色。

圖4 圖形裁剪流程圖
②程序設(shè)計思路:首先設(shè)置最高等高線和最低等高線封閉形狀的輪廓色與填充色(同),然后依次選擇從低到高等高線,根據(jù)所填充的顏色計算中間等高線所需填充的顏色,并進行填充、設(shè)輪廓色,并把當(dāng)前對象置最低層,如果遇到洼地的情形,則可以用反轉(zhuǎn)層疊的方法進行反轉(zhuǎn)。
(5)統(tǒng)一文本字號和字體
①檢測選擇對象是否為文本對象,如果該對象為文本對象,并且具有不同的字號,則把整個文本對象設(shè)為統(tǒng)一的字號。
②統(tǒng)一字號的主要代碼


(6)創(chuàng)建圖框、圖例和比例尺
專題圖集的編制具有一定的規(guī)范和工藝流程,因此對于同一類型、同一圖組的圖幅的圖框、圖例和比例尺等要素完全可以用CorelScrip方法建立,以提高編圖的效率和精度。
CorelDRAW雖然不是專門的專題制圖軟件,但因其強大的圖文編輯功能,在近年來的地圖集制作中得到了廣泛應(yīng)用,如《中國自然地理圖集》、《江蘇省可持續(xù)發(fā)展圖集》等比較有水準的地圖集均采用了Corel-DRAW軟件作為專題地圖編制的主要工具。隨著CorelDRAW X4的推出及其愈發(fā)強大的編輯功能和腳本語言更為CorelDRAW軟件在專題制圖領(lǐng)域的應(yīng)用提供了強有力的支持。
使用CorelDRAW VBA編寫宏程序的關(guān)鍵是總結(jié)制圖過程中常見問題,分析解決問題的方法,再利用VBA的開發(fā)環(huán)境寫出宏程序,在一定程度上實現(xiàn)地圖編輯的自動化,從而達到方便和簡化操作,提高工作效率的目的。
[1] 楊穗,易捷.應(yīng)用VB或VBA對CorelDRAW進行二次開發(fā)[J].電腦學(xué)習(xí),2004(1)
[2] 馮靜雨.使用CorelDRAW的二次開發(fā)功能繪制礦圖的研究[J].科技情報開發(fā)與經(jīng)濟,2006(2)
Research on Thematic Atlas Eidting based on CorelDRAW X4 and CorelDRAW VBA
Zhang TianChun,Zhang XiaoQiang,Zhang Jian
(Nanjing Institute of Surveying,Mapping&Geotechnical Investigation,Co.,Ltd.Nanjing 210005,China)
This paper introduces the general procedures of editing Thematic Atlas by using CorelDRAW X4,probes into the feasibility and the methods by using CorelScrip and CorelDRAW secondary development based on object model,in order to solve the problems of thematicmap editing and to raise the production efficiency,then illustrates it by examples.
CorelDRAW X4;Thematic atlas edit;VBA second development;Macroscript
1672-8262(2010)06-100-03
P285
B
2010—05—21
張?zhí)旒?1969-),女,高級工程師,主要從事城市制圖、GIS研究及信息系統(tǒng)項目的管理和監(jiān)理工作。