国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CorelDraw平臺(tái)下專題地圖實(shí)時(shí)展現(xiàn)的研究

2014-07-02 00:21黃亞萍
測(cè)繪通報(bào) 2014年12期
關(guān)鍵詞:專題地圖二次開發(fā)制圖

張 雷,黃亞萍,楊 覓

(江蘇省基礎(chǔ)地理信息中心,江蘇 南京 210013)

CorelDraw平臺(tái)下專題地圖實(shí)時(shí)展現(xiàn)的研究

張 雷,黃亞萍,楊 覓

(江蘇省基礎(chǔ)地理信息中心,江蘇 南京 210013)

由于專題地圖集制作周期較長(zhǎng),最初設(shè)計(jì)時(shí)用到的數(shù)據(jù)一般不是最終數(shù)據(jù),因此需要出版前更換為最終數(shù)據(jù),這為地圖制作帶來了繁重的工作量。本文通過分析專題地圖中統(tǒng)計(jì)數(shù)據(jù)與圖形之間的關(guān)系,利用VBA對(duì)CorelDraw進(jìn)行二次開發(fā),建立圖形和外部數(shù)據(jù)庫(kù)的關(guān)聯(lián),實(shí)現(xiàn)了專題地圖的自動(dòng)更新,有效減少了專題地圖制作過程中多次更新數(shù)據(jù)所帶來的繁瑣的人工勞動(dòng)。

CorelDraw;VBA;專題地圖

一、引 言

專題地圖是按照地圖主題的要求,突出而完善地表示與主題相關(guān)的一種或幾種要素,從而使地圖成為內(nèi)容專題化、用途專門化的地圖。

準(zhǔn)確實(shí)時(shí)的數(shù)據(jù)是編制專題地圖的前提條件。專題圖均由定量數(shù)據(jù)根據(jù)一定的規(guī)則生成,用于清晰地表達(dá)現(xiàn)象、觀點(diǎn)、趨勢(shì)等。

統(tǒng)計(jì)數(shù)據(jù)具有實(shí)效性。專題地圖制作周期較長(zhǎng),在開始設(shè)計(jì)制作時(shí)使用的最新數(shù)據(jù)往往不是最終數(shù)據(jù),因此在專題地圖制作完成后需要替換為最新數(shù)據(jù),其工作量基本相當(dāng)于利用新數(shù)據(jù)重新制作。本文主要解決多次利用較新數(shù)據(jù)更新專題地圖內(nèi)容的問題。

二、開發(fā)環(huán)境介紹

CorelDraw軟件是加拿大Corel公司開發(fā)的一款通用的基于矢量的圖形制作軟件,在平面設(shè)計(jì)、地圖制圖、服裝設(shè)計(jì)等行業(yè)中應(yīng)用廣泛。CorelDraw支持Visual Basic語(yǔ)言的二次開發(fā)功能,用戶可以在一定程度上通過VBA操作CorelDraw的對(duì)象,通過程序開發(fā)實(shí)現(xiàn)個(gè)性化的功能。

CorelDraw VBA是VB的子集,是一種標(biāo)準(zhǔn)宏語(yǔ)言,是面向?qū)ο蟮母叨燃傻拈_發(fā)環(huán)境,在 Corel-Draw內(nèi)部運(yùn)行。

CorelDraw VBA有特殊的數(shù)據(jù)類型,可以實(shí)現(xiàn)計(jì)算機(jī)制圖中常用的基本函數(shù),如畫線、畫圓、畫面、面域填充和文字標(biāo)注等基本命令。對(duì)象分為以下幾類:應(yīng)用程序(Application)類、文檔(Document)類、組織結(jié)構(gòu)(Organizing)類、圖元(Entity)類。Corel-Draw中對(duì)象模型的結(jié)構(gòu)如圖1所示。

圖1 CorelDraw對(duì)象模型

三、基于統(tǒng)計(jì)數(shù)據(jù)的專題內(nèi)容自動(dòng)更新實(shí)現(xiàn)方法

專題地圖的原始數(shù)據(jù)主要由專業(yè)部門或統(tǒng)計(jì)部門提供,大多為表格數(shù)據(jù)?;A(chǔ)地圖數(shù)據(jù)一般為圖形數(shù)據(jù),包括點(diǎn)狀要素、線狀要素和面狀要素。下面就如何基于統(tǒng)計(jì)數(shù)據(jù)更新地圖基本要素予以說明。

1.專題地圖要素更新方法

CorelDraw本身不具備數(shù)據(jù)庫(kù)功能,不能像GIS軟件一樣通過改變對(duì)象屬性來修改對(duì)象的可視化效果。為了達(dá)到GIS軟件操作的效果,只能通過VBA二次開發(fā)實(shí)現(xiàn)圖形對(duì)象與外部數(shù)據(jù)的關(guān)聯(lián)。當(dāng)數(shù)據(jù)改變時(shí),通過執(zhí)行命令就可以方便地實(shí)現(xiàn)圖形的顏色、大小、形狀等屬性的修改,從而達(dá)到快速更新專題地圖內(nèi)容的目的。下面以人口專題為例說明專題地圖內(nèi)容更新方法。

(1)基礎(chǔ)地圖處理

基礎(chǔ)地圖是專題圖的基礎(chǔ),對(duì)專題圖集起到至關(guān)重要的作用。每幅專題圖根據(jù)不同數(shù)據(jù)對(duì)地圖要素的色彩、大小、形狀進(jìn)行變化而成。如分級(jí)統(tǒng)計(jì)圖表法根據(jù)顏色分級(jí),在建立基礎(chǔ)地圖時(shí)通過對(duì)象數(shù)據(jù)管理器為面狀對(duì)象添加屬性,也可以在導(dǎo)入其他格式的基礎(chǔ)地圖數(shù)據(jù)時(shí)使圖形對(duì)象與外部數(shù)據(jù)關(guān)聯(lián)。為基礎(chǔ)地圖要素添加屬性如圖2所示。

圖2 為圖形添加屬性

(2)數(shù)據(jù)庫(kù)的建立

通過對(duì)象數(shù)據(jù)管理器,可以為點(diǎn)、線、面添加屬性,如名稱、級(jí)別等,使之對(duì)應(yīng)于數(shù)據(jù)庫(kù)中相應(yīng)的字段。

根據(jù)表達(dá)需要,專題地圖屬性數(shù)據(jù)描述精度分為定性數(shù)據(jù)和定量數(shù)據(jù),本文主要針對(duì)定量數(shù)據(jù),選用Excel數(shù)據(jù)庫(kù)模型。

通過分析數(shù)據(jù)源,確認(rèn)圖形與數(shù)據(jù)庫(kù)的關(guān)聯(lián)字段,根據(jù)圖形表現(xiàn)方式確定數(shù)據(jù)結(jié)構(gòu),包括字段數(shù)量和字段類型。通過計(jì)算、取舍、輸入記錄來建立與圖形對(duì)應(yīng)的數(shù)據(jù)庫(kù)。同一數(shù)據(jù)庫(kù)可關(guān)聯(lián)多幅地圖。數(shù)據(jù)庫(kù)建立見表1。

(3)基礎(chǔ)地圖圖形與數(shù)據(jù)庫(kù)的關(guān)聯(lián)

專題圖的表示方法多種多樣,不可能采用同一個(gè)數(shù)學(xué)模型來滿足所有專題圖需要,因此,需要針對(duì)每種方法設(shè)計(jì)對(duì)應(yīng)的數(shù)學(xué)模型。本文介紹的方法只可作為建立數(shù)學(xué)模型的借鑒,不可直接拿來使用,除非與本文專題圖實(shí)例具有相同的需求。

表1 數(shù)據(jù)庫(kù)建立

表1數(shù)據(jù)庫(kù)中圖形建立了與色號(hào)的對(duì)應(yīng)關(guān)系。包含色號(hào)字段的顏色表是實(shí)際需要的顏色值,如圖3所示。通過表1、圖3即可實(shí)現(xiàn)圖形與填充顏色的關(guān)聯(lián),通過運(yùn)行VBA程序,將自動(dòng)更換圖形的填充顏色。

圖3 顏色對(duì)應(yīng)表

(4)圖形更新

由上可知,當(dāng)某些區(qū)域的人口數(shù)據(jù)發(fā)生了變化,通過程序?qū)⒆詣?dòng)更新表1中“色號(hào)”字段的值;再通過VBA程序的運(yùn)行調(diào)用修改后的數(shù)據(jù),獲得正確的顏色值等信息,從而改變圖形的顏色、形狀、大小等。整體流程如圖4所示。

圖4 專題地圖更新流程

(5)地圖中點(diǎn)狀要素符號(hào)的更新

專題圖中表示數(shù)量關(guān)系一般采用圓形、柱狀圖、餅狀圖等大小、形狀或顏色。下面以圓形為例介紹一種點(diǎn)狀要素符號(hào)的更新方法。該類符號(hào)首先要確定最大和最小半徑,然后按照比率計(jì)算不同要素對(duì)應(yīng)的大小。通過數(shù)據(jù)庫(kù)獲得對(duì)應(yīng)數(shù)據(jù),利用VBA功能繪制大小不同的圓形符號(hào),如圖5所示。

圖5 點(diǎn)狀符號(hào)更新

圓形符號(hào)更新的VBA程序的主要語(yǔ)句如下:

2.統(tǒng)計(jì)圖表更新方法

統(tǒng)計(jì)圖表也是專題地圖集編制中應(yīng)用較多的內(nèi)容之一。制作統(tǒng)計(jì)圖表的軟件很多,如 Illustrator、ArcGIS、Excel等。相比來說 Excel表現(xiàn)形式最豐富,使用方便;但不足之處是弧線轉(zhuǎn)入 CorelDraw后,鋸齒現(xiàn)象比較明顯,而且顏色模式為RGB色彩模式,需要進(jìn)一步加工處理,如圖6所示。

圖6 Excel生成圖表

為了解決這個(gè)問題,筆者在CorelDraw中使用VBA程序制作。下面以立體餅圖為例介紹VBA程序開發(fā)過程。

(1)數(shù)據(jù)規(guī)范化

為了VBA對(duì)數(shù)據(jù)的正確調(diào)用,必須對(duì)數(shù)據(jù)進(jìn)行規(guī)范化處理,主要解決處理數(shù)據(jù)類型和數(shù)據(jù)對(duì)應(yīng)位置(哪一列),如圖7所示。

圖7 數(shù)據(jù)整理

(2)圖表生成

根據(jù)規(guī)范化數(shù)據(jù),利用VBA程序代碼即可實(shí)現(xiàn)餅狀圖的生成,主要源代碼如下:

功能1:通過設(shè)置半徑,自動(dòng)繪制圓形,并轉(zhuǎn)換成圓形曲線:

功能2:按照各行數(shù)據(jù)所占比例,計(jì)算對(duì)應(yīng)圓弧上的弧段長(zhǎng)度,并根據(jù)長(zhǎng)度依次切斷圓形曲線,得到一組與數(shù)據(jù)對(duì)應(yīng)的弧段組:

功能3:遍歷弧段組,將弧段首結(jié)點(diǎn)連接圓心,閉合弧段:

代碼中pieShape為最終生成的餅狀圖。

圖表生成功能運(yùn)行界面如圖8所示。

圖8 圖表生成功能運(yùn)行界面

四、已有圖形數(shù)據(jù)的轉(zhuǎn)換和使用

在專題地圖集編制工作中,合作單位或相關(guān)部門一般已有基礎(chǔ)性圖形數(shù)據(jù),主要包括GIS數(shù)據(jù)和圖形數(shù)據(jù)。CorelDraw能夠兼容 DXF、EPS、CMX、AI、JPG、TIFF等多種數(shù)據(jù)格式,為數(shù)據(jù)轉(zhuǎn)換提供了可行性。

常見的GIS數(shù)據(jù)有MapGIS和ArcGIS數(shù)據(jù)等,其他GIS數(shù)據(jù)都可以轉(zhuǎn)換為ArcGIS數(shù)據(jù)。如果要在CorelDraw中使用GIS數(shù)據(jù),可采用兩種方式轉(zhuǎn)換:一是通過開發(fā)程序直接讀取GIS數(shù)據(jù),然后按CorelDraw能夠讀取的格式導(dǎo)出,CorelDraw即可以直接導(dǎo)入;二是把GIS數(shù)據(jù)轉(zhuǎn)換為自定義文件格式,由CorelDraw的VBA程序讀入自定義格式。

五、結(jié)束語(yǔ)

CorelDraw軟件是地圖制圖領(lǐng)域使用較廣的軟件,其較強(qiáng)的圖形處理功能和完美的特效是其他軟件難以比擬的,但是其在GIS功能上的先天不足也給地圖制圖帶來了較多的障礙,通過VBA二次開發(fā)在一定程度上輔助解決了部分快速制圖的問題。本文所述方法在《江蘇省地圖集》專題地圖的編制中發(fā)揮了很大作用,避免了數(shù)據(jù)更新的重復(fù)勞動(dòng),原來需要幾個(gè)月才能完成的工作,現(xiàn)在只需兩三天,且大大減少了人為錯(cuò)誤,不僅提高了生產(chǎn)效率,而且為工作的開展贏得了寶貴的時(shí)間。

[1] 黃仁濤,龐小平,馬晨燕.專題地圖編制[M].武漢:武漢大學(xué)出版社,2003:48-49.

[2] 麥照秋,韓雪華.GIS數(shù)據(jù)用于CorelDraw地圖制圖方法的研究[J].測(cè)繪通報(bào),2008(2):62-64.

[3] 曾克明.CorelDraw軟件的二次開發(fā)在地圖制圖中的應(yīng)用與實(shí)例[J].測(cè)繪通報(bào),2010(8):60-61,73.

[4] 高小明,湯青慧,溫俊麗.CorelDraw中基于VBA的二次開發(fā)[J].測(cè)繪與空間地理信息,2006,29(6):54-56.

[5] 顏振宇.CorelDraw X5中基于VBA實(shí)現(xiàn)線漸變的技術(shù)研究[J].測(cè)繪與空間地理信息,2012,35(11):202-204.

[6] 張榮茜,熊亮.CorelDraw12環(huán)境下VBA二次開發(fā)實(shí)現(xiàn)圖形變換[J].電腦編程技巧與維護(hù),2008(6):65-68.

[7] 鐘煒.利用CorelDraw VBA開發(fā)宏程序繪制地圖[J].江西測(cè)繪,2007,69(3):4-6.

[8] 王瑞璋.基于CorelDraw的二次開發(fā)技術(shù)在地圖制圖中的應(yīng)用[J].測(cè)繪與空間地理信息,2013,36(3):173-175.

[9] 楊穗,易捷.應(yīng)用VB或VBA對(duì)CorelDraw進(jìn)行二次開發(fā)[J].電腦學(xué)習(xí),2004,2(1):31-33.

[10] 張青梅,黃玉英,宋華明.基于CorelDraw的地圖編繪技術(shù)研究[J].科技資訊,2012(20):46-48.

Real-time Presentation Research of Thematic Maps Based on CorelDraw

ZHANG Lei,HUANG Yaping,YANG Mi

P285

B

0494-0911(2014)12-0118-04

張雷,黃亞萍,楊覓.CorelDraw平臺(tái)下專題地圖實(shí)時(shí)展現(xiàn)的研究[J].測(cè)繪通報(bào),2014(12):118-121.

10.13474/j.cnki.11-2246. 2014.0414

2014-04-28;

2014-06-30

江蘇省測(cè)繪科研資助項(xiàng)目(JSCHKY201320)

張 雷(1973—),男,陜西富平人,高級(jí)工程師,主要從事地圖編制工作。

猜你喜歡
專題地圖二次開發(fā)制圖
無聲手槍如何消音?
淺談基于Revit平臺(tái)的二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
基于數(shù)據(jù)庫(kù)的專題地圖編制問題探討
基于數(shù)據(jù)庫(kù)的專題地圖編制問題探討
基于CorelDRAW與MAPGIS的專題地圖制作技巧
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
小明巡山記
二向反射模型在土地覆被制圖中的應(yīng)用
工程制圖課程教學(xué)改革探析
杭州市| 博乐市| 舒城县| 闽侯县| 克山县| 花莲市| 灌阳县| 修水县| 泸州市| 永嘉县| 双峰县| 治多县| 张家港市| 泸定县| 丘北县| 台中县| 梁山县| 普陀区| 伊金霍洛旗| 楚雄市| 天等县| 宁津县| 蓬莱市| 南通市| 宁河县| 清远市| 洮南市| 紫阳县| 晋江市| 柳州市| 忻州市| 宝丰县| 梅河口市| 普格县| 沈阳市| 聂荣县| 合肥市| 龙口市| 宿州市| 云和县| 太仆寺旗|