• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2014-07-02 00:21:26黃亞萍
      測(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ù),這為地圖制作帶來(lái)了繁重的工作量。本文通過分析專題地圖中統(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ù)所帶來(lái)的繁瑣的人工勞動(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ì)象屬性來(lái)修改對(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ì)算、取舍、輸入記錄來(lái)建立與圖形對(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é)模型來(lái)滿足所有專題圖需要,因此,需要針對(duì)每種方法設(shè)計(jì)對(duì)應(yīng)的數(shù)學(xué)模型。本文介紹的方法只可作為建立數(shù)學(xué)模型的借鑒,不可直接拿來(lái)使用,除非與本文專題圖實(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等。相比來(lái)說 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功能上的先天不足也給地圖制圖帶來(lái)了較多的障礙,通過VBA二次開發(fā)在一定程度上輔助解決了部分快速制圖的問題。本文所述方法在《江蘇省地圖集》專題地圖的編制中發(fā)揮了很大作用,避免了數(shù)據(jù)更新的重復(fù)勞動(dòng),原來(lái)需要幾個(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ā)制圖
      天安門地區(qū)三維立體實(shí)景系統(tǒng)建設(shè)及專題地圖服務(wù)
      無(wú)聲手槍如何消音?
      淺談基于Revit平臺(tái)的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      基于CorelDRAW與MAPGIS的專題地圖制作技巧
      西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
      二向反射模型在土地覆被制圖中的應(yīng)用
      工程制圖課程教學(xué)改革探析
      地震應(yīng)急專題地圖快速化產(chǎn)出研究
      山西地震(2014年3期)2014-09-11 02:09:12
      建筑工程制圖與識(shí)圖專業(yè)人才培養(yǎng)的探討
      河南科技(2014年3期)2014-02-27 14:06:14
      宁乡县| 于田县| 和平区| 灌阳县| 兴仁县| 拜城县| 陇南市| 临澧县| 保康县| 安图县| 烟台市| 东乌珠穆沁旗| 景德镇市| 紫云| 华宁县| 鹤山市| 泸溪县| 文山县| 盘山县| 阜阳市| 乡宁县| 康马县| 曲阳县| 南部县| 手机| 剑川县| 大荔县| 广西| 尉氏县| 京山县| 临颍县| 神木县| 灵寿县| 腾冲县| 叙永县| 施甸县| 潞城市| 长寿区| 平阳县| 绵阳市| 晋江市|