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

?

基于GDI+的地形圖符號(hào)庫中點(diǎn)符號(hào)的設(shè)計(jì)和實(shí)現(xiàn)

2016-03-30 15:12秦佐劉鵬程
城市勘測(cè) 2016年3期
關(guān)鍵詞:弧段定位點(diǎn)拐角

秦佐,劉鵬程

(長沙市規(guī)劃勘測(cè)設(shè)計(jì)研究院,湖南 長沙 410007)

?

基于GDI+的地形圖符號(hào)庫中點(diǎn)符號(hào)的設(shè)計(jì)和實(shí)現(xiàn)

秦佐*,劉鵬程

(長沙市規(guī)劃勘測(cè)設(shè)計(jì)研究院,湖南 長沙410007)

摘要:地形圖符號(hào)庫是數(shù)字化成圖系統(tǒng)與地理信息處理軟件中的一個(gè)重要組成部分。符號(hào)繪制是實(shí)現(xiàn)地圖符號(hào)庫的關(guān)鍵,GDI+作為微軟推出的最新的圖形設(shè)備接口,與之前的GDI相比,具有更加強(qiáng)大的圖形圖像處理功能,給地圖符號(hào)帶來了新的繪制技術(shù)。本文在分析GDI+的基礎(chǔ)上,按照分層的思想歸納了點(diǎn)符號(hào)的構(gòu)成單元,并通過組合GDI+函數(shù)繪制出符號(hào),并在此基礎(chǔ)上提出了一些地圖符號(hào)繪制改進(jìn)的方法。

關(guān)鍵詞:地圖符號(hào);GDI+;點(diǎn)符號(hào);算法優(yōu)化

1引言

隨著新地物的不斷出現(xiàn),對(duì)地形圖圖示進(jìn)行相應(yīng)的增添和修改是一個(gè)非常重要的工作,目前的繪圖軟件均帶有地圖符號(hào)制作功能,已經(jīng)有很多文獻(xiàn)做了這方面的研究,比如利用.NET、SVG、ObjectARX等軟件,但僅局限于在自身軟件平臺(tái)上加以開發(fā),通用性不強(qiáng)[1~4],GDI是Windows系統(tǒng)的重要組成部分,是與設(shè)備無關(guān)的圖形設(shè)計(jì)平臺(tái),因此通用性更強(qiáng)。由于一些特殊地物或者每個(gè)單位要求會(huì)稍有區(qū)別,因此國外的軟件不適合我國的國情需要,不能自定義符號(hào)庫[5]。因此,加強(qiáng)地圖符號(hào)庫的管理,增進(jìn)對(duì)地圖符號(hào)庫設(shè)計(jì)技術(shù)的交流,研究出一套開放式的地圖符號(hào)設(shè)計(jì)與實(shí)現(xiàn)方法,顯得尤為重要[6~8]。本文旨在利用VC++平臺(tái),以GDI+圖形處理接口為基礎(chǔ),開發(fā)出一套參數(shù)化的點(diǎn)符號(hào)制作方法[9,10]。

2點(diǎn)符號(hào)的設(shè)計(jì)

點(diǎn)符號(hào)的設(shè)計(jì)必須研究點(diǎn)符號(hào)的構(gòu)成規(guī)律,并設(shè)計(jì)出能夠描述所有點(diǎn)狀符號(hào)的基本單元。

2.1點(diǎn)符號(hào)的組合形式

對(duì)于簡單幾何圖形的點(diǎn)符號(hào),如圖1所示,均由點(diǎn)、線和圓構(gòu)成。

對(duì)于復(fù)雜的點(diǎn)狀符號(hào),有些沒有明顯的幾何規(guī)律,采用簡單符號(hào)的組成方式難以實(shí)現(xiàn),則需要加入新的描述方式,如填充法,弧段等,如圖2所示。

2.2點(diǎn)符號(hào)的參數(shù)化基本單元

針對(duì)點(diǎn)符號(hào)的圖形特點(diǎn),設(shè)計(jì)了一個(gè)通用的類模板。本文經(jīng)過對(duì)國標(biāo)地形圖圖式[10]中約172個(gè)點(diǎn)符號(hào)進(jìn)行組合分析,設(shè)計(jì)了5種圖素及其描述參數(shù)。

(1)圓:圖素定位點(diǎn)為圓心

描述參數(shù)為:C,X,Y,a,b,counts,angle,filled,

penwidth,r,填充模式。

其中:C:表示該圖素類型是圓;X,Y:代表圖素定位點(diǎn)與符號(hào)定位點(diǎn)的偏移量;a,b:代表圖素旋轉(zhuǎn)點(diǎn)與符號(hào)定位點(diǎn)的偏移量,一般均采用0值,即與符號(hào)定位點(diǎn)一致;counts:代表圖素的個(gè)數(shù);angle:代表圖素整體旋轉(zhuǎn)的角度,以度為單位。;filled:代表圖素是否以指定顏色填充;penwidth:代表畫筆的寬度;r:表示圓的半徑;填充模式:值取1或者0。為1時(shí),圖素的顏色將是畫布背景色;為0時(shí),圖素的顏色為用戶指定的顏色。參數(shù)的幾何構(gòu)成如圖3所示:

(2)弧段:圖素定位點(diǎn)為弧段所對(duì)應(yīng)的圓心

描述參數(shù)為:A,X,Y,a,b,counts,angle,filled,penwidth,r,beginangle,endangle,closed,leftCap,rig htCap,填充模式。

其中:A:表示該圖素類型是弧段;X,Y,a,b,counts,angle,filled,penwidth,r:同上;beginangle:表示弧段的起始角度,以度為單位從X軸順時(shí)針測(cè)量;endangle:表示弧段起始角度和弧線末尾之間的角度,以度為單位;closed:表示是否構(gòu)成封閉的扇形區(qū)域;leftCap:表示圖素的起始線帽;rightCap:表示圖素的結(jié)束線帽;填充模式:同上。參數(shù)的幾何構(gòu)成如圖4所示:

(3)拐角:定位點(diǎn)為拐角點(diǎn)

描述參數(shù)為:L,X,Y,a,b,counts,angle,filled,penwidth,LeftLength,RightLength,LeftAngle,RightAngle,closed,leftCap,rightCap,填充模式。

其中,L:表示該圖素類型是拐角;X,Y,a,b,counts,angle,filled,penwidth:同上;LeftLength:代表拐角圖素的左邊長;RightLength:代表拐角圖素的右邊長;LeftAngle:代表拐角圖素的左邊與x軸(橫軸)水平方向夾角;RightAngle:代表拐角圖素的左邊與x軸(橫軸)水平方向夾角;closed:表示該拐角是否首尾閉合,構(gòu)成封閉的區(qū)域,1表示閉合,0表示不閉合;leftCap,rightCap,填充模式:同上。參數(shù)的幾何構(gòu)成如圖5所示:

(4)矩形:定位點(diǎn)為矩形幾何中心

描述參數(shù)為:R,X,Y,a,b,counts,angle,filled,penwidth,w,h,填充模式。

其中,R:表示該圖素類型是矩形;X,Y,a,b,counts,angle,filled,penwidth:同上;w:代表矩形的寬度;h:代表矩形的高度;填充模式:同上。參數(shù)的幾何構(gòu)成如圖6所示:

(5)等邊三角形:定位點(diǎn)為三角形的

描述參數(shù)為:T,X,Y,a,b,counts,angle,filled,penwidth,Length,填充模式。

其中:T:表示該圖素類型是等邊三角形;X,Y,a,b,counts,angle,filled,penwidth:同上;Length:代表等邊三角形的邊長;填充模式:同上。參數(shù)的幾何構(gòu)成如圖7所示:

2.3點(diǎn)狀符號(hào)的數(shù)據(jù)組織

本文設(shè)計(jì)的點(diǎn)狀符號(hào)數(shù)據(jù)組織格式為:

點(diǎn)狀符號(hào)編碼1;圖素1;圖素2;圖素3;……#符號(hào)名稱1

點(diǎn)狀符號(hào)編碼2;圖素1;圖素2;圖素3;……#符號(hào)名稱2

點(diǎn)狀符號(hào)是由多種圖素按照一定的規(guī)律組合而成的,選擇適當(dāng)?shù)膱D素類型和圖素參數(shù),就能方便地完成點(diǎn)狀符號(hào)的描述。圖1和圖2中所示符號(hào)的圖素選擇情況如表1所示:

確定好圖素的類型和個(gè)數(shù)后,可設(shè)置圖素的參數(shù)值,再按照點(diǎn)狀符號(hào)的數(shù)據(jù)組織方式加以描述,帶有方向性質(zhì)的點(diǎn)符號(hào),如流向,將繪圖時(shí)設(shè)置的角度保存為屬性數(shù)據(jù),再讀入到angle參數(shù)當(dāng)中。本文以獨(dú)立天文點(diǎn)為例,參數(shù)描繪為:

110402;L,0,-2,0,0,1,0,0,1,1.45,1.45,-72,-72,0,16,16;A,0,0,0,0,1,0,1,1,0.3,0,360,0,16,16,0#獨(dú)立天文點(diǎn)

3點(diǎn)符號(hào)的實(shí)現(xiàn)

3.1點(diǎn)符號(hào)的繪制流程

3.2符號(hào)管理器

點(diǎn)符號(hào)管理器中符號(hào)即為設(shè)計(jì)出的圖例,另外,通過點(diǎn)符號(hào)管理器,還可以更改點(diǎn)符號(hào)的類型、顏色和大小設(shè)置。如圖9所示:

4改進(jìn)

在對(duì)面域進(jìn)行符號(hào)化時(shí),點(diǎn)狀符號(hào)的填充一直是個(gè)難點(diǎn)。需要先計(jì)算填充的點(diǎn)狀符號(hào)具體位置,然后根據(jù)符號(hào)樣式繪制。本文的改進(jìn)在于充分利用了GDI+的柵格圖像操作功能,提高了符號(hào)的繪制速度。

在GDI+中有圖形的拷貝函數(shù),能夠完整復(fù)制一張?jiān)趦?nèi)存中已繪制完的位圖,本文利用這一功能設(shè)計(jì)的改進(jìn)方法:先根據(jù)所需要填充的符號(hào)樣式,在內(nèi)存中新建一張適當(dāng)大小的位圖樣圖,最好是點(diǎn)符號(hào)尺寸的最小外接矩形大小,背景色通過Alpha值設(shè)為透明,再讀取填充符號(hào)的描述數(shù)據(jù)加以繪制;確定好填充點(diǎn)的屏幕位置,利用Clone函數(shù),以內(nèi)存中的樣圖為拷貝模板,復(fù)制出一張一模一樣的位圖,再將其繪制到屏幕上。令m_nWidth,m_nHeight分別為點(diǎn)狀符號(hào)最小外接矩形的寬和高,m_CompleteGraphics為屏幕畫板,pt為符號(hào)填充點(diǎn)。步驟如下:

(1)創(chuàng)建內(nèi)存樣圖:m_MryBitmap=new Bitmap(m_nWidth,m_nHeight);

(2)創(chuàng)建內(nèi)存樣圖畫板繪制:m_MerGap=Graphics::FromImage(m_MryBitmap);

(3)創(chuàng)建空白位圖:m_CopyBitmap=new Bitmap(m_nWidth,m_nHeight);

(4)復(fù)制圖形:m_CopyBitmap=m_MryBitmap.Clone();

(5)在屏幕上繪制圖形:m_CompleteGraphics->DrawImage(m_CopyBitmap,pt)。

5總結(jié)

本文提出了組成點(diǎn)狀符號(hào)的5類圖素:圓、拐角、弧段、矩形和等邊三角形,給出了各類圖素的參數(shù)化描述結(jié)構(gòu),同時(shí)設(shè)計(jì)了圖素的組合形式。并把所設(shè)計(jì)的地圖符號(hào)庫成功運(yùn)用于村鎮(zhèn)增量信息更新系統(tǒng)(eVillageUpdateSystem)的開發(fā)中。設(shè)計(jì)改進(jìn)并實(shí)現(xiàn)了提高面域的點(diǎn)狀符號(hào)填充速率的方法。

參考文獻(xiàn)

[1]李青元,李洪省,劉皓晨. GIS符號(hào)庫數(shù)據(jù)模型抽象及其交換格式研究[J]. 武漢大大學(xué)報(bào).信息科學(xué)版,2008,33(6):565~568.

[2]徐擁國,錢佳智,陳榮. 基于.NET的GIS地圖符號(hào)庫的設(shè)計(jì)與實(shí)現(xiàn)[J]. 城市勘測(cè),2016,1:135~137.

[3]高金鋒,陳笑蓉,陳笑媛. 基于SVG的地圖符號(hào)庫設(shè)計(jì)[J]. 貴州大學(xué)學(xué)報(bào)·自然科學(xué)版,2009,26(1):74~76.

[4]張巨林,陳兆煙,謝剛生. 基于ObjectARX的用戶地圖符號(hào)庫系統(tǒng)的設(shè)計(jì)與開發(fā)[J]. 測(cè)繪通報(bào),2013(11):109~111.[5]Colavolpe,Giulio,etal. On map symbol detection for ISI channels using the underboeck observation model[J]. In IEEE communications letters,2005,9(8):720~722.

[6]楊勇,李霖,王紅. 地圖制圖軟件中符號(hào)圖形的研究[J]. 測(cè)繪信息與工程,2007,32(3):46~48.

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

[8]車森,孫群,劉海硯. 線狀地圖符號(hào)設(shè)計(jì)及其制圖表達(dá)研究[J]. 測(cè)繪通報(bào),2013(9):95~97.

[9]秦佐,周曉光,劉軍生等. 基于GDI+的復(fù)雜線狀符號(hào)優(yōu)化算法[J]. 測(cè)繪科學(xué),2011,36(4):183~185.

[10]秦佐. 基于GDI+的地圖符號(hào)庫的設(shè)計(jì)開發(fā)與優(yōu)化[D]. 長沙:中南大學(xué),2010.

[11]國家基本比例尺地圖圖式第1部分:1∶500 1∶1000 1∶2000地形圖圖式[S].

The Design and Realization of Point Symbols in the Topogrphic Map Symbol Database Base on GDI+

Qin Zuo,Liu Pengcheng

(Changsha Planning Survey & Investigation & Design Institute,Changsha 410007,China)

Key words:topograhic symbols;GDI+;point symbols;algorithm optimization

Abstract:Topographic map symbol database is an important part of the digital drawing system and geographic information processing software. Symbol drawing is the key factor of the realization of map symbol database. Compared with the previous GDI,GDI+ has a more powerful image processing function as the latest Microsoft’s graphics device Interface,bringing a new rendering technology. In the paper, the structure units of point symbols are hierarchical summarized based on analysis of GDI+,and then symbols are rendered by the combination of GDI functions. Finally,the method to improve topograhic symbols is proposed.

文章編號(hào):1672-8262(2016)03-63-04

中圖分類號(hào):P208.1

文獻(xiàn)標(biāo)識(shí)碼:B

*收稿日期:2016—02—25

作者簡介:秦佐(1985—),男,工程師,主要從事城市測(cè)繪及地理信息系統(tǒng)研究和應(yīng)用工作。

猜你喜歡
弧段定位點(diǎn)拐角
基于改進(jìn)弧段切點(diǎn)弦的多橢圓檢測(cè)
鋼絲繩支撐波狀擋邊帶式輸送機(jī)物料通過支座的軌跡研究
數(shù)獨(dú)小游戲
交通運(yùn)輸網(wǎng)絡(luò)的二叉堆索引及路徑算法優(yōu)化
Where Is My Home?
電弧增材制造過程的外形控制優(yōu)化
復(fù)雜零件的曲面反求算法及3D打印修復(fù)方法研究
汽車大燈定位方案設(shè)計(jì)研究
我的結(jié)網(wǎng)秘籍
走過那一個(gè)拐角