畢業(yè)論文----基于vb的供水管理信息系統(tǒng)研究與實現(xiàn)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  中文摘要</b></p><p>  自來水管網屬于城市基礎設施,其管理是一項復雜而艱巨的工作,涉及面廣、數據量大、圖形信息與文字信息并存、設備附件增減更新快,人工管理工作難度大、效率低。為適應現(xiàn)代化城市的發(fā)展,城市基礎設施應具有良好的預測性、完善的決策性和快速響應性,特別是在城市基礎設施覆蓋面越來越大、地下管網分布密度越來越高、城市用水日益緊張的情況下,更需要

2、一個信息容量上包容能力大、輸入存儲信息簡便、加工處理信息能力強、顯示信息速度快、信息交換便利的管理工具對管網信息進行科學高效的管理和利用。</p><p>  隨著GIS系統(tǒng)在我國各領域逐步發(fā)展應用,其強大的圖形和空間數據處理能力為我們開發(fā)自來水管網管理系統(tǒng)提供了思路。利用目前已有的管網GIS系統(tǒng)數據,并在建設和使用的過程中逐步完善是建立管網信息管理系統(tǒng)的首選途徑。本文選用組件式GIS技術,使用高級語言VB6.0

3、和地理信息系統(tǒng)組件MapX5.0來開發(fā)城市自來水管網信息管理系統(tǒng)。文章闡述了該系統(tǒng)的功能、總體結構及系統(tǒng)實現(xiàn)。</p><p>  關鍵詞: 地理信息系統(tǒng);VB;MapX;城市自來水管網</p><p><b>  ABSTRACT</b></p><p>  Water-supply network belong to city basic

4、 facilities,the management of which is one term intricacy and collar work, because of it’s touch on surface wide, data bulk large, graphical information and letter information consist, equipment appurtenance update swift

5、ness,labor control acting hardness large, inefficiency up more or less. For conform to modern city's develop,city basic facilities respond possess favorable predictability, sophisticated decision gender and fast resp

6、onse gender,especially </p><p>  As GIS system in our country wrought up application each region,thereof powerful figure and spatial data processing ability for us exploitation water-supply network superviso

7、ry system supply know clearly clue. It was erect pipe network information management system's first choice avenue for that both utilize for the moment available pipe network GIS system data,combine on the stocks supp

8、ose and utilized course suffer gradually soundness. Choosing Component-oriented GIS technology, we have develo</p><p>  Key Words: Geographic Information System (GIS), Visual Basic, MapX, Water Supply Netwo

9、rk </p><p><b>  目 錄</b></p><p><b>  第一章 綜述1</b></p><p><b>  1.1 引言1</b></p><p>  1.1.1 地理信息系統(tǒng)簡介1</p><p>  1.1.2 組

10、件式地理信息系統(tǒng)1</p><p>  1.2 開發(fā)工具的選擇2</p><p>  1.2.1 Visual Basic簡介2</p><p>  1.2.2 MapInfo簡介4</p><p>  1.2.3 MapX簡介5</p><p>  第二章 需求分析7</p><p&g

11、t;  2.1 系統(tǒng)功能描述7</p><p>  2.1.1 圖層控制功能7</p><p>  2.1.2 對象編輯功能8</p><p>  2.1.3 查詢、搜索功能8</p><p>  2.1.4 專題制圖功能8</p><p><b>  2.2系統(tǒng)組成8</b><

12、/p><p>  第三章 總體設計10</p><p>  3.1 系統(tǒng)總體結構10</p><p>  3.2 MapX主要組件概述10</p><p>  3.2.1 MapX對象10</p><p>  3.2.2 圖層11</p><p>  3.2.3 GeoSet11<

13、/p><p>  3.2.4 Annotations12</p><p>  3.2.5 創(chuàng)建對象12</p><p>  第四章 系統(tǒng)實現(xiàn)13</p><p>  4.1 數據庫的實現(xiàn)13</p><p>  4.1.1 數據的關聯(lián)13</p><p>  4.1.2 文件格式14&l

14、t;/p><p>  4.1.3 空間數據表示方法14</p><p>  4.2 地圖圖層的劃分15</p><p>  4.3 代碼生成17</p><p>  4.3.1 界面設計17</p><p>  4.3.2 圖像的基本操作18</p><p>  4.3.3 管網信息增、刪

15、、改功能的實現(xiàn)19</p><p>  4.3.4 地理信息查詢和分析功能的實現(xiàn)20</p><p>  4.3.5 專題制圖的實現(xiàn)22</p><p>  4.4 非地理信息數據的處理23</p><p>  4.4.1 設備屬性表23</p><p>  4.4.2 管段數據表24</p>

16、<p>  4.4.3 節(jié)點數據表25</p><p>  4.4.4 消防栓數據庫表25</p><p>  4.4.5 圖層數據集表26</p><p>  4.4.6 專題圖字段表26</p><p>  第五章 結束語27</p><p>  5.1 系統(tǒng)設計的特點和不足27</p

17、><p>  5.2 畢業(yè)設計的心得體會27</p><p><b>  致 謝29</b></p><p><b>  參考文獻30</b></p><p><b>  第一章 綜述</b></p><p><b>  1.1 引言&l

18、t;/b></p><p>  自來水管網屬于城市基礎設施,其管理是一項復雜而艱巨的工作,涉及面廣、數據量大、圖形信息與文字信息并存、設備附件增減更新快,人工管理工作難度大、效率低。為適應現(xiàn)代化城市的發(fā)展,城市基礎設施應具有良好的預測性、完善的決策性和快速響應性,特別是在城市基礎設施覆蓋面越來越大、地下管網分布密度越來越高、城市用水日益緊張的情況下,更需要一個信息容量上包容能力大、輸入存儲信息簡便、加工處理

19、信息能力強、顯示信息速度快、信息交換便利的管理工具對管網信息進行科學高效的管理和利用。</p><p>  隨著GIS系統(tǒng)在我國各領域逐步發(fā)展應用,其強大的圖形和空間數據處理能力為我們開發(fā)自來水管網管理系統(tǒng)提供了思路。利用目前已有的管網GIS系統(tǒng)數據,并在建設和使用的過程中逐步完善是建立管網信息管理系統(tǒng)的首選途徑。</p><p>  1.1.1 地理信息系統(tǒng)簡介</p>&

20、lt;p>  地理信息系統(tǒng)GIS(Geographic Information Systems)是在計算機軟硬件支持下,對顯示世界各類空間數據及描述這些空間數據特性的屬性進行采集、儲存、管理、運算、分析、顯示和描述的技術系統(tǒng)。它將地理對象的空間位置的相關屬性有機結合,從空間和屬性兩個方面對現(xiàn)實對象進行查詢、檢索和分析,并將結果以形象、直觀的形式表達出來,輔助用戶決策。</p><p>  1.1.2 組件式

21、地理信息系統(tǒng)</p><p>  組件式地理信息系統(tǒng)已經成為當今軟件技術的潮流之一。組件式GIS軟件平臺是國際上最近幾年發(fā)展起來的新型GIS軟件,具有二次開發(fā)方便、易于集成、無限擴展等特點。它帶來了GIS應用系統(tǒng)開發(fā)方式的變革,有利于提高二次開發(fā)的效率,增強GIS系統(tǒng)中各子系統(tǒng)之間的親和能力。組件式GIS的基本思想是把GIS的各大功能模塊劃分為若干控件,每個控件完成不同的功能。各個GIS控件之間,以及GIS控件與

22、其他非GIS控件之間,可以方便地通過可視化的軟件開發(fā)工具集成起來,形成最終的GIS應用??丶缤魇礁鳂拥姆e木,它們分別實現(xiàn)不同的功能(包括GIS功能和非GIS功能),根據實際需要把實現(xiàn)各種功能的“積木”搭建起來,就構成應用系統(tǒng)。</p><p>  1.2 開發(fā)工具的選擇</p><p>  基于組件式GIS的上述特點,本系統(tǒng)在GIS的幾種開發(fā)方式當中,選擇了基于GIS組件的集成二次開發(fā)

23、方法,GIS組件選用MapX,高級語言選用VB。</p><p>  1.2.1 Visual Basic簡介</p><p>  Visual Basic是Microsoft公司推出的一種可視化的、面向對象和調用事件驅動方式的結構化高級程序設計工具,可用于開發(fā)Windows環(huán)境下的各類應用程序。它簡單易學、效率高,且功能強大。在Visual Basic環(huán)境下,利用事件驅動的編程機制、新穎

24、易用的可視化設計工具,使用Windows內部的應用程序接口(API)函數,以及動態(tài)鏈接庫(DLL)、動態(tài)數據交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數據訪問(ODBC)等技術,可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。</p><p>  總的來說,Visual Basic具有以下特點:</p><p><b> ?。?)可視化編程

25、</b></p><p>  Visual Basic提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設置這些圖形對象的屬性。Visual Basic自動產生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設計的效率。&l

26、t;/p><p> ?。?)面向對象的程序設計</p><p>  4.0版以后的Visual Basic支持面向對象的程序設計,但它與一般的面向對象的程序設計語言(C++)不完全相同。在一般的面向對象程序設計語言中,對象由程序代碼和數據組成,是抽象的概念;而Visual Basic則是應用面向對象的程序設計方法(OOP),把程序和數據封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成

27、為實在的東西。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。</p><p> ?。?)結構化程序設計語言</p><p>  Visual Basic是在BASIC語言的基礎上發(fā)展起來的,具有高級程序設計語言的語句結構,接近于自然語言和人類的邏輯思維方式。Vi

28、sual Basic語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調試器和編譯器。</p><p>  Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計Visual Basic程序的過程中,隨時可以運行程序,而在整個程序設計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visu

29、al Basic環(huán)境,直接在Windows環(huán)境下運行。 (4)事件驅動編程機制</p><p>  Visual Basic通過事件來執(zhí)行對象的操作。一個對象可能會產生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產生一個“單擊“(CLICK)事件,而在產生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。在用Visual Basic設計大型應用軟件時,不必建立具有

30、明顯開始和結束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅動完成某種特定的功能,或者由事件驅動程序調用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。</p><p><b> ?。?)訪問數據庫</b></p><p>  Visual Basic具有強大的數據庫管理功能,利用數據控件和數據庫管理窗口,

31、可以直接建立或處理Microsoft Access格式的數據庫,并提供了強大的數據存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其他外部數據庫,如DBASE,F(xiàn)oxPro,Paradox等,這些數據庫格式都可以用Visual Basic編輯和處理。</p><p>  Visual Basic提供開放式數據連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網絡數據庫,如SQL

32、 Server,Oracle等。在應用程序中,可以使用結構化查詢語言SQL數據標準,直接訪問服務器上的數據庫,并提供了簡單的面向對象的庫操作指令和多用戶數據庫訪問的加鎖機制和網絡數據庫的SQL的編程技術,為單機上運行的數據庫提供了SQL網絡接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務器(client/server)方案。</p><p>  1.2.2 MapInfo簡介</p><p&

33、gt;  MapInfo公司于1986年成立于美國特洛伊(Troy)市,成立以來,該公司一直致力于提供先進的數據可視化、信息地圖化技術,其軟件代表是桌面地圖信息系統(tǒng)軟件MapInfo。</p><p>  (1) MapInfo Professional是MapInfo公司主要的軟件產品,它支持多種本地或者遠程數據庫,較好地實現(xiàn)了數據可視化,生成各種專題地圖。此外還能夠進行一些空間查詢和空間分析運算,如緩沖區(qū)等等

34、,并通過動態(tài)圖層支持GPS數據。</p><p>  (2) MapBasic是為在MapInfo平臺上開發(fā)用戶定制程序的編程語言,它使用與BASIC語言一致的函數和語句,便于用戶掌握。通過MapBasic進行二次開發(fā),能夠擴展MapInfo功能,并與其他應用系統(tǒng)集成。 </p><p>  (3) MapInfo ProServer是應用于網絡環(huán)境下的地圖應用服務器,它使MapIn

35、fo Professional運行于服務器端,并能夠響應用戶的操作請求;而客戶端可以使用任何標準的Web瀏覽器。由于在服務器上可以運行多個MapInfo Professional實例,以滿足用戶的服務請求,從而節(jié)省了投資。 </p><p>  (4) MapInfo MapX是MapInfo提供的OCX控件。 </p><p>  (5) MapInfo MapXtrem是基

36、于Internet/Ethenet的地圖應用服務器,它可以用于幫助配置企業(yè)的Internet。 </p><p>  (6)SpatialWare是在關系數據庫環(huán)境下基于SQL進行空間查詢和分析的空間信息管理系統(tǒng),在SpatialWare中,支持簡單的空間對象,從而支持空間查詢,并能產生新的幾何對象。在實際應用中,一般使用SpatialWare作為數據服務器,而MapInfo Professional作為客戶端

37、,可以提高系統(tǒng)開發(fā)效率。</p><p>  1.2.3 MapX簡介</p><p>  MapX是MapInfo 家族中的一枝新秀,是MapInfo二次開發(fā)中的又一強大工具。MapInfo MapX也是一個性能價格比好、功能強大的OCX控件,它可以很容易地在應用程序中加入強大的制圖功能。它可以把數據用地圖的形式顯示出來,更易于理解。地圖形式可以比簡單的圖表、圖形提供更多的信息,而且描述

38、地圖比描述數據表更加簡單迅速。</p><p>  MapX是MapInfo公司的能向用戶提供強大地圖分析功能的ActiveX控件產品。由于它是一種基于Windows操作系統(tǒng)的標準控件,因而MapX能支持絕大多數標準的可視化開發(fā)環(huán)境如:Visual Basic、Visual C++、Delphi、PowerBuilder等面向對象語言,而且可以使用Lotus Script將MapX嵌入到Lotus Notes中。

39、利用MapX,用戶能夠簡單而快速的在自己的企業(yè)應用中嵌入地圖化功能,增強企業(yè)應用的空間分析能力,實現(xiàn)企業(yè)應用的增值。</p><p>  通過MapX,可以完全按照自己的意愿在應用程序中加入強大的制圖功能。可以按點、按專題渲染區(qū)域、按餅圖或直方圖等等來顯示數據。啟用MapX的分析功能,可以分組和組織數據、執(zhí)行搜索或在一個指定的半徑、矩形區(qū)域或指定的點的周圍選擇地圖圖元。</p><p>&

40、lt;b>  1、MapX的優(yōu)點</b></p><p>  (1) 增強信息可視化能力以及數據的深層表現(xiàn)力</p><p>  很多企業(yè)最初建立的應用并不具有空間分析功能。但是隨著企業(yè)內部信息量的增加及信息的多元化和復雜化,很多信息采用傳統(tǒng)的報表和文檔方式已無法清晰、直觀、智能化地向用戶表現(xiàn)。此時,就需要利用MapX在企業(yè)應用中增加對信息的可視化顯示能力以及從數據中挖掘

41、有用信息的能力:例如,利用MapX可以非常直觀地將企業(yè)自身在空間位置上的分布特性及客戶的住址、郵政編碼等信息,以地圖化的方式展示出來,并能將企業(yè)信息以統(tǒng)計圖表等可視化的方式顯示出來。</p><p> ?。?)MapX的內嵌功能</p><p>  由于采用的是控件技術,因此MapX可以無縫地嵌入到各個領域新的或已有應用系統(tǒng)中去,成為企業(yè)應用開發(fā)和運行環(huán)境的一部分,增強應用系統(tǒng)中數據的管理

42、能力以及可視化功能。</p><p>  (3)易于掌握,開發(fā)周期短,成本低</p><p>  用戶僅需要掌握一門通用語言如VB、VC、Delphi、PowerBuilder等就可以使用MapX,而不需要去學習專業(yè)的開發(fā)語言,從而縮短應用開發(fā)周期,降低開發(fā)成本。</p><p>  2.MapX與MapInfo Professional的區(qū)別</p>

43、<p>  使用MapX開發(fā),編程人員在開發(fā)過程中并不需要掌握其他專業(yè)編程語言,便可輕招地將地圖應用功能嵌入到企業(yè)應用中。并且應用可以脫離MapInfo的軟件平臺運行。相反,在構建上述的企業(yè)應用系統(tǒng),如果選用MapInfo Professional作為地圖化應用的平臺,則需要很多技巧來實現(xiàn)企業(yè)應用中的公用信息管理系統(tǒng)與地圖管理信息系統(tǒng)之間的信息交換與通訊。 </p><p>  MapBasic

44、是一種類Basic的地圖應用開發(fā)語言,它具有自己的語法規(guī)則,同時它編譯生成的執(zhí)行程序要依賴于MapInfo Professional平臺。對于想要快速建立以地圖空間分析為主要功能的企業(yè)應用用戶來說,選用MapBasic來開發(fā)是一種最快也最簡單的開發(fā)方式。因為MapBasic是一種集成化程度很高的開發(fā)語言,很多復雜的地圖分析功在MapBasic中只需要一條或是幾條語句便可以實現(xiàn)。</p><p>  對于有豐富編程

45、經驗的程序員來說,MapX是建立地圖應用的最理想工具,因為在利用MapX進行開發(fā)時,可以選用自己最熟悉的開發(fā)語言,充分發(fā)揮程序員的創(chuàng)造靈感。</p><p><b>  第二章 需求分析</b></p><p>  2.1 系統(tǒng)功能描述</p><p>  城市自來水管網信息管理系統(tǒng),主要應用于城市自來水管網中管段、閥門、泵站、用戶信息以及其他

46、設備等信息的顯示和維護,為調度、規(guī)劃、設計、管網維護提供輔助決策信息。該系統(tǒng)的功能如下:</p><p> ?。?)能夠在整個自來水管網覆蓋區(qū)域,創(chuàng)建給水管網及其附屬設施的平面地圖,并能實現(xiàn)對地圖的無極放大、縮小和漫游;</p><p> ?。?)能夠在地圖上完成對城市自來水管網中管段、閥門、泵站、用戶信息以及其他設備信息的顯示、維護和查詢。例如可根據管段的編號查詢管段屬性;</p&

47、gt;<p>  (3)實現(xiàn)對城市自來水管網中管段、閥門、泵站、用戶等的定位、統(tǒng)計、分析功能。例如可按管徑統(tǒng)計管長,按區(qū)域統(tǒng)計用戶;</p><p> ?。?)能夠在地圖上作出標注,如對出現(xiàn)事故的管段進行顏色渲染, 直觀地顯示其地理分布,為爆管搶修提供輔助決策。</p><p>  2.1.1 圖層控制功能</p><p>  地理信息系統(tǒng)的數據管理是

48、以圖層為單位進行的,每個圖層在圖上表現(xiàn)為一層,而屬性數據表現(xiàn)為一個表。每個表(圖層)是以文件的形式存放的。對圖層的控制是地理信息系統(tǒng)處理地圖的基本功能。圖層控制模塊要實現(xiàn)以下功能:</p><p><b>  (1)創(chuàng)建圖層</b></p><p><b> ?。?)添加圖層</b></p><p><b>  

49、(3)刪除圖層</b></p><p><b> ?。?)更改圖層順序</b></p><p>  (5)放大或縮小顯示地圖</p><p>  2.1.2 對象編輯功能</p><p>  地圖符號是在地圖上用以表示各種制圖對象的圖形記號,或者還包括與之配合使用的注記。使用地圖符號不僅能反映制圖對象的個體存

50、在、類別及其數量和質量特征,而且通過它們的聯(lián)系和組合,還能反映出制圖對象的空間分布和結構以及動態(tài)變化。故地理信息系統(tǒng)對地圖符號的編輯功能也很重要。根據約定原理,可將地圖符號分為點狀符號、線狀符號和面狀符號。在MapX中地圖符號抽象為點對象(Point)、直線對象(Line)、折線對象(PolyLine)、區(qū)域對象(Region)等。</p><p>  對象編輯模塊功能主要是在圖層上添加點、直線、折線、區(qū)域等Ma

51、pX對象。</p><p>  2.1.3 查詢、搜索功能</p><p>  信息的查詢搜索是實施現(xiàn)代化管理、提高科學決策水平的重要手段。地理信息系統(tǒng)是圖形、數據與應用程序的結合。GIS中查詢搜索應該是雙向的,即“已知文本查詢空間對象,根據空間對象查詢文本”。空間地理對象在GIS中描述為圖元,故圖元搜索模塊主要通過索引字段定位地圖中的圖元。</p><p>  2

52、.1.4 專題制圖功能</p><p>  專題制圖是強大的分析以及可視化數據的方法。以圖形來表示數據,使用戶可以在地圖上看到數據。使用專題渲染在地圖上顯示數據時,在數據列表中幾乎無法顯示的樣式和趨勢可以清晰地展現(xiàn)在用戶眼前,為科學管理和決策提供強有力的支持。</p><p>  專題制圖模塊功能是根據已有的數據集和圖層,制作符合要求的專題地圖。</p><p>&

53、lt;b>  2.2系統(tǒng)組成</b></p><p>  城市電子地圖系統(tǒng),供水管網圖(庫)系統(tǒng),管段閥門數據庫系統(tǒng)。三個系統(tǒng)中的元素通過空間關系聯(lián)系到一起。</p><p>  在相對獨立的兩個數據庫中分別存儲幾何數據和屬性數據的系統(tǒng)稱為混合系統(tǒng)。數據庫之間通過唯一的標識符進行關聯(lián)?;旌舷到y(tǒng)通常采用商業(yè)關系性數據庫來存儲屬性數據,專用文件系統(tǒng)來存儲幾何數據。(如圖2.1

54、)</p><p>  圖2.1 混合數據庫模型</p><p><b>  第三章 總體設計</b></p><p>  3.1 系統(tǒng)總體結構</p><p>  系統(tǒng)結構采用模塊結構,系統(tǒng)的總體結構由圖形創(chuàng)建模塊、圖形顯示模塊、信息維護模塊、信息查詢模塊、統(tǒng)計模塊等5個子模塊構成(如圖3.1)。</p>

55、<p>  圖3.1 系統(tǒng)結構</p><p>  3.2 MapX主要組件概述</p><p>  3.2.1 MapX對象</p><p>  在MapX 對象體系中,Map對象存在于最頂端。每個MapX對象、屬性、方法都衍生于Map對象。每個在Map對象之下的屬性和方法都會對生成整個Map對象有所影響。主要是由DataSet、Layers和An

56、notations對象定義每個Map對象。</p><p>  表3.1 由數值表示的Map對象屬性</p><p>  表3.1顯示了一些由數值表示的Map對象屬性,可以在設計時改變這些屬性,也可以在運行時用以下代碼示例來更改: </p><p><b>  3.2.2 圖層</b></p><p>  每一幅單

57、獨的地圖是一個圖層,MapX把地圖存儲為圖層的集合。在設計時通過MapX屬性對話框或是在運行時通過編程可以對圖層進行改變。新建圖層、刪除圖層以及更改圖層的可見性和樣式都是一些能在圖層上完成的操作。</p><p>  圖層集合Layers是由0到n個圖層對象組成的。圖層對象是由特性集合(Feature)組成的,且每一個特性都有其自己的屬性和樣式。特性集合由特征對象組成,對應地圖中的圖元,例如點、線和區(qū)域。可以創(chuàng)建

58、獨立的特征對象,也可以取得特征對象的集合。</p><p>  3.2.3 GeoSet</p><p>  GeoSet是地圖圖層及其設置的集合,可以在設計時指定GeoSet。在運行時指定要加載的其他GeoSet、給地圖對象添加圖層,或是操作圖層的外觀等操作都可同過屬性頁來實現(xiàn),或者可以通過與MapX一起裝載的MapX GeoSet Manager </p><p

59、>  圖3.2 GeoSet Manager程序</p><p>  程序來實現(xiàn)(如圖3.2)。</p><p>  利用MapX作為數據綁定或創(chuàng)建專題地圖時,可以用GeoDictionary來匹配數據源于地圖圖層。GeoDictionary是一個保存了關于哪個地圖圖層可以匹配、哪個字段可以用作匹配字段的信息文件。如果想運用自動匹配/自動綁定,則必須在GeoDictionary中注

60、冊文件。</p><p>  3.2.4 Annotations</p><p>  Annotations集合是把文本和符號放在地圖上的簡單方法。注釋放在所有其它圖層的最頂端,并且不和任何數據鏈接。</p><p>  3.2.5 創(chuàng)建對象</p><p>  在MapX對象模型中,可以用表3.2中的對象類來創(chuàng)建獨立對象。</p>

61、;<p>  表3.2 MapX對象類</p><p><b>  第四章 系統(tǒng)實現(xiàn)</b></p><p>  本系統(tǒng)使用VB6.0 + MapX5.0模式編程,使用MapX5.0來繪制、顯示、維護和管理地理信息;使用VB,通過ADO控件和ODBC連接數據庫來完成用戶界面設計和屬性數據管理。</p><p>  4.1 數據庫

62、的實現(xiàn)</p><p>  該系統(tǒng)的數據分為空間數據和屬性數據兩種,空間數據主要指與空間地理位置相關的數據:如管段、閥門的位置(坐標值)、唯一標識號等。屬性數據指的是設備的屬性信息:如設備的類型、型號、生產日期、檢修狀況等。對于與地理信息有關的數據,可以用MapX提供的圖層表示存儲,使之便于地理信息與地圖對象的緊密結合,對于屬性信息使用關系型數據庫Access進行存儲。 </p><p>

63、;  4.1.1 數據的關聯(lián)  </p><p>  在本應用系統(tǒng)中,管網空間數據是非結構化的,因而對空間數據的操作需要GIS軟件實現(xiàn),同時還要充分利用用戶現(xiàn)有的數據庫系統(tǒng),可以利用空間數據庫存儲空間數據,而借助于已有的關系數據庫管理屬性數據。因此本系統(tǒng)采用空間數據庫結合關系數據庫的方案,空間數據庫與關系數據庫通過關鍵字相關聯(lián)。(如圖4.1)</p><p> ?。╝)通過空間數據庫管理

64、空間數據 (b)通過關系數據庫管理屬性數據</p><p>  圖4.1 空間數據庫結合關系數據庫</p><p>  4.1.2 文件格式</p><p>  MapX中有五種文件格式,分別是*.DAT,*.TAB,*.IND,*.ID,*.MAP。</p><p>  (1)*.TAB:屬性數據結構文件,定義了地圖屬

65、性數據的結構,即地圖的屬性都由哪幾部分組成。用普通的記事本就可以打開,里面定義了各種屬性的名稱以及類型。</p><p>  (2)*.DAT:屬性數據文件,存放地圖的屬性數據。一般用Excel可以打開,看到的是在TAB中定義的各個屬性名稱所包含的值。</p><p>  (3)*.MAP:空間數據文件,存放圖像對象的數據,包括空間對象的幾何類、坐標信息、顏色信息等。</p>

66、<p>  (4)*.ID:交叉索引文件(二進制),連接屬性數據和圖形數據,記錄地圖中每個對象在*.MAP中的位置指針。</p><p>  (5)*.IND:對于某些字段專門建立的索引文件。</p><p>  *.DAT與*.TAB文件是MapX中必須的,*.IND 、*.MAP與*.ID并不是必須的,但如果存在,*.MAP與*.ID必須共存?!?lt;/p>&l

67、t;p>  4.1.3 空間數據表示方法</p><p>  空間數據主要由地理底圖數據和網文件組成,各種空間數據按其特征分層進行存儲。其中地理底圖數據劃分為一些最基本的地圖圖層,如居民區(qū)、建筑物、道路等,網文件則由用戶水表、閥門、管道等管網圖層組成。(如圖4.2) </p><p>  圖4.2 空間數據庫結構</p><p>  4.2 地圖圖層的劃分&

68、lt;/p><p>  使用MapX提供的GeoSet Manger管理器生成Watersuply圖層組,該圖層組由以下圖層組成:泵站層、干管層、支管層、開口層、節(jié)點層、閥門層、消火栓層、河流層、道路層、水廠層、大用戶層、普通用戶層和城市底層圖。對于每一個圖層都可以控制其是否顯示、可編輯、可選擇、可自動標注等。GeoSet Manger使用名為power.gst的文件記錄各個圖層的各種屬性值。下面以“道路”為例:&l

69、t;/p><p>  “\table\道路.tab\file”=”道路.tab”</p><p>  “\table\道路.tab\visible”=”true”</p><p>  “\table\道路.tab\automatic labels”=”true”</p><p>  “\table\道路.tab\selectable”=”fals

70、e”</p><p>  “\table\道路.tab\editable”=”false”</p><p>  簡單通俗來說在MapX中地圖的組成是各個的Feature在圖層上,所有的圖層按照一定順序排列,組成一個*.GST文件,就構成了一個完整的地圖文件。打開圖層控制(如圖4.3)對話框,選中圖層列表中某個圖層,再單擊“Display”可打開“顯示圖層”對話框,通過對話框的各項設置實現(xiàn)各

71、項圖層控制功能。</p><p>  圖4.3 圖層控制對話框</p><p>  圖層的添加過程如下所示,依次增加河流、道路以及建筑物。</p><p>  圖4.4 增加河流圖層</p><p>  圖4.5 繼續(xù)增加道路圖層</p><p>  圖4.6 繼續(xù)增加建筑物圖層</p><

72、p><b>  4.3 代碼生成</b></p><p>  4.3.1 界面設計</p><p>  Visual Basic提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設置這些圖形對象的屬性。Visual B

73、asic自動產生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設計的效率。</p><p>  系統(tǒng)主界面(圖4.7)及信息維護界面(圖4.8)如下所示:</p><p>  圖4.7 系統(tǒng)主界面</p><p>  圖4.8 設備信息維護界面</p><p>  4.3.2 圖像的基本操作</p

74、><p>  首先是一些最簡單的對于圖像的操作,在這里可以直接使用設置當前工具為所需要的工具來完成這個功能。具體代碼如下:</p><p>  Private Sub Command1_Click()</p><p>  Map1.CurrentTool = miZoomOutTool ‘縮小</p><p><b>

75、;  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  Map1.CurrentTool = miZoomInTool ‘放大</p><p><b>  End Sub</b></p><p>  Private

76、Sub Command3_Click()</p><p>  Map1.CurrentTool = miZoompanTool ‘漫游</p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click()</p><p>  Map1.Cur

77、rentTool = miZoomselectTool ‘選擇</p><p><b>  End Sub</b></p><p>  Private Sub Command5_Click()</p><p>  Set Map1.Bounds = Map1.Layers.Bounds ‘箭頭</p>

78、<p><b>  End Sub</b></p><p>  4.3.3 管網信息增、刪、改功能的實現(xiàn)</p><p>  本系統(tǒng)使用MapX提供的各種圖形工具來實現(xiàn)地理信息的增、刪、改,在繪制圖層上繪制需要將Map的工具置為繪制工具,具體代碼如下: </p><p>  Map1.CurrentTool = MapXLib.Too

79、lConstants.miAddLineTool ‘增加線</p><p>  Map1.CurrentTool = MapXLib.ToolConstants.miAddPointTool ‘增加點</p><p>  Map1.CurrentTool = MapXLib.ToolConstants.miAddPolylineTool ‘增加折線</p><p

80、>  Map1.CurrentTool = MapXLib.ToolConstants.miAddRegionTool ‘增加區(qū)域</p><p>  例如,我們用直線來表示管段,下面是向圖層中增加一個直線對象的實現(xiàn)語句。在這里使用插入工具時一定要保證設置了繪制圖層,否則程序會報錯。</p><p>  Private Sub Command1_Click()</p>

81、<p>  Map1.CreateCustomTool 22,miToolTypeLine,miArrowCursor</p><p>  Map1.CurrentTool=22</p><p><b>  End Sub</b></p><p>  Private Sub Map1_ToolUsed(ByVal ToolNum A

82、s Integer, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double, ByVal Shift As Boolean, ByVal Ctrl As Boolean, EnableDefault As Boolean)</p><p>  If ToolNum=22 Then</p><

83、p>  Dim pts As New Points</p><p>  Dim ftr As Feature</p><p>  Pts.AddXY X1,Y1</p><p>  Pts.AddXY X2,Y2</p><p>  Set frt=Map1.FeatureFactory.CreateLine(pts)</p>

84、;<p>  Ftr.Style.PickLine</p><p>  Map1.Layers(”my-temp-layer”).AddFeature ftr</p><p><b>  End If </b></p><p><b>  End sub</b></p><p>  4

85、.3.4 地理信息查詢和分析功能的實現(xiàn)</p><p>  使用MapX提供的信息工具顯示并查詢和地理信息有關的數據。例如用點表示閥門,可以通過鼠標選定閥門來顯示其信息。</p><p>  由于Find搜索方法要求圖層有索引字段,因此該模塊通過菜單“設置圖層據集”將數據綁定在圖層上以便于搜索圖元。該模塊中的數據綁定采用DataSet方法,打開了一個數據綁定對話框(圖4.9)以綁定數據。&

86、lt;/p><p>  Private Sub layer2datasetMenuItem_Click()</p><p>  layer2datasetForm.Show vbModal, Me ‘打開一個數據綁定對話框</p><p><b>  End Sub</b></p><p>  圖4.9 數據綁定對話框&

87、lt;/p><p>  圖4.10 搜索對話框</p><p>  根據圖4.10,F(xiàn)ind對象屬性可指定的查找參數見表4.1,正是通過對這些屬性的設置實現(xiàn)了圖元的精確搜索。</p><p>  表4.1 Find對象屬性描述</p><p>  4.3.5 專題制圖的實現(xiàn)</p><p>  專題制圖是按照特定專題渲

88、染地圖的過程。專題通常使用數據集中的一組或多組數據。專題利用顏色渲染、填充圖案、符號、直方和餅圖表示數據。根據數據中的特定值指派這些顏色、圖案或符號,可以創(chuàng)建不同的專題地圖。</p><p>  專題制圖模塊功能是根據已有的數據集和圖層,制作專題地圖,為系統(tǒng)提供強大的分析和可視化數據的方法、途徑。如對出現(xiàn)事故的管段進行顏色渲染,直觀地顯示其地理分布,為爆管搶修提供輔助決策。</p><p>

89、;  圖4.11 專題制圖對話框</p><p>  從圖4.11可見,規(guī)劃專題地圖有三個內容:</p><p><b>  數據來源位置</b></p><p>  開始應用專題地圖前,需要決定要顯示哪些信息以及信息駐留的位置。創(chuàng)建專題地圖所用的數據來自數據集的Field集合。這些字段作為Theme集合的Themes.Add方法的Field

90、s參數來傳遞。</p><p><b>  專題變量</b></p><p>  專題地圖上顯示的數據稱為專題變量。根據所執(zhí)行的專題分析類型,地圖可以顯示一個或多個專題變量。 </p><p><b>  專題類型</b></p><p>  指定要創(chuàng)建的專題地圖類型??梢詣?chuàng)建的專題類型見表4.2:

91、</p><p>  表4.2 專題類型</p><p>  4.4 非地理信息數據的處理</p><p>  對于非地理信息數據,使用VB中的ADO空間和ODBC數據源連接數據庫,進行信息顯示、查詢和管理。本課題采用Access 2003完成屬性數據的管理。</p><p>  4.4.1 設備屬性表</p><p&g

92、t;  設備屬性表用來保存設備的基本信息。結構如下:</p><p>  表4.3 設備屬性表的基本信息結構</p><p>  4.4.2 管段數據表</p><p>  管段數據表用來保存管段的詳細信息。結構如下:</p><p>  表4.4 管段數據表結構</p><p>  4.4.3 節(jié)點數據表<

93、/p><p>  節(jié)點數據表用來保存各結點的信息。結構如下:</p><p>  表4.5 節(jié)點數據表的信息結構</p><p>  4.4.4 消防栓數據庫表</p><p>  消防栓數據庫表用來保存消防栓的具體信息。結構如下:</p><p>  表4.6 消防栓數據庫表</p><p>

94、  4.4.5 圖層數據集表</p><p>  圖層數據集表用來保存圖層數據集的信息。結構如下:</p><p>  表4.7 圖層數據集表結構</p><p>  4.4.6 專題圖字段表</p><p>  專題圖字段表用來保存專題圖的字段信息。結構如下:</p><p>  表4.8 專題圖字段表結構<

95、;/p><p><b>  第五章 結束語</b></p><p>  5.1 系統(tǒng)設計的特點和不足</p><p>  在這次課題設計中,我實現(xiàn)的地理信息系統(tǒng)各模塊有以下幾個特點:</p><p> ?。?)課題設計中用到了可視化的面向對象技術的Visual Basic 6.0、先進的地圖信息系統(tǒng)軟件MapInfo以及功能

96、強大的二次開發(fā)工具MapX,保證工作的效率和質量。</p><p> ?。?)較為完整地描述了地理信息系統(tǒng)的圖層控制、對象編輯以及圖元搜索等功能。 </p><p>  但是,由于時間倉促和能力水平有限,所設計的軟件仍然有許多地方值得改進,以下是幾點不足:</p><p> ?。?)系統(tǒng)的體系設計不完善。由于缺乏對實際項目活動的真實體驗,所以在做系統(tǒng)功能和需求分析時

97、不夠深入和具體。</p><p>  (2)系統(tǒng)的功能不夠強大。地理信息系統(tǒng)是功能強大的信息綜合管理系統(tǒng),而由于我對相關的知識了解甚少,在時間緊迫的情況下未能深入學習,且對編程工具的使用不夠熟練,所以實現(xiàn)的各模塊功能也稍顯簡單。</p><p> ?。?)界面設計還不夠友好。由于缺乏經驗,欠缺對軟件的合理規(guī)劃布局,設計出來的軟件使用和操作不夠簡便。</p><p>

98、  5.2 畢業(yè)設計的心得體會</p><p>  畢業(yè)設計是我大學本科學習的一次重要實踐,在完成本課題的過程中,遇到不少問題,這對實踐經驗少的我來說是一種考驗,又是對我能否快速地將所學的理論轉化為實踐能力的一種挑戰(zhàn)。因此可以說,它對我今后的學習和工作有著十分重要的意義。</p><p>  以下是我的幾點心得體會:</p><p>  (1)要有不斷學習的精神和毅

99、力。在實踐的過程中會發(fā)現(xiàn),要完成一個項目或一部分工作往往要用到非常綜合的知識,這要求不斷學習以適應工作、適應發(fā)展。</p><p> ?。?)要有創(chuàng)新意識。在項目的開發(fā)過程中要有自己的設計思路,可以借鑒和歸納其他項目設計思想,然后把精華部分合理的應用變成自己的。</p><p>  (3)以細致取勝。由于設計功能復雜,要做的東西很多,需要的知識面也廣。因此要非常細致。例如,我在編程的過程中

100、因幾次小失誤而走了不少彎路,浪費大量寶貴的時間。所以在設計的過程中不要忽視每一個細節(jié),它可能是關鍵的一步,也可能是取勝的籌碼。</p><p>  (4)多與人交流。在進行項目系統(tǒng)的設計時,我碰到了許多新的問題,有的花費好長時間也不能解決,幸好在我的身邊有眾多的老師和同學,他們積極地給我提供幫助并交流思想。慢慢地我發(fā)現(xiàn),這是取得快速成功的方法之一。因為交流可以減少我思想上的盲區(qū),并能產生工作上的默契,從而提高工作

101、的效率。</p><p><b>  致 謝</b></p><p>  歷時近兩個月的畢業(yè)設計即將結束,在教研室的大力支持和指導教員的悉心指導下,課題已經按預定計劃比較順利地完成了。</p><p>  首先感謝我們的指導老師***,在設計的過程中他給予了我大力的支持和幫助。還要感謝計算機教研室在課題設計過程中的大力支持,不僅為我們提供了

102、充足的學習時間和良好的工作環(huán)境,而且請教任何一位教員都能夠得到耐心的解答。再次是感謝正在進行項目開發(fā)的教員和研究生們,他們給予了我不少幫助和建議。課題實踐完成后,我感覺受益非淺。</p><p>  畢業(yè)設計的結束意味著我們即將畢業(yè)。在此,感謝四年來母校以及教員辛勤的培養(yǎng),我學到了很多知識,還有一些做人的道理。這些都會更好地指導我今后的生活,是我人生的一筆巨大財富,為日后的發(fā)展添磚加瓦。最后,感謝我的學長和全體同

103、學,不論學習上、課題設計上還是生活中,都給予了我很多的幫助和指導,在此向他們表示衷心的感謝!</p><p><b>  參考文獻</b></p><p>  [1]Tor Bernhardsen著;王滸,李浩川譯.地理信息系統(tǒng)導論(原書第3版).北京:機械工業(yè)出版社,2006.3</p><p>  [2]劉瑞新等.Visual Basic程

104、序設計教程(第二版).北京:電子工業(yè)出版社,2003.4</p><p>  [3]羅云啟,曾琨,羅毅等.數字化地理信息系統(tǒng)建設與MapInfo高級應用.北京:清華大學出版社,2005</p><p>  [4]張正棟,邱國鋒,鄭春燕,胡華科等.地理信息系統(tǒng)原理、應用與工程.武漢:武漢大學出版社,2005</p><p>  [5]吳立新.地理信息系統(tǒng)原理與算法.北

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論