999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CorelDraw線狀地圖符號庫的設計

2017-06-21 15:04:16郭慶勝魏智威柳其志
測繪工程 2017年7期
關鍵詞:符號設計

劉 洋,郭慶勝,魏智威,柳其志,魏 嘉

(武漢大學 資源與環(huán)境科學學院,湖北 武漢 430079)

CorelDraw線狀地圖符號庫的設計

劉 洋,郭慶勝,魏智威,柳其志,魏 嘉

(武漢大學 資源與環(huán)境科學學院,湖北 武漢 430079)

在CorelDraw中繪制有些線狀地圖符號需要使用程序控制,無法直接調用CorelDraw的線狀符號繪制功能。文中基于圖元組合的思想,依據CorelDraw軟件的特點,對常用地圖中的線狀符號進行分類、組織和存儲,建立相應的線狀地圖符號庫,設計專門的線狀地圖符號編輯器,實現對線狀地圖符號的統一編輯與管理,并且為不同類型的線狀地圖符號繪制設計相應的算法,最后利用CorelDraw提供的VBA二次開發(fā)環(huán)境實現文中所提出的方法,實驗效果很好,可滿足地圖生產的需要。

符號庫;圖元;線狀地圖符號;編輯器

地圖上表示各種復雜的自然和人文現象都是通過地圖語言來實現,通常分為地圖符號、注記和色彩;相比于其它幾種地圖語言,地圖符號表達地圖內容形象直觀、一目了然,因而對于符號的研究和設計是地圖學的基本問題之一。由于計算機技術的發(fā)展,很多制圖工作都需要借助計算機進行完成,因而研究和設計的符號要在計算機中進行繪制。目前,計算機中地圖符號繪制的主要途徑可以分為兩大類[1]:一是在現有的軟件基礎上利用其所提供的二次開發(fā)環(huán)境進行符號的設計,如ArcGis,AutoCAD,Coreldraw等軟件均提供了可以供用戶調用的編程接口,這種方法的優(yōu)點是開發(fā)過程簡單,并且可以利用系統本身的圖形編輯功能,缺點是符號繪制受到系統自身功能的限制,且符號庫的獨立性較差;二是利用程序語言開發(fā)獨立的符號設計平臺,如目前流行的COM技術等[2],其優(yōu)點是符號設計平臺獨立、符號共享性較好,缺點是許多符號繪制功能需要從底層進行設計,開發(fā)過程較為復雜[3]。在地圖符號繪制的過程中,線狀地圖符號的繪制需要考慮多種情況,程序設計算法復雜,操作運算量大,耗費時間較長,因此,線狀地圖符號的繪制是地圖符號繪制過程中的重點問題[4]。對于線狀地圖符號的繪制,已有許多學者進行過相關的研究,目前繪制線狀地圖符號的主要算法有:縱向疊加法,即將線符號分成幾層,然后每層單獨繪制;橫向循環(huán)配置法,將重復出現的基本圖元沿定位線進行循環(huán)配置;程序塊法,即為每種不同的符號編寫單獨的繪制函數[3],這幾種算法均有其不足之處,如縱向疊加法難以繪制一些不易分解為不同層的符號(如河流等),橫向循環(huán)配置法在拐角處存在符號變形且效率較低,程序塊法使程序過于復雜臃腫且不利于符號的擴充;因此,在一般的線狀地圖符號的繪制過程中,往往將這幾種方法結合起來使用。

本文基于圖元組合的思想,利用CorelDraw所提供的VBA二次開發(fā)環(huán)境,對地圖中常用的線狀符號進行分類、組織、存儲,建立相應的線狀地圖符號庫,并且采用圖元組合及程序塊的方式為不同類型的線符號設計相應的繪制算法,設計專門的線狀符號編輯器,對各類線符號進行統一編輯與管理,供制圖人員進行編輯和調用。

1 Coreldraw繪制地圖符號的局限性

雖然Coreldraw是一款出色的圖形設計軟件,但它并不是一款專業(yè)的地圖制圖軟件,在繪制地圖符號時存在一定的局限性:例如對于線符號來說,Coreldraw雖然提供了一定數量的內置線型,但對一些較為復雜的線符號,不能從系統中直接調用,例如對防洪堤的繪制,需要逐個節(jié)點的添加短線并通過手動旋轉的方式使其與基線垂直,如圖1所示的防洪堤符號,這樣就使得這類符號的繪制過程十分繁瑣,增加制圖人員的工作量。另外,在繪制在建高速公路時,常常需要將兩條或更多的寬度不等的虛線疊加在一起,這時由于Coreldraw系統自身的規(guī)定,疊加的虛線中虛線部分的長度必須是虛線自身寬度的整數倍,如果對于不同寬度的虛線設置相同的線樣式,就會使不同的虛線之間產生壓蓋,導致繪制錯誤。如圖2所示的在建高速公路符號繪制時出錯。

圖1 防洪堤符號

圖2 高速公路符號

針對前面所提到的問題,一些學者提出相應的解決方法[7-9],但是往往只是針對某幾個特殊的符號,沒有對符號進行較為系統的分類,并且沒有形成一個能夠統一對線符號進行編輯與調用的平臺。

2 Coreldraw線狀地圖符號庫的構建

2.1 圖元分類

關于地圖符號的繪制,有很多學者采用基于圖元的方式進行[1-6,10-12]。圖元法將地圖符號看做一定數量的組成單元(圖元)的集合,通過定義不同的圖元類型,改變圖元自身的參數及圖元間的組合方式得到不同類型的地圖符號。

依據圖元的幾何特征可以將圖元分為點圖元、線圖元和面圖元三類[6]。點狀圖元的分類比較簡單,一般依據其幾何特征可以分為:點、折線、圓、圓弧、多邊形等幾種類型的基本圖元類型。線狀符號的基本圖元已有學者做了大量的研究,如程朋根等[6]針對地形圖圖式線狀符號,設計出組成線狀符號的基本圖元有:實線、虛線、點虛線、雙虛線、雙實線、連續(xù)點符號、定位點符號、導線連線、導線點符號、齒線狀符號、漸變寬實線、漸變寬虛線、帶狀暈線等共13種圖元。

由于一般的圖元分類比較復雜,本文依據Coreldraw的自身特點將圖元分為3種:長線圖元、短線圖元、點狀圖元。

2.2 Coreldraw線狀地圖符號的分類

在Coreldraw環(huán)境下圖元分類的基礎上,需要對Coreldraw中的線狀地圖符號進行分類,這里的線狀符號主要是指那些不能直接從Coreldraw系統中調用出來的符號,依據其圖元構成的不同可以分為以下四類:

1)第一種線符號:由一種或幾種長線圖元疊加組成,如高速公路等。

2)第二種線符號:由一條或幾條長線圖元上按一定規(guī)則排列的短線圖元得到,如防洪堤等。

3)第三種線符號:由在長線圖元上按一定規(guī)則排列的點狀圖元構成,如溝渠符號。

4)其他線符號:主要指那些不能夠通過圖元組合的方式得到的符號,包括河流、橋梁、長城等特殊符號。

各類典型符號及其構成方式如表1所示。

2.3 Coreldraw線狀地圖符號庫的構建

對于抽象出的各類線狀地圖符號需要進行組織和存儲。本文采用面向對象的思想對線狀地圖符號進行組織[6],將一個線符號看做是一個對象,這個對象是由一個記錄這個線符號基本信息的抽象對象(LineSymbol對象)和多個相同或不同類型的圖元對象組成而得到的復雜對象,每一個對象都有其相應的屬性和方法,其中,抽象的LineSymbol對象的屬性包括線符號的ID、線符號類型、組成圖元等基本信息,而每一個圖元對象的屬性則包括ID和在符號化的過程中所需用到的所有屬性。

線狀地圖符號采用ACCESS表的形式進行存儲,分為一張母表和多張從表,其中,母表用來存儲LineSymbol對象的屬性,母表的結構如表2所示。

表2 母表的結構

每一種類型的圖元分別對應一張從表,每張從表的每個字段分別用來存儲圖元的編號和屬性,對于像橋梁、長城這類符號,不能通過前幾種圖元組合得到,這時采用程序塊進行繪制,存儲其在繪制過程中的所有必要參數。各類不同類型的圖元及其屬性如表3所示。各類程序符號及其控制參數如表4所示。

表3 不同類型的圖元及其屬性

通過以上對Coreldraw中常用地圖符號的組織和存儲,即完成對Coreldraw下地圖符號庫的構建,符號庫中的典型符號如圖3所示。

表4 各類程序符號及其控制參數

圖3 符號庫中的典型符號

3 Coreldraw線狀地圖符號繪制

在Coreldraw線狀地圖符號庫的基礎上,進行線狀地圖符號繪制算法的設計,算法主要分為兩大類:第一大類主要針對那些能夠由基本圖元構成的線狀地圖符號,如由長線圖元與短線圖元構成的堤壩類符號、由長線圖元與點狀圖元構成的溝渠類符號等;第二大類算法則主要針對那些不能通過基本圖元間的組合得到的特殊線狀地圖符號,如河流、橋梁、長城等線狀地圖符號。

對于第一類算法,其基本思想是對于要繪制的線符號,首先從數據庫主表中讀取線符號ID、線符號類型及其相應的組成圖元等信息,然后根據獲取的線符號類型及線符號的組成圖元,讀取每張相應的從表中的圖元信息,最后根據不同的線符號類型選擇相應的符號化方法即可。以堤壩類符號的繪制為例,算法的流程如圖4所示。

圖4 堤壩繪制流程

對于那些不能通過基本圖元間的組合得到的特殊線狀地圖符號,一般采用程序塊的方法進行繪制 ,本文對河流、橋梁、長城及在建高速公路等符號均設計了專門的符號化程序,其中,河流的繪制主要包括兩個部分:對整個河流圖層的繪制和對單條河流的繪制,在對整個河流圖層的繪制前要首先對河流數據進行預處理,包括確定河系的主流、判斷河流的方向、劃分河流的等級及對河流進行編碼,這一部分在ArcGIS中完成,然后將整理好后的河流數據導入到Coreldraw中進行符號化;對單條河流的繪制在Coreldraw中一般采用將曲線在結點處打斷,然后對打斷后的每一個小段逐個設定寬度的方式,本文在此基礎上開發(fā)了相應的自動化程序,實現了河流的自動漸變,并且在漸變的過程中考慮到了漸變是否光滑的問題,設計了相應的算法,使?jié)u變效果更加美觀;橋梁的繪制則是首先按橋梁長度生成一條原始曲線,然后將曲線向兩側偏移1/2個橋梁寬度并將原始曲線刪除,最后在得到的兩條直線兩端生成四條短線;長城的繪制則是先將曲線等分并畫垂線,然后連接第一條垂線與第二條垂線的首端點、第三條垂線與第四條垂線的尾端點,依次類推,最后刪除原始曲線得到長城符號;在建高速公路的繪制需獲取設定的道路寬倍數和邊線寬倍數,然后計算兩者的最小公倍數,根據設定的樣式和這個最小公倍數分別計算得到邊線、道路、中心線的實線和虛線的長度,最后將邊線、道路、中心線疊加就得到在建高速公路?,F以河流符號的繪制為例,給出算法的流程如圖5、圖6所示。

圖5 單條河流繪制流程

圖6 河流圖層繪制流程

4 Coreldraw線狀地圖符號編輯器的設計與實現

為方便制圖人員的操作,本文設計了專門的線狀地圖符號編輯器,實現對各種線型的編輯與管理,編輯器的界面如圖7所示,在界面的左上角可以選擇要符號化的圖層,左側的ListView顯示系統提供的所有線符號,中間的ListView則顯示選中的線符號的組成部分,最右側的一列則提供對線符號的編輯與功能,可以對選中的線符號的組成部分進行編輯,針對不同類型的線型提供相應的編輯方法,能夠將編輯的結果保存到數據庫中,并且能夠選擇某個線圖層,對所選圖層進行符號化。線編輯器的詳細功能如下:

1)選擇要編輯的線符號: 在主界面最左側預覽的線符號中選擇一種要進行編輯的線型,然后會在中間的ListView控件中顯示其組成部分,點擊其中的一個組成部分,再點擊Advanced Edit進行進一步的編輯,調出相應的編輯器。

2)對第一種線符號進行編輯:將調用Coreldraw中自帶的輪廓筆編輯器,對線的寬度、顏色、樣式等進行編輯,并將結果返回到臨時圖層進行預覽。

3)對第二種線符號進行編輯:調用自定義的編輯器,對短線的各種屬性進行編輯,其中方向屬性是預先設定好的不可更改,單元間間隔表示兩個短線間的間距,偏移是指短線距離下方定位線起點的距離,顏色編輯需要調用系統的輪廓筆對短線設定顏色,編輯好后點擊確定,即可在臨時圖層中預覽編輯情況。

4)對第三種線符號進行編輯:調用自定義的編輯器,可以編輯點狀圖元的寬度高度和單元間隔,用戶也可以導入更多的已經設計好的符號。

5)對河流進行編輯:調用自定義的編輯器,可以編輯河流的最大寬度、最小寬度、漸變寬度,改變河流的方向與顏色。

6)對橋梁線符號進行編輯:調用自定義的編輯器,可以編輯橋梁的寬度、橋梁中小短線的角度和長度,也可以編輯使橋梁具有一個矩形顏色塊。

7)對長城線符號進行編輯:調用自定義的編輯器,可以編輯長城符號中短線的長度和間隔,使長城看起來更寬或更窄。

8)對在建高速公路線符號進行編輯:調用自定義的編輯器,編輯基線寬度、道路寬倍數和邊線寬倍數,得到不同的在建高速公路符號樣式。

9)保存線符號:符號編輯好后進行保存,將符號參數保存到本地數據庫中。

10)符號化:選定圖層并編輯好符號后點擊符號化按鈕,可以在界面中即時查看符號化的過程。

從1∶70萬的安徽省政區(qū)圖中截取部分數據進行符號化實驗,符號化的效果如圖8所示。

圖7 線編輯器主界面

圖8 實驗圖

5 結束語

將圖元法應用于Coreldraw環(huán)境下的線狀地圖符號繪制,在對圖元符號進行分類與組織的基礎上,建立Coreldraw線狀地圖符號庫,所開發(fā)的軟件能有效解決人工繪制符號時效率低下的問題,提高制圖人員的工作效率。如果制圖人員對某一圖層的符號化效果不滿意,還可通過編輯器選擇相應的符號進行編輯,用編輯好后的符號對特定圖層進行符號化。

[1] 張園玉,李霖,龍毅,等. 地圖符號系統的設計與實現[J]. 測繪信息與工程, 2004, 29(6): 25-27.

[2] 王偉,張波,殷贛華,等. 基于COM技術的地圖符號庫結構設計與實現[J]. 武漢大學學報(信息科學版), 2002,27(3): 296-300.

[3] 姜琦,周曉光,曾聯斌,等. 可編輯復雜線狀符號庫的設計與實現[J]. 地理信息世界, 2012(2): 75-80.

[4] 吳小芳,杜清運,徐智勇,等. 復雜線狀符號的設計及優(yōu)化算法研究[J]. 武漢大學學報(信息科學版), 2006,31(7): 632-635.

[5] 車森,孫群,劉海硯. 參數控制的地圖符號編輯器設計[J]. 武漢大學學報(信息科學版),2013,38(11): 1326-1329.

[6] 程朋根,龔健雅,眭海剛. GIS中地圖符號設計系統的設計與實現[J]. 中國圖像圖形學報, 2000, 5(12): 1006-1011.

[7] 姚興海,馬秋云. 基于CorelDRAW的地圖符號庫建庫[J]. 測繪通報, 2003(2): 36-38.

[8] 喬俊軍,房雪玲,張海文. 基于CorelDRAW的制圖要素符號化研究[J]. 測繪與空間地理信息, 2013(8): 30-33.

[9] 尹言軍,孔令華,黃海濤. 基于CorelDRAW VBA的地圖制圖符號化程序設計[J]. 勘察科學技術, 2013(1): 51-52.

[10] 蔡忠亮,李霖. 普通地圖符號的全開放式設計[J]. 武漢測繪科技大學學報, 1999(3): 259-261.

[11] 談曉軍,邊馥苓,何忠煥. 地圖符號可視化系統的面向對象設計與實現[J]. 測繪通報,2003(1): 11-13.

[12] 梅洋,李霖. 顧及符號關系處理的地圖符號庫設計與實現[J]. 測繪通報, 2007(8): 66-70.

[責任編輯:張德福]

Design of linear cartographic symbol based on CorelDraw

LIU Yang, GUO Qingsheng, WEI Zhiwei, LIU Qizhi, WEI Jia

(School of Resource and Environment Science,Wuhan University,Wuhan 430079,China)

Drawing some linear cartographic symbols needs to be controled by program, because the plotting function of linear symbols can not be adopted directly from CorelDraw. According to the characteristics of CorelDraw, the study is based on the conception of graphical element composition. The commonly-used linear cartographic symbols are categorized, organized and stored, the relevant symbol base of linear cartographic symbols is established, the special editor is designed, the uniform editing and management is realized, and the algorithms are designed. Finally the method proposed is realized by taking advantage of secondary developmental environment of VBA in CorelDraw, and the result of the experiments proves to meet the needs of map production.

symbol base; primitive; linear cartographic symbol; editor

著錄:劉洋,郭慶勝,魏智威,等.CorelDraw線狀地圖符號庫的設計[J].測繪工程,2017,26(7):66-70,75.

10.19349/j.cnki.issn1006-7949.2017.07.014

2016-10-25

國家自然科學基金資助項目(41471384); 安徽省國土資源科技項目(2015-k-17)

劉 洋(1991-),男,碩士研究生.

P208

A

1006-7949(2017)07-0066-05

猜你喜歡
符號設計
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
“+”“-”符號的由來
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
變符號
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
倍圖的全符號點控制數
圖的有效符號邊控制數
主站蜘蛛池模板: 国产免费黄| 9999在线视频| 色国产视频| 国产xx在线观看| 天天综合网色中文字幕| 第一页亚洲| 亚洲一道AV无码午夜福利| 亚洲日本精品一区二区| 久操中文在线| 国内精品自在自线视频香蕉| 国产第一页屁屁影院| 精品福利网| 日本免费一级视频| 亚洲AV无码久久天堂| 青青草原国产av福利网站| 久久国产精品夜色| 囯产av无码片毛片一级| 日韩毛片基地| 性色一区| 性色生活片在线观看| 亚洲第一av网站| 亚洲综合色婷婷中文字幕| 午夜视频日本| 免费无码又爽又黄又刺激网站| 无码中文AⅤ在线观看| 日韩精品无码免费专网站| 国产一区免费在线观看| 亚洲色图在线观看| 国产精品视频免费网站| 中文字幕不卡免费高清视频| 久精品色妇丰满人妻| 草草影院国产第一页| 国产人人乐人人爱| 999精品在线视频| 国内精品手机在线观看视频| 欧美精品不卡| 亚洲国产成人麻豆精品| 色综合久久综合网| 国产免费好大好硬视频| 五月天综合网亚洲综合天堂网| 黄色网站不卡无码| 免费激情网站| 国产99免费视频| 亚洲国产精品国自产拍A| 精品久久久久久中文字幕女| 欧美一级大片在线观看| 99精品在线看| 成人精品免费视频| 青草视频免费在线观看| 国产激情无码一区二区APP| 亚洲欧美极品| 热99精品视频| 99色亚洲国产精品11p| 无码 在线 在线| 萌白酱国产一区二区| 一本色道久久88综合日韩精品| 欧美日韩国产在线播放| 国产在线观看91精品亚瑟| 国产一级在线播放| 精品国产欧美精品v| 久久国语对白| 无码视频国产精品一区二区| 99久久精品免费看国产电影| 中文字幕中文字字幕码一二区| 欧美另类第一页| 一区二区三区国产精品视频| 欧美日韩va| av一区二区无码在线| 国产对白刺激真实精品91| 国产91小视频在线观看| 一本综合久久| 亚洲妓女综合网995久久| 精品国产乱码久久久久久一区二区| 狠狠躁天天躁夜夜躁婷婷| 精品亚洲欧美中文字幕在线看| 老色鬼久久亚洲AV综合| 国内毛片视频| 直接黄91麻豆网站| 国产精品19p| 亚洲V日韩V无码一区二区| 亚洲床戏一区| 色老头综合网|