徐擁國,錢佳智,陳榮
(浙江有色測繪院,浙江紹興 312000)
基于.NET的GIS地圖符號庫的設(shè)計與實現(xiàn)
徐擁國?,錢佳智,陳榮
(浙江有色測繪院,浙江紹興 312000)
地圖符號是數(shù)字制圖的基礎(chǔ),尤其在地理信息的系統(tǒng)中,表達地圖內(nèi)容離不開地圖符號,本文對地圖符號的概念、特點作了簡要概述,在符號制作的原則和原理的基礎(chǔ)上,采用面向?qū)ο蟮姆椒?在.NET平臺下,結(jié)合ArcGIS Engine技術(shù)設(shè)計了GIS地圖符號庫系統(tǒng)。本系統(tǒng)設(shè)計分別包括了點狀符號庫、線狀符號庫和面狀符號庫,用戶可根據(jù)自己的需要設(shè)計符號,可通過多種方式瀏覽各種符號,該系統(tǒng)具有通用性和開放性。
地理信息系統(tǒng);地圖符號庫;.NET
隨著地理信息系統(tǒng)的深入發(fā)展,地圖的種類和內(nèi)容也隨之不斷地增加,同時新地圖的表示法和彩色印刷提供的有利條件,使地圖符號的數(shù)量快速上升。原先的GIS軟件中自帶的符號庫已經(jīng)不能滿足用戶的需求,因此各GIS軟件生產(chǎn)商又在軟件中嵌入了能夠根據(jù)用戶自己的要求進行二次開發(fā)的符號編輯模塊,用戶可以根據(jù)地圖表達的實際需要來制作形式各樣、大小不一、顏色多變的符號。
ArcGIS擁有豐富的符號庫管理機制。在符號庫管理器(Style Manager)中,符號庫之間相互獨立,可任意進行符號的添加、刪除、新建等工作,具有可視性能好,簡便易用等優(yōu)點。本文主要用ArcEngine+C#開發(fā)ServerStyle符號庫管理系統(tǒng),該系統(tǒng)根據(jù)點、線、面符號的特征,分別對點、線、面符號進行了設(shè)計,本系統(tǒng)的設(shè)計與建立主要運用了圖元法。
2.1主程序設(shè)計
本符號庫管理系統(tǒng)主要利用ArcGIS提供的符號轉(zhuǎn)換工具Make Serverstyle Sets.exe,將新建地圖符號庫文件(?.Style)轉(zhuǎn)換為可供AE開發(fā)使用的地圖符號庫文件(?.Serverstyle);本符號庫管理系統(tǒng)主要包括了PointStyle、LineStyle、FillStyle,其實現(xiàn)流程如圖1所示。
本系統(tǒng)主要包含了主程序界面設(shè)計、點狀符號設(shè)計界面、線狀符號設(shè)計界面、面狀符號設(shè)計界面。
圖1 符號庫管理系統(tǒng)框架
主程序界面如圖2所示,主要是以不同的瀏覽方式來瀏覽各個符號庫的符號,通過瀏覽鍵打開一個ServerStyle格式文件,初始化符號庫列表,在相應的窗體中可顯示當前選擇的符號類中所有的符號,用戶還可根據(jù)個人的喜好改變窗體中符號的排列方式,同時點擊窗體中的符號可在預覽窗口中進行預覽。
點擊新建樣式符號可以分別創(chuàng)建自己的點、線、面符號。
圖2 主程序界面
2.2點狀符號庫的設(shè)計
點狀符號常用來表示在當前的比例尺和表示方式下,呈點狀分布的地理實體和現(xiàn)象,不論符號大小,實際上以點的概念定位,而符號的面積不具有實地的面積意義,且具有以下幾個特點:①圖形的形體相對而言比較小;②都有準確的定位點和方向性;③圖形固定,在圖幅中不會隨著位置的變化而變化;④圖形大小不依比例尺變化;⑤大都由幾何圖形組合而成,圖形規(guī)則。因此本點狀符號庫的設(shè)計主要是設(shè)計圖元樣式。
本系統(tǒng)的點狀符號設(shè)計界面如圖3所示,在界面上提供了樣式大小、樣式角度、樣式顏色、偏移量等參數(shù)來新建點符號,用戶可調(diào)整這些參數(shù)來創(chuàng)建自己喜歡的點符號。同時可在預覽窗口中看到自己創(chuàng)建的符號,調(diào)整分辨率還可將符號放大,以便更清楚地觀察新建的符號樣式,在圖層窗口中可自由添加、刪除、移動圖層。
圖3 點狀符號設(shè)計界面
圖元繪制程序?qū)崿F(xiàn)如下:
2.3線狀符號庫的設(shè)計
線狀符號用來表示呈線狀或帶狀分布的地物,其具有如下特點:①都有一條無形的或有形的定位線;②復雜的線符號可以被看做是若干種的線型(如虛線、直線、點劃線等)的疊加;③線符號的圖形也可以被看做是線符號的單元沿著線的前進方向做周期性的重復。
本系統(tǒng)提供了簡單線、制圖線和哈希線這三種線符號的繪制。用戶可自由改變線符號的顏色和粗細,上下移動圖層改變圖層的疊加順序以改變符號的表現(xiàn)形式,并可自由添加和刪除。同時可在預覽窗口實時觀察新建的符號。
簡單線符號繼承了IlineSymbol接口,實現(xiàn)了ISimpleLineSymbol接口,提供了Style屬性用于設(shè)置線才樣式。
制圖線符號主要實現(xiàn)了兩個接口:ICartographicLineSymbol和ILineProperties。ICartographicLineSymbol接口主要用于設(shè)置線符號的節(jié)點屬性,如Cap屬性用于設(shè)置線的首尾點的形狀,Join屬性用于設(shè)置線要素轉(zhuǎn)折處的樣式。ILineProperties接口主要用于設(shè)置dash-dot類型的線要素符號屬性。哈希線就是離散線符號。線符號庫的運行界面如圖4所示。
圖4 線狀符號運行界面
簡單線等的添加實現(xiàn)如下:
2.4面狀符號庫的設(shè)計
面狀符號具有實際的二維特征,它們以面定位,其形狀與其所代表對象的實際形狀一致。該符號主要以下特點:①一般都有一條有形或無形的封閉輪廓線;②為了區(qū)別輪廓線雖圍城的區(qū)域?qū)ο?大部分面狀符號在區(qū)域內(nèi)配置不同的點符號、線符號或顏色。
繪制面狀符號的主要填充方法有三種:顏色填充、圖案填充和標準模式填充。其中顏色填充和標準模式只要需改變填充區(qū)域的顏色和模式設(shè)置成對應的顏色和模式就可進行填充。本符號庫的設(shè)計主要是對填充區(qū)域內(nèi)的圖案及顏色的設(shè)計。
面狀符號是用來修飾多邊形等具有面積的幾何形體的符號對象。本系統(tǒng)實現(xiàn)了IFillSymbol接口,該接口只定義了兩個屬性Color和OutLine,Color用來設(shè)置填充符號的基本顏色,OutLine用來設(shè)置符號的外邊框。
本系統(tǒng)的面狀符號設(shè)計在界面上提供了簡答填充,該類實現(xiàn)了ISimpleFillSymbol接口,使用它定義的屬性和方法,用戶可更改填充顏色及邊框線的顏色和粗細,同樣可自由添加、刪除、移動圖層。面狀符號庫的運行界面如圖5所示。
圖5 面狀符號運行界面
填充顏色和邊框?qū)挾鹊拇a實現(xiàn)如下:
本文對地圖符號的概念、特點作了簡要的概述,在符號制作的原則和原理的基礎(chǔ)上,設(shè)計并實現(xiàn)了基于.NET的C#和ArcEngine技術(shù)的GIS地圖符號庫系統(tǒng),并成功將新建的地圖符號加入相應符號庫,實現(xiàn)了用戶根據(jù)自身需求制作屬于自己的地圖符號,滿足了用戶在靜態(tài)地圖符號方面的需求,實現(xiàn)了系統(tǒng)的通用性和開放性。
[1] 孫慶輝,趙軍喜,周海燕.GIS中地圖輸出對符號庫建立的影響[J].測繪通報,2000(10):24~25.
[2] 沈陳華.線狀符號庫的面向?qū)ο笤O(shè)計[J].重慶師范學院學報·自然科學版,2000,17(4):41~43.
[3] 胡鵬.點陣符號庫的設(shè)計及制作[J].地圖,1993(2):22~23.
[4] 祝國瑞.地圖學[M].武漢:武漢大學出版社,2003.
[5] 閆浩文.運用OO方法設(shè)計統(tǒng)計符號庫的理論探討[J].武漢測繪科技大學學報,1997,22(1):69~70.
[6] 程朋根,龔健雅.面向?qū)ο驡IS中地圖符號組織的研究[J].測繪信息與工程,1998(1):21~23.
This paper made the point symbol,line library,planar library symbol library.User can make their favorite symbol and can browse through their visual preferences symbols.The system has generality and openness.
Design and Implementation of GIS Map Symbol Library Based on.NET
Xu Yongguo,Qian Jiazhi,Chen Ron
(Zhejiang Nonfernous Metals Mapping Institute,Shaoxing 312000,China)
Map symbols are the base of digital map.Especially in GIS,map meanings are essentially expressed by map symbols.In this paper a brief overviewof the concept and characteristics of map symbol,this paper designs a solution for GIS map symbol library with the ArcGIS Engine technology based on.NET.The solution is combined with production principle and principle of map symbols,object-oriented method.
GIS;map symbol library;.NET
1672-8262(2016)01-135-03
P208.1
B
?2015—12—01
徐擁國(1974—),男,工程師,從事測繪及生產(chǎn)技術(shù)管理工作。