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

C#.Net平臺下制圖系統(tǒng)的底層開發(fā)

2010-09-15 03:39:20臺曉楠
武漢紡織大學(xué)學(xué)報 2010年4期
關(guān)鍵詞:符號計算機(jī)功能

臺曉楠,楊 懿

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

C#.Net平臺下制圖系統(tǒng)的底層開發(fā)

臺曉楠,楊 懿

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

簡要分析制圖系統(tǒng)所應(yīng)具備的基本系統(tǒng)功能,并采用組件式構(gòu)架的思想,在C#.N ET環(huán)境下組織計算機(jī)制圖系統(tǒng)的底層開發(fā),實現(xiàn)計算機(jī)制圖系統(tǒng)的基本功能。對系統(tǒng)開發(fā)的核心問題如系統(tǒng)框架設(shè)計,系統(tǒng)結(jié)構(gòu)設(shè)計等內(nèi)容進(jìn)行探討。系統(tǒng)采用組件式開發(fā)的思想,與當(dāng)今主流的軟件開發(fā)方式接軌。

計算機(jī)制圖系統(tǒng);組件式;底層開發(fā);C#.N ET

1 計算機(jī)制圖系統(tǒng)

計算機(jī)制圖又稱機(jī)助地圖制圖或數(shù)字地圖制圖,以傳統(tǒng)的制圖原理為基礎(chǔ),以計算機(jī)及一些外圍設(shè)備為工具,進(jìn)行地圖信息的采集,存儲,處理和顯示的過程。計算機(jī)制圖包括兩個核心處理,即將原始地圖表達(dá)去符號化形成存儲在計算機(jī)中的地圖數(shù)據(jù),與將地圖數(shù)據(jù)符號化,輸出機(jī)制地圖的過程。計算機(jī)制圖系統(tǒng)則是支持計算機(jī)制圖的軟件系統(tǒng)。

計算機(jī)制圖系統(tǒng)的數(shù)據(jù)處理的基本過程如圖1所示:

圖1 制圖系統(tǒng)數(shù)據(jù)處理過程

計算機(jī)制圖系統(tǒng)所應(yīng)具有的功能如下:

(1)數(shù)據(jù)接收功能。一個良好的制圖系統(tǒng)應(yīng)當(dāng)具有數(shù)據(jù)開放性,既能夠處理內(nèi)部格式的文件,也要能接收外部通用交換格式的文件,如DXF文件。

(2)圖形編輯功能。制圖系統(tǒng)應(yīng)當(dāng)具有交互式圖形屏幕繪制功能,圖形的添加,選中,刪除功能。

(3)符號配置功能。制圖系統(tǒng)應(yīng)具有完善的符號庫,能夠進(jìn)行多種地圖表示符號的繪制,并支持用戶自定義符號。

(4)地圖輸出功能。能夠?qū)⒅瞥傻牡貓D以軟拷貝和硬拷貝的方式輸出,即屏幕顯示或者保存數(shù)據(jù)打印輸出。此外,地圖的屏幕顯示功能中還應(yīng)當(dāng)支持簡單的地圖放大,縮小,漫游等功能,便于用戶對地圖進(jìn)行檢查。

2 系統(tǒng)的實現(xiàn)過程

2.1 系統(tǒng)功能模塊設(shè)計

根據(jù)第一部分闡述的制圖系統(tǒng)所應(yīng)具備的功能,設(shè)計本制圖系統(tǒng)的功能如圖2所示:

圖2 制圖系統(tǒng)功能結(jié)構(gòu)圖

2.2 系統(tǒng)框架設(shè)計

系統(tǒng)開發(fā)采用組件式的開發(fā)思想,所以在搭建系統(tǒng)主程序之前需要首先編寫系統(tǒng)中所要用到的組件,有地圖控件CMyControl,各個功能按鈕控件Tools或者Commands(見圖3)。

圖3 系統(tǒng)框架設(shè)計圖

Application是系統(tǒng)主程序所在的工程,其中將會調(diào)用到如圖所示7個命名空間中的元素。其中CSGL是針對C#提供的OpenGL組件庫,提供強(qiáng)大的二維和三維圖形的繪制函數(shù)接口,System是開發(fā)環(huán)境本身所封裝的命名空間,Janus是第三方組件庫,用于設(shè)計友好的用戶界面。

此外,本系統(tǒng)自定義了4個命名空間,提供系統(tǒng)搭建所需要的組件和類。ControlLibrary是控件庫,內(nèi)有顯示二維圖形和三維圖形的兩個控件。ClassLibrary是系統(tǒng)的類庫,包含系統(tǒng)所要用到的類型。InterfaceLibrary中定義了系統(tǒng)所提供的接口,Tools則是系統(tǒng)工具按鈕組件庫,內(nèi)部封裝了執(zhí)行各種地圖功能所需要的按鈕,有針對二維圖形和三維圖形的兩套按鈕。

程序開發(fā)過程中,首先編寫ControlLibrary,InterfaceLibrary,ClassLibrary,Tools這四個工程,并生成動態(tài)鏈接文件后,在主程序中添加相應(yīng)的.dll文件和引用就可以直接使用這些工程中定義的接口和方法。

2.3 系統(tǒng)類結(jié)構(gòu)設(shè)計

根據(jù)制圖數(shù)據(jù)的分層組織的關(guān)系,設(shè)計出地圖類,管理地圖中的各圖層信息;圖層類,管理圖層中的所有圖形要素;以及點(diǎn),線,面類。具體的類的結(jié)構(gòu)和關(guān)系如圖4所示。

圖4 系統(tǒng)類結(jié)構(gòu)設(shè)計圖

2.4 符號庫設(shè)計

計算機(jī)地圖制圖的兩個核心的處理過程是去符號化與符號化的過程。以鐵路為例,在紙質(zhì)地圖中,鐵路通常表示為黑白相間的雙線路,而在去符號化過程中,則只提取鐵路的中軸線數(shù)據(jù)存儲在地圖數(shù)據(jù)庫中。地圖數(shù)據(jù)輸入制圖系統(tǒng)中的一個主要目的就是符號化,通過制圖系統(tǒng)提供的符號庫,將符號配置到地圖數(shù)據(jù)中,并將制圖結(jié)果輸出。

通常,符號庫有矢量繪圖法和柵格圖法。矢量繪圖指在指定位置處用程序臨時繪制符號,柵格圖法則是將預(yù)先存儲的柵格符號繪制在指定位置處。而矢量繪圖法又分為直接信息法,和間接信息法。直接信息法存儲繪制圖形的坐標(biāo)點(diǎn)序列,并同時記錄抬筆與落筆的動作,所有的符號都可以通過一段程序來繪制。間接信息法只存儲圖形的關(guān)鍵參數(shù),但是每一個符號都必須編寫對應(yīng)的符號繪制程序。

本次系統(tǒng)開發(fā)中,使用直接信息法在地圖控件中直接繪制矢量符號,地圖符號繪制結(jié)果如圖5所示。而在符號選擇框中,則使用柵格圖像顯示作為示意圖,以提高程序運(yùn)行效率。符號選擇對話框如圖6所示。

圖5 符號繪制結(jié)果

圖6 系統(tǒng)符號選擇窗口

2.5 數(shù)據(jù)存儲方式設(shè)計

本系統(tǒng)采用SQL Server2000關(guān)系型數(shù)據(jù)庫來存儲地圖的幾何圖形數(shù)據(jù),雖然幾何圖形數(shù)據(jù)具有坐標(biāo)串長度不確定的特點(diǎn),不便于使用傳統(tǒng)關(guān)系數(shù)據(jù)庫進(jìn)行存儲,但是目前隨著關(guān)系數(shù)據(jù)庫的發(fā)展,通過二進(jìn)制流的形式,可以將變長的坐標(biāo)串作為二進(jìn)制塊寫入數(shù)據(jù)庫,這樣的結(jié)構(gòu)便于數(shù)據(jù)的存取控制。

其中地圖文件是一張表,表內(nèi)記錄此地圖文檔中包含的所有的圖層的基本類型及符號顯示信息。每個圖層分別對應(yīng)一張表,圖層表的名稱是圖層名。所以必須保證地圖數(shù)據(jù)庫中不同圖層具有不同的名稱。

地圖表的具體字段如下:

L a y e r N a m e L a y e r I n d e x L a y e r T y p e S y m b o l I D S y m b o l C o l o r

LayerName表示圖層的名稱,在數(shù)據(jù)庫中以圖層的名稱作為區(qū)別不同圖層的ID號。LayerIndex表示在地圖中圖層的顯示順序,即圖層的上下位置順序。LayerType表示圖層的類型,分為POINT點(diǎn)圖層,LINE線圖層,POLYGON多邊形圖層,和ANNOTATION注記層。SymbolID表示不同的圖層顯示的符號的編號。SymbolColor記錄地圖中每一圖層顯示的顏色,在系統(tǒng)用戶使用系統(tǒng)為地圖數(shù)據(jù)符號化和設(shè)計符號顏色后,將相關(guān)信息記錄在圖層中。

圖層表的表名為該圖層的名稱,表內(nèi)記錄此圖層中包含的全部要素的要素的系統(tǒng)ID號,要素類型和坐標(biāo)串序列。

I D T Y P E C O O R D I N A T E

2.6 系統(tǒng)界面設(shè)計

本系統(tǒng)使用介紹JanusWinforms Controls插件,這是由Janus Systems 公司開發(fā)的一套控件組合,可以創(chuàng)建出具有Outlook風(fēng)格的應(yīng)用程序界面,并可以實現(xiàn)主程序界面中各部分位置的自由拖拽,隱藏與停靠。提供對Visual Studio Developer最新的樣式控制。所有的控制將使.NET應(yīng)用程序更加強(qiáng)大,并易于控制編程,節(jié)省開發(fā)時間。

3 系統(tǒng)的特點(diǎn)

相比于傳統(tǒng)基于VC6的制圖系統(tǒng)底層開發(fā)方式,本系統(tǒng)采用組件化開發(fā)的方法,具有以下特點(diǎn):

(1)較好的開放性

組件化的思想是指將復(fù)雜的系統(tǒng)功能按照對象、功能、應(yīng)用等層次分解為可以互操作和自我管理的組件。通過編譯產(chǎn)生二進(jìn)制文件,可以在多種開發(fā)平臺和語言環(huán)境中使用。

(2)良好的可擴(kuò)展性

系統(tǒng)的擴(kuò)展性表現(xiàn)在系統(tǒng)組成的組件功能上,通過對組件的擴(kuò)展就可以實現(xiàn)更多的功能,而不需要對系統(tǒng)本身進(jìn)行過多的修改。

(3)便于多個程序員的分工合作

將系統(tǒng)分成不同的模塊,各個模塊之間相互獨(dú)立。可以將不同的模塊分配給不同的程序員編寫。

4 總結(jié)

本系統(tǒng)從底層實現(xiàn)了制圖系統(tǒng)的基本功能,并結(jié)合了當(dāng)今軟件開發(fā)的主流技術(shù)如組件技術(shù),空間數(shù)據(jù)庫技術(shù)等內(nèi)容,能夠較好的管理圖形數(shù)據(jù)和系統(tǒng)制圖功能。在系統(tǒng)實現(xiàn)中,首先編寫所需要的組件庫,然后在主系統(tǒng)中加載,這樣的開發(fā)方法就系統(tǒng)開發(fā)本身而言,雖然開發(fā)任務(wù)較重,但是便于功能的組合和進(jìn)一步擴(kuò)展。

[1] 艾自興, 龍毅. 計算機(jī)地圖制圖[M]. 武漢:武漢大學(xué)出版社, 2005.

[2] 宋關(guān)福,鐘耳順. 組件式地理信息系統(tǒng)研究與開發(fā)[J]. 信息技術(shù), 2006, 30(1).

[3] Martin L. Shoemaker. UML實戰(zhàn)教程[M]. 北京: 清華大學(xué)出版社, 2006.

The Base Development of Cartography System Using C#.NET

TAI Xiao-nan, YANG Yi

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

An innovative method of developing cartography system from base is introduced using the C#.NET platform and COM technique. This paper gives details pertaining to the problems involving the system framework and structure design, as well as the result of this development. This method is proved to be successful and effective.

cartography system; base development; COM technique; C#.NET

TP391.41

A

1009-5160(2010)04-0038-03

臺曉楠(1689-),女,研究方向:地理信息系統(tǒng).

猜你喜歡
符號計算機(jī)功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
學(xué)符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
計算機(jī)操作系統(tǒng)
基于計算機(jī)自然語言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
“+”“-”符號的由來
信息系統(tǒng)審計中計算機(jī)審計的應(yīng)用
關(guān)于非首都功能疏解的幾點(diǎn)思考
變符號
圖的有效符號邊控制數(shù)
Fresnel衍射的計算機(jī)模擬演示
主站蜘蛛池模板: 日韩福利视频导航| 成人午夜视频免费看欧美| 国产99久久亚洲综合精品西瓜tv| 美女免费黄网站| 欧洲亚洲一区| 无码AV动漫| 国产无码网站在线观看| 91福利一区二区三区| 人妻一区二区三区无码精品一区| 欧美成人亚洲综合精品欧美激情| 精品久久久久久成人AV| 日韩毛片免费| 国产成人精品日本亚洲| 91娇喘视频| 成人福利一区二区视频在线| 2020国产精品视频| 亚洲妓女综合网995久久| 无码一区中文字幕| 亚洲国产精品日韩专区AV| 国产18在线播放| 91香蕉国产亚洲一二三区| 国产一级二级三级毛片| 欧美成人怡春院在线激情| 国产精品精品视频| 久久9966精品国产免费| 无码国产偷倩在线播放老年人| 全部免费特黄特色大片视频| 免费 国产 无码久久久| 欧美日韩国产成人高清视频| 91年精品国产福利线观看久久| 国产chinese男男gay视频网| 亚洲一区色| 综合色亚洲| 国产97视频在线| 国产综合欧美| 精品91在线| 国产乱人伦AV在线A| 国产成人综合在线观看| 亚洲精品你懂的| 亚洲a级毛片| 九九香蕉视频| 国产视频 第一页| 中文字幕乱码二三区免费| 亚洲精品大秀视频| 国产在线拍偷自揄观看视频网站| 亚洲三级色| 欧美亚洲一二三区| 99人妻碰碰碰久久久久禁片| 亚洲国产精品日韩专区AV| 亚洲最大福利网站| 91av国产在线| 日本欧美一二三区色视频| 国产亚洲成AⅤ人片在线观看| 亚洲AV无码久久精品色欲| 亚洲一区二区三区在线视频| 日本欧美视频在线观看| 日本高清视频在线www色| 亚洲午夜久久久精品电影院| 国产粉嫩粉嫩的18在线播放91 | 国产免费黄| 亚洲国产成人久久77| 高清码无在线看| 2018日日摸夜夜添狠狠躁| a毛片在线免费观看| 毛片网站观看| 无码啪啪精品天堂浪潮av| 国产真实乱人视频| 亚洲专区一区二区在线观看| 国产精品亚洲五月天高清| 欧美性久久久久| 久久亚洲国产一区二区| 一区二区三区四区日韩| 91九色视频网| 欧美三级日韩三级| 91小视频版在线观看www| 国产乱子伦无码精品小说| 久久中文无码精品| 日韩国产高清无码| 国产91在线|中文| 国产成人无码久久久久毛片| 日韩国产高清无码| 色综合久久88|