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

?

通用輕量型標(biāo)圖符號(hào)設(shè)計(jì)方法研究

2015-03-29 02:35魏海平席勝明
測(cè)繪工程 2015年9期
關(guān)鍵詞:文檔符號(hào)圖形

黃 凱,魏海平,張 昊,2,席勝明,3

(1.信息工程大學(xué) 地理空間信息學(xué)院,河南 鄭州450052;2.61243部隊(duì),甘肅 蘭州730020;3.95980部隊(duì),湖北 襄陽(yáng)441021)

計(jì)算機(jī)技術(shù)的快速發(fā)展使得地圖學(xué)發(fā)生質(zhì)的飛越,地圖產(chǎn)品不再局限于傳統(tǒng)的紙質(zhì)地圖,各式各樣的電子地圖已深入人們?nèi)粘;顒?dòng)當(dāng)中。地圖符號(hào)作為地圖語(yǔ)言的一種表現(xiàn)方式,直接影響著用戶使用地圖的認(rèn)知與感受心理。高質(zhì)量的地圖符號(hào)設(shè)計(jì)不僅可以豐富地圖內(nèi)容信息,還可提高地圖的易讀性[1]。電子地圖符號(hào)與傳統(tǒng)地圖符號(hào)比較具有更靈活的設(shè)計(jì)方式,更快速的使用方式以及更人性化的更改方式。為此,本文針對(duì)電子地圖集中標(biāo)圖符號(hào)的特點(diǎn)提出一種實(shí)用的符號(hào)設(shè)計(jì)與使用方法。

1 電子地圖集標(biāo)圖符號(hào)設(shè)計(jì)存在的問題

電子地圖符號(hào)在設(shè)計(jì)上與傳統(tǒng)地圖符號(hào)比較要靈活,電子地圖符號(hào)更為復(fù)雜與多樣化,如何在計(jì)算機(jī)上方便快速的設(shè)計(jì)與使用地圖符號(hào)一直是地圖研究的重點(diǎn)和難點(diǎn)。

標(biāo)圖符號(hào)主要使用于態(tài)勢(shì)標(biāo)繪,它能清晰明了的標(biāo)明敵我雙方部署位置及兵力情況,符號(hào)簡(jiǎn)單,標(biāo)繪速度快,是部隊(duì)進(jìn)行戰(zhàn)斗指揮的重要手段。標(biāo)圖符號(hào)可以看做是由圖元集合組成,所謂的圖元可以分為基本線劃圖形和其他圖形。基本線劃圖形即一般的規(guī)則集合圖形,如點(diǎn)、線、面等;而其他圖形多指圖片、文字等其它用來表示地圖符號(hào)的圖形。通常地圖符號(hào)設(shè)計(jì)使用的方法有3種[2]:①使用位圖文件的方式,將符號(hào)圖片放置在相應(yīng)位置,這種方式數(shù)據(jù)量大且在用戶對(duì)地圖進(jìn)行縮放等操作時(shí)容易出現(xiàn)變形失真現(xiàn)象;②建立電子地圖符號(hào)模型,即為每一個(gè)符號(hào)設(shè)計(jì)專門的算法,此方法工作量大且不利于符號(hào)擴(kuò)展使用;③利用專業(yè)圖形軟件進(jìn)行符號(hào)的設(shè)計(jì),該方法大大減輕了工作量、數(shù)據(jù)量,但使用時(shí)容易造成符號(hào)定位不精確或是符號(hào)大小等屬性不易改變,且該軟件一般不對(duì)公眾開放,造成用戶使用受阻。因此,要解決上述問題,需要一種開放的并且數(shù)據(jù)量較小的方式來描述標(biāo)圖符號(hào) 使得用戶無(wú)論在什么平臺(tái)或環(huán)境中都可以借鑒,以達(dá)到更為方便、通用化的符號(hào)制作效果。

2 標(biāo)圖符號(hào)語(yǔ)義描述方式

2.1 半結(jié)構(gòu)化的符號(hào)描述語(yǔ)言

異構(gòu)信息的整合使用成為信息交換的一個(gè)突出問題,XML正是為解決這個(gè)問題而提出的方案。XML又稱可擴(kuò)展標(biāo)記語(yǔ)言(e Xtensible Mar kup Language),是由W3C組織于1998年2月發(fā)布的一種標(biāo)準(zhǔn),用一種開放的、自描述的方式定義數(shù)據(jù)結(jié)構(gòu)。XML可以同時(shí)描述數(shù)據(jù)內(nèi)容和結(jié)構(gòu)特性,通過這些結(jié)構(gòu)特性,可以了解數(shù)據(jù)之間的語(yǔ)義關(guān)系[3]。

XML文檔都是由元素構(gòu)成,每個(gè)元素都具有“起始標(biāo)記”(如<SVG>)、“結(jié)束標(biāo)記”(如</SVG>)和標(biāo)記之間的信息元素組成。元素可以擁有屬性,且可以包含其他元素和文本或者兩者的混合物。XML文檔中的元素具有樹狀結(jié)構(gòu),可用文檔樹表示。

比較常用的解析XML文檔方法主要有兩種[4],即SAX和DOM。SAX(可擴(kuò)展標(biāo)記語(yǔ)言的簡(jiǎn)單 應(yīng) 用 程 序 編 程 結(jié) 構(gòu)(Si mple API f or X ML,SAX))將XML文檔看做數(shù)據(jù)流,以此對(duì)它進(jìn)行處理,由于SAX在整個(gè)處理過程中不需要在內(nèi)存中構(gòu)建樹的形式,因此它可以在較少消耗內(nèi)存的基礎(chǔ)上快速進(jìn)行處理操作;DOM(Docu ment Object Model,DOM)是把一個(gè)XML文檔表示成一個(gè)節(jié)點(diǎn)對(duì)象樹,然后在內(nèi)存中將文檔樹生成,其中保存了各節(jié)點(diǎn)的關(guān)系信息以及屬性信息。因此,用DOM處理XML文檔較為方便,但若XML文檔數(shù)據(jù)較大,內(nèi)存消耗也相應(yīng)增大。

2.2 結(jié)構(gòu)化的標(biāo)圖符號(hào)描述

標(biāo)圖符號(hào)是基本線劃圖形的組合,可將這些線劃圖形稱為圖元,每一個(gè)完整的符號(hào)都可分解為最基本的圖元,每個(gè)圖元本身具有相應(yīng)的語(yǔ)義信息。這樣,在設(shè)計(jì)標(biāo)圖符號(hào)庫(kù)的時(shí)候,用戶可以根據(jù)線劃圖形的語(yǔ)義結(jié)合符號(hào)結(jié)構(gòu)特點(diǎn)衍生出大量的完整標(biāo)圖符號(hào),大大減小符號(hào)庫(kù)數(shù)據(jù)存儲(chǔ)量的同時(shí)可提供豐富的標(biāo)圖符號(hào)滿足應(yīng)用,實(shí)現(xiàn)方式見圖1。

3 基于SVG格式的標(biāo)圖符號(hào)設(shè)計(jì)

3.1 SVG標(biāo)圖符號(hào)表達(dá)原理

圖1 標(biāo)圖符號(hào)構(gòu)建方式

SVG(Scalable Vector Graphics)是一種基于XML的用來描述二維矢量圖形或者矢量、柵格混合圖形的標(biāo)記語(yǔ)言[5]。SVG提供豐富的圖形對(duì)象,它不單提供文本、線段、圓、矩形、橢圓、折線、多邊形等基本元素,還提供通用的路徑元素,可以實(shí)現(xiàn)對(duì)各種復(fù)雜圖形的描述,具體圖形對(duì)象及屬性描述見表1。

表1 SVG圖形對(duì)象及屬性描述一覽

其中路徑(pat h)元素最為復(fù)雜,但由于電子地圖符號(hào)多具有不規(guī)格的圖形信息,如不規(guī)則曲線等,因此路徑元素也是最有用并且最常用的元素,它實(shí)質(zhì)上是對(duì)路徑的一系列命令操作[6],具體的操作命令見表2。

表2 path元素命令操作對(duì)應(yīng)表

3.2 基于Illustrator軟件快速設(shè)計(jì)標(biāo)圖符號(hào)的方法

Ill ustrator是Adobe公司生產(chǎn)的矢量圖形制作軟件,它具有編輯功能強(qiáng)、整飾效果好、輸出功能完備的特點(diǎn)[7]。在Ill ustrator下使用圖形操作工具可以簡(jiǎn)單方便的繪制圖形,最終只要將所繪圖形文件保存為SVG格式,圖形的狀態(tài)屬性便自動(dòng)保存在所生成的SVG文檔中。圖2為某標(biāo)圖符號(hào),它由矩形、直線、文字和圓形元素組成,用戶可以選擇Illustrator上所提供的圖形工具,當(dāng)繪制完畢后直接保存為SVG文件,則生成基于XML的描述語(yǔ)言(只保留主要部分),其中為使圖形能夠定位精確,可將設(shè)計(jì)后的圖形進(jìn)行編組操作,再使用橢圓工具在需要的位置畫定位點(diǎn),這樣,在起始標(biāo)識(shí)<g>和結(jié)束標(biāo)識(shí)</g>中的語(yǔ)言描述為圖形的主體部分描述,而外部的<circle>為定位點(diǎn)的描述,如此便可快速生成SVG標(biāo)圖符號(hào),供地圖軟件使用。

圖2 SVG格式旗幟符號(hào)

X ML代碼如下:

<?x ml version="1.0"encoding="utf-8"?>

由于神經(jīng)網(wǎng)絡(luò)的方法是利用訓(xùn)練過程提取因果關(guān)系,然后將它存儲(chǔ)到一個(gè)神經(jīng)網(wǎng)絡(luò)模型的連接強(qiáng)度上。網(wǎng)絡(luò)的自組織與學(xué)習(xí)能力消除了提取因果關(guān)系的必要性。

<svg version="1.1"x=".."y=".."widt h=".."height=".."viewBox=".."enable-backgr ound="..">

<g id="符號(hào)">

<rect x=".."y=".."fill=".."stroke=".."str oke-widt h=".."str oke-miterli mit=".."width=".."height=".."/>

<pat h fill=".."str oke=".."str okewidt h=".."str oke-miterli mit=".."d=".."/>

<line fill=".."str oke=".."str okewidth=".."stroke-miterli mit=".."x1=".."y1=".."x2=".."y2=".."/>

<text transf or m=".."fill=".."f ontfamily="'..'"f ont-size="..">PB</text>

</g>

<g id="定位點(diǎn)">

<circle fill=".."cx=".."cy=".."r=".."/>

</g>

</svg>

SVG文件采用文本方式描述圖形信息,文件大小相比較其它方式的符號(hào)庫(kù)建立要小的多,此外,當(dāng)SVG描述大型的圖形文件時(shí),如整幅地圖時(shí),文件的大小可能會(huì)急劇增加,畢竟SVG文件中存在大量的冗余信息,此時(shí)Ill ustrator提供一種SVG文件壓縮格式,后綴名為.svgz。此格式文件僅保留SVG文件必要的繪圖信息,可以大大減小數(shù)據(jù)量,可將原SVG文件壓縮至原大小的約40%??梢苑奖愕膶VG格式文件移植到移動(dòng)平臺(tái)上使用。如一幅蘇州地圖,PDF格式下文件大小為9.18 M,而保存成SVG格式后,文件大小變成8.40 M,SVGZ格式下,文件僅有2.43 M,可見該壓縮方法對(duì)于構(gòu)建輕量級(jí)的軟件系統(tǒng)有著極為顯著的作用。當(dāng)然,本文僅利用SVG文件描述簡(jiǎn)單的符號(hào)信息,文件大小已是相當(dāng)輕小,壓縮格式效果不明顯,僅僅提供參考。

3.3 Qt環(huán)境下標(biāo)圖符號(hào)功能設(shè)計(jì)

在Qt環(huán)境下顯示SVG文件主要有兩種方式:一種是利用Qt自帶的SVG模塊實(shí)現(xiàn)標(biāo)圖符號(hào)的加載和顯示,此種方法方便快捷,但脫離該環(huán)境就無(wú)法使用,不具有通用性;另一種方法較為通用,即將SVG文件視為符號(hào)的數(shù)據(jù)描述文檔,通過解析SVG文件實(shí)現(xiàn)標(biāo)圖符號(hào)的顯示、編輯和修改,不受編程環(huán)境的影響[8]。

普通標(biāo)圖符號(hào)的生產(chǎn)往往需要針對(duì)每一個(gè)標(biāo)圖符號(hào)進(jìn)行設(shè)計(jì),這其中包括敵方和我方標(biāo)圖符號(hào)設(shè)計(jì),而此類符號(hào)多數(shù)僅是顏色上的區(qū)別,若重復(fù)設(shè)計(jì)必定造成大量的冗余信息 為此標(biāo)圖符號(hào)應(yīng)具備修改的功能,而Qt中提供QDomElement對(duì)象可以獲取SVG中每個(gè)節(jié)點(diǎn)的元素,tag Na me方法可以定位到指定的元素標(biāo)簽名位置,attribute和set Attribute方法可分別獲取標(biāo)簽名下的屬性信息和更改該屬性信息,以達(dá)到對(duì)標(biāo)圖符號(hào)進(jìn)行屬性修改的目的。此外,為滿足用戶對(duì)標(biāo)圖符號(hào)的使用需求,程序還應(yīng)提供不同符號(hào)圖元合并形成新符號(hào)的功能。該功能在SVG文件格式下實(shí)現(xiàn)也較為簡(jiǎn)便,只需將要合并的若干個(gè)圖元描述語(yǔ)句合并,平行的添加于新的SVG文件中,便可投入使用。具體標(biāo)圖顯示的流程如圖3所示。

4 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)采用開源Qt4.8.5版本源代碼為基礎(chǔ),利用上述流程圖的編程思想,在Windows XP系統(tǒng)下編譯成執(zhí)行程序。圖4為程序執(zhí)行效果。

圖3 SVG格式標(biāo)圖符號(hào)使用流程

圖4 程序執(zhí)行效果

4.1 程序調(diào)用SVG標(biāo)圖符號(hào)過程簡(jiǎn)介

當(dāng)啟動(dòng)軟件的同時(shí),系統(tǒng)自動(dòng)遍歷相應(yīng)存放SVG符號(hào)的文件夾,將文件名和文件個(gè)數(shù)保存,以按鈕的形式整齊疊放于工具條中,當(dāng)用選擇使用標(biāo)圖功能時(shí)則顯示工具條,用戶只需點(diǎn)擊相應(yīng)的符號(hào)按鈕便可將標(biāo)圖符號(hào)繪制于相應(yīng)的圖層上。通過雙擊已繪的符號(hào)可以調(diào)出該符號(hào)的屬性對(duì)話框,通過修改對(duì)話框可以實(shí)時(shí)更改符號(hào)的屬性信息。此外,為方便用戶快速使用自定義的標(biāo)圖符號(hào),工具條還增加新建符號(hào)按鈕,用戶只需點(diǎn)擊相應(yīng)的SVG文件,便可以直接使用該SVG文件所繪的符號(hào)。如圖4所示,SVG標(biāo)圖符號(hào)可以清晰的表示出我方兵力部署及指揮進(jìn)攻情況,滿足標(biāo)圖符號(hào)的使用要求,可以為一般地圖或?qū)n}圖使用。

4.2 SVG標(biāo)圖符號(hào)特點(diǎn)分析

1)符號(hào)輕量化,減小存儲(chǔ)負(fù)擔(dān)。SVG標(biāo)圖符號(hào)采用文本描述圖形信息,對(duì)于標(biāo)圖符號(hào)這種多用線劃圖形組成的符號(hào)而言是非常輕型簡(jiǎn)便的,作者利用SVG格式生成的標(biāo)圖符號(hào)均只有2 K左右大小。此外,SVG還提供一種壓縮格式,可以在不影響圖形顯示的前提下盡量多的壓縮SVG文件,而且文件越大,壓縮的效果越明顯。

2語(yǔ)言描述規(guī)范化 易進(jìn)行屬性修改 SVG標(biāo)圖符號(hào)的每個(gè)圖元信息都有自己的屬性描述,如顏色、線寬等。用戶可以根據(jù)需要對(duì)屬性進(jìn)行修改,如此一來,不僅方便符號(hào)的使用操作,還可減少大量因顏色等屬性不同造成的符號(hào)生產(chǎn)重復(fù)性勞動(dòng),同時(shí)也可大大減小符號(hào)庫(kù)存儲(chǔ)的數(shù)據(jù)量。

3)圖形信息矢量化,放大縮小不失真。SVG文件描述圖形信息記錄的是圖形的坐標(biāo)、線劃等基本的信息,用戶在進(jìn)行圖層的放大縮小時(shí),SVG標(biāo)圖符號(hào)相當(dāng)于根據(jù)當(dāng)前的視圖大小以及對(duì)應(yīng)的當(dāng)前坐標(biāo)將符號(hào)進(jìn)行重繪。因此,即使圖層無(wú)限放大,SVG標(biāo)圖符號(hào)也不會(huì)出現(xiàn)馬賽克等現(xiàn)象,保證符號(hào)的清晰完整。

4)文件特征半結(jié)構(gòu)化,方便信息整合。SVG文件由元素構(gòu)成,同級(jí)元素之間可以互不干擾進(jìn)行整合。例如,用戶可將兩個(gè)獨(dú)立的標(biāo)圖符號(hào)整合為一個(gè)新的標(biāo)圖符號(hào),只需將其中一個(gè)符號(hào)的元素復(fù)制于另一符號(hào)中,并自成一個(gè)元素即可。又或者用戶可以添加自己所需要的元素,例如某標(biāo)圖符號(hào)的屬性信息、圖片信息甚至是動(dòng)畫信息等,可大大提高標(biāo)圖符號(hào)的表現(xiàn)力。

5)文件通用化,不受平臺(tái)限制。SVG文件繼承了XML語(yǔ)言的開放性特點(diǎn),無(wú)論是個(gè)人電腦還是移動(dòng)終端都可以使用。而且大多數(shù)開發(fā)平臺(tái)都具有對(duì)SVG文件進(jìn)行操作的能力,用戶可以不用自己一點(diǎn)一點(diǎn)的解析SVG圖形,便可進(jìn)行SVG文件的顯示,減少工作量。

5 結(jié) 論

本文通過Ill ustrator軟件用SVG格式對(duì)標(biāo)圖符號(hào)進(jìn)行設(shè)計(jì),可以達(dá)到快速構(gòu)建標(biāo)圖的作用,且由于SVG文件具有數(shù)據(jù)量小 圖形信息及屬性信息易修改的特點(diǎn),可以大大減少符號(hào)設(shè)計(jì)的冗余,保證符號(hào)庫(kù)輕量化;利用XML語(yǔ)言描述標(biāo)圖符號(hào)可以使符號(hào)的結(jié)構(gòu)更加完備清晰,同時(shí)由于XML具有開放性,也使得標(biāo)圖符號(hào)可以很好為不同的圖集軟件使用,甚至也可解決標(biāo)圖符號(hào)網(wǎng)絡(luò)共享和互操作等問題。開源Qt提供了較為成熟的圖形圖像操作功能函數(shù),不僅可以靜態(tài)標(biāo)繪,還可進(jìn)行動(dòng)態(tài)顯示,這毋庸置疑大大提供了符號(hào)的表現(xiàn)力,而Qt本身的跨平臺(tái)特征也將拓展標(biāo)圖符號(hào)的使用,提高標(biāo)圖符號(hào)的使用價(jià)值,為電子符號(hào)庫(kù)的建立以及符號(hào)的使用提供參考。

[1] 劉新貴,孫群,趙國(guó)成,等.一種實(shí)用的點(diǎn)狀符號(hào)庫(kù)快速建立與顯示方法[J].地理空間信息,2009,7(1):28-30.

[2] 李艷,胡慶武,龔書林.跨平臺(tái)地圖SVG標(biāo)圖方法研究[J].電光與控制,2011,18(11):49-52.

[3] 孟小峰.XML數(shù)據(jù)管理概念與技術(shù)[M].北京:清華大學(xué)出版社,2009.

[4] 鄧曉斌,黃志芳,劉小麗.利用DOM、SAX交互解析基于SVG的web GIS地圖編碼[J].硅谷,2013(22):28.

[5] 尹章才,李霖,王錚,等.基于SVG的地圖符號(hào)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2006,31(5):97-99.

[6] 賀濤.利用SVG的pat h元素繪制復(fù)雜圖形[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2012(5):116.

[7] 李嘉星,蘇志軍,何志新.基于Illustrator的電子地圖符號(hào)庫(kù)的建立[J].地礦測(cè)繪,2012,28(4):24-26.

[8] 張志軍,邱俊武,于忠海.通用地圖符號(hào)表達(dá)機(jī)制的研究[J].測(cè)繪工程,2013,22(5):5-8.

猜你喜歡
文檔符號(hào)圖形
淺談Matlab與Word文檔的應(yīng)用接口
學(xué)符號(hào),比多少
有人一聲不吭向你扔了個(gè)文檔
“+”“-”符號(hào)的由來
變符號(hào)
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
分圖形
找圖形
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
圖形變變變