(精品論文)計算機畢業(yè)設計論文_基于gis的市政設施管理摘要_第1頁
(精品論文)計算機畢業(yè)設計論文_基于gis的市政設施管理摘要_第2頁
(精品論文)計算機畢業(yè)設計論文_基于gis的市政設施管理摘要_第3頁
(精品論文)計算機畢業(yè)設計論文_基于gis的市政設施管理摘要_第4頁
(精品論文)計算機畢業(yè)設計論文_基于gis的市政設施管理摘要_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1 基于基于 GISGIS 的市政設施管理系統(tǒng)的市政設施管理系統(tǒng) 摘 要 基于 GIS 的施政設施管理系統(tǒng)采用了以 C#為前臺,SQL Server 2000 為后 臺的設計方法,具體實現(xiàn)了電子地圖的控制功能,市政設施數(shù)據管理功能和 系統(tǒng)維護功能。 本文詳細論述了系統(tǒng)的設計和實現(xiàn)的過程,包括系統(tǒng)的需求分析,概念 設計,邏輯設計,應用程序設計和主程序的調試和試運行情況,最后介紹了 本系統(tǒng)的使用說明。在需求分析中著重介紹了系統(tǒng)的功能設置及系統(tǒng)的數(shù)據 流程圖和數(shù)據字典。實體及其之間關系模型的設計即概念設計和邏輯設計也 在本文中進行了詳細的說明。在系統(tǒng)的應用程序設計中,敘述了系統(tǒng)的主窗 口界面和各部分的功能模塊的設計思想及實現(xiàn)的方法。系統(tǒng)程序調試章節(jié)中 敘述了在調試中遇到的問題和解決的方法。 關鍵詞GIS; 市政設施; 管理系統(tǒng) 2 Management System Of Municipal Facilities Based On GIS Abstract This dissertation introduces the course of design of Management system of municipal facilities based on GIS, included of requirement analyse, conception design, logic design, application design, main program debugging and running test of main program, in the end, it introduces the using explain of the system. In the paragraph of requirement analyse, it particularly introduces general situation of system, function setting, collectivity target, structure of main system and subsystem, data flow chart and data dictionary of system. Conception design and logic design which aim at data design for this system, explain the designs of all kinds of information tables. In the part of application design, at first it introduces a software and modules for developing this system, then the main window and function of every part in the window, in the end it explains design idea and method of functions in every subsystem, there are also some code for that. The paragraph of program debugging and running describes some debugging problems and how to deal with them, and show the running status in function test. Key WordsGIS; Municipal facilities; Management system 目 錄 緒緒 論論1 1 基于基于 GIS 的市政設施管理系統(tǒng)的需求分析的市政設施管理系統(tǒng)的需求分析.3 1.1 系統(tǒng)概況.3 1.2 系統(tǒng)功能說明.3 1.3 系統(tǒng)總體達到的目標.6 1.4 系統(tǒng)總體結構和子系統(tǒng)結構.6 1.4.1 系統(tǒng)總體結構6 1.4.2 子系統(tǒng)結構6 1.5 系統(tǒng)的數(shù)據流程圖和數(shù)據字典.10 1.6 系統(tǒng)的軟硬件支持環(huán)境.12 2 基于基于 GIS 的市政設施管理系統(tǒng)的概念設計的市政設施管理系統(tǒng)的概念設計.12 3 基于基于 GIS 的市政設施管理系統(tǒng)的邏輯設計的市政設施管理系統(tǒng)的邏輯設計.13 4 基于基于 GIS 的市政設施管理系統(tǒng)的應用程序設計的市政設施管理系統(tǒng)的應用程序設計.15 4.1 相關軟件介紹.15 4.2 主窗口設計.16 4.3 功能模塊設計.18 4.3.1 電子地圖控制子系統(tǒng)功能模塊設計18 4.3.2 電子地圖顯示子系統(tǒng)功能模塊設計20 4.3.3 電子地圖輸出子系統(tǒng)功能模塊設計21 4.3.4 查詢子系統(tǒng)功能模塊設計22 4.3.5 數(shù)據修改子系統(tǒng)功能模塊設計23 4.3.6 幫助子系統(tǒng)功能模塊設計27 4.3.7 其他功能模塊設計系統(tǒng)維護功能模塊27 5 系統(tǒng)程序調試與試運行情況系統(tǒng)程序調試與試運行情況28 6 系統(tǒng)的使用說明系統(tǒng)的使用說明35 結論結論36 致謝致謝37 主要參考文獻主要參考文獻37 1 外文資料翻譯外文資料翻譯38 1 緒 論 為了滿足 GIS 對地球表面、空中和地下的若干要素空間分布和相互關系 的研究,GIS 都具有公共地理定位基礎、標準化和數(shù)字化、多維結構的特點。 此外,GIS 還具有數(shù)據輸入、存貯、編輯、查詢、檢索、顯示輸出的功能, 能進行各種操作運算和應用分析,并易于更新維護。GIS 對圖形的編輯處理 是其用戶界面的最顯著的特點之一。一般來說 GIS 的特點為:空間可視化, 空間導向,空間思維。 GIS 概念的提出要追溯到二十世紀五十年代,計算機科學在測量學和地 圖制圖學中的應用,使人們開始有可能用電子計算機來收集,存儲和處理各 種與空間和地理分布有關的圖形和屬性數(shù)據,并希望通過計算機對數(shù)據的分 析來直接為管理和決策服務。奧地利測繪部門首先建立了地籍數(shù)據庫,而后 加拿大的測量學家首先提出了地理信息系統(tǒng)這一術語,并建立了世界上第一 個 GIS加拿大地理信息系統(tǒng),用于自然資源的管理和規(guī)劃。六十年代 IBM 和 COLORADO 也開始致力于 GIS 的研究和相關軟件的開發(fā)。七十年代受計 算機軟硬件發(fā)展的促進,GIS 技術朝實用化方向發(fā)展,一些發(fā)達國家將 GIS 投入實際應用,與此同時,GIS 軟件得到很大的發(fā)展,成為一個引人注目的 領域。 而后的幾十年中 GIS 得到了普及和推廣應用,GIS 軟件的發(fā)展主要在開放 GIS 的研究;關系數(shù)據庫和 GIS 的結合;GIS 構件的開發(fā)和互聯(lián)網成為了 GIS 新的操作平臺。隨著數(shù)字化信息產品的普及,GIS 已經成為了人們生產 生活中不用可缺少的工具和助手。 2 絕大多數(shù)的 GIS,主要處理二維空間數(shù)據,從這些數(shù)據中經過處理得出 的有用的信息,既可以通過圖形圖像的形式表達,也可以統(tǒng)計圖,表格和各 種各 樣的人機交互形式來表達。GIS 可通過獲取,輸入,操作,傳輸,可視化, 組合,查詢,分析,建模和輸出數(shù)據的形式為土地利用,自然資源,環(huán)境, 運輸,城市設施和其它管理的規(guī)劃和管理提供決策支持。目前的 GIS 的研究 和應用都處在一個高速發(fā)展的階段,未來若干年空間數(shù)據的采集和 GIS 技術 將會有更新更大的發(fā)展,從而給城市空間數(shù)據生產和 GIS 應用增添新的活力。 衛(wèi)星影像技術,數(shù)字攝影測量和空間定位技術的發(fā)展將為 GIS 的發(fā)展提供支 持,新的數(shù)據獲取和更新技術的發(fā)展,新數(shù)據形式的應用,數(shù)據共享政策及 其實施,國家多尺度空間數(shù)據基礎設施的建設以及數(shù)字地球和數(shù)字城市的建 設都將大大改善城市空間數(shù)據的狀況。GIS 技術的將在城市發(fā)展中得到實際 應用,從而提高了 GIS 系統(tǒng)的應用的水平。城市 GIS 將進一步轉向應用,為 城市的發(fā)展建立一整套的數(shù)字信息,將會帶來極大的實際效益,GIS 也將真 正走向產業(yè)化和市場化。 本系統(tǒng)是基于 GIS 的市政設施管理系統(tǒng),通過本系統(tǒng),可以實現(xiàn)對市政 設施的信息化管理,提高各市政部門的協(xié)同工作,改變現(xiàn)有的對設施的管理 模式。系統(tǒng)的設計主要依據城市市政監(jiān)管信息化系列標準,通過 C#平臺來實 現(xiàn)。 3 1 基于 GIS 的市政設施管理系統(tǒng)的需求分析 1.1 系統(tǒng)概況 基于 GIS 的市政設施管理系統(tǒng)的功能主要是對市政設施進行查找和管理, 這是適應市政管理現(xiàn)代化,數(shù)字化和信息化的要求,結合已經制定的城市市 政監(jiān)管信息化系列標準,可以實現(xiàn)市政設施管理的無紙化操作,不但提高了 工作效率,而且可以實現(xiàn)各個市政部門之間的協(xié)作。系統(tǒng)的開發(fā)使用 C#平臺 和 MapObjects2.3 組件,可以對地圖進行操作,實現(xiàn)地理位置和市政設施屬 性的互動,使用戶得到更直觀的信息。通過在 C#中嵌入 MO2.3 便可以進行 基于 GIS 的市政設施管理系統(tǒng)的開發(fā)??紤]到系統(tǒng)的應用范圍和對象,主要 實現(xiàn)兩大關鍵功能,查找功能和數(shù)據修改功能,并可以通過地圖標記輔助查 找定位功能。 1.2 系統(tǒng)功能說明 基于 GIS 的市政設施管理系統(tǒng)主要是為市政部門提供一個信息化的管理 方式,系統(tǒng)為一般用戶提供了設施查找和定位功能,也為專業(yè)用戶提供了數(shù) 據修改功能以實現(xiàn)數(shù)據信息的更新。本系統(tǒng)分為七大子系統(tǒng):電子地圖控制 子系統(tǒng),電子地圖顯示子系統(tǒng),電子地圖輸出子系統(tǒng),查詢子系統(tǒng),數(shù)據修 改子系統(tǒng),幫助子系統(tǒng),其他(系統(tǒng)維護) 。 (1) 電子地圖控制子系統(tǒng) 電子地圖控制子系統(tǒng)主要是對電子地圖進行操作,實現(xiàn)放大,縮小,漫 游的功能,并可以對電子地圖的圖層進行選擇顯示。 4 (2) 電子地圖顯示子系統(tǒng) 電子地圖顯示子系統(tǒng)是控制系統(tǒng)各個地圖顯示的模塊,可以對所顯示的 地圖做標記并可以通過刷新消除標記,顯示所選擇的地圖,鷹眼功能可以在 主地圖顯示范圍變化時顯示出主窗口地圖在全比例地圖下的位置和范圍。 (3) 電子地圖輸出子系統(tǒng) 電子地圖輸出子系統(tǒng)是對主窗口地圖窗口范圍或全部范圍輸出,并保存 為 bmp 格式圖片或通過打印機打印出來,滿足不同的保存需求。 (4) 查詢子系統(tǒng) 查詢子系統(tǒng)是本系統(tǒng)中的關鍵功能之一,用戶可以通過此功能方便的查 找到所需的設施。系統(tǒng)提供了兩種查找方式:一個是通過選擇部件或事件的 大類和小類來查找相同類別的所有設施部件或事件;另外一個是通過物理位 置查找,輸入坐標和距離中心坐標點的位移來查找距離中心點某距離的所有 設施部件或所有事件,或者在結果列表中選擇一個部件或者事件,再選擇距 離后就可以查找得到和所選部件或事件某距離內的所有部件或事件。設置這 兩種查找方式的原因是考慮到市政管理的特點,需要對相同類別的設施部件 或事件進行查看分析,而查找某個坐標點或區(qū)域的設施部件或事件以便于市 政部門分析區(qū)域事件進行設施維護和管理。 (5) 數(shù)據修改子系統(tǒng) 數(shù)據修改子系統(tǒng)也是本系統(tǒng)中關鍵功能之一,用戶通過此子系統(tǒng)模塊實 現(xiàn)對市政設施部件或事件及其屬性的新建,修改和刪除功能。部件和事件的 屬性設置根據城市市政監(jiān)管信息化系列標準設置,通過主界面上或菜單欄中 的數(shù)據修改功能的選項即可對數(shù)據庫中的數(shù)據進行操作。新建功能:選擇此 選項即可往數(shù)據庫中添加新的部件或事件,在大小類別選擇框中選擇要新建 5 的項目類別,然后輸入相關屬性即可添加成功;修改功能:首先通過大小類 別下拉框選擇要修改項目的類別,然后在結果列表中選擇具體的部件或事件, 也可以通過坐標查找要修改的具體的部件或事件,此時屬性框中顯示的屬性 即為修改前的屬性設置,對某屬性修改后點擊修改按鈕即可,當再次選擇此 部件或事件時,屬性框顯示的即為修改后的屬性設置;刪除功能:通過大小 類別下拉框選擇要刪除項目的類別,然后在結果類別中選擇具體的部件或事 件,同樣可以通過坐標查找要修改的具體的部件或事件,點擊刪除按鈕即刪 除并刷新數(shù)據庫通過結果列表顯示。數(shù)據修改功能使市政設施管理系統(tǒng)保證 數(shù)據適時更新,準確地反映現(xiàn)實情況,為市政管理提供最有力的支持。 (6) 幫助子系統(tǒng) GIS 系統(tǒng)相對來說是專業(yè)性比較強的系統(tǒng),對于一般的用戶使用起來可 能會覺得有困難,因此在本系統(tǒng)中實現(xiàn)了幫助功能,單機幫助功能通過幫助 文檔能夠為用戶提供一般問題的幫助,當幫助文檔不能解決所遇到的問題時, 可以通過在線幫助鏈接幫助網頁來解決更新的幫助文檔不能解決的問題。幫 助功能使初次使用的用戶更容易適應本系統(tǒng),并使本系統(tǒng)發(fā)揮很好的作用。 (7) 其他(系統(tǒng)維護) 系統(tǒng)維護功能為系統(tǒng)的升級和日常維護提供了便利的接口,通過系統(tǒng)界 面上的功能設置即可對數(shù)據庫的數(shù)據進行操作而不必進入數(shù)據庫中設置數(shù)據, 使系統(tǒng)維護的難度降低,更加平民化,便于市政部門對系統(tǒng)的日常維護,不 需數(shù)據庫或系統(tǒng)的設計人員來做系統(tǒng)維護。系統(tǒng)維護提供了大小類別的維護 功能,通過系統(tǒng)主界面菜單欄系統(tǒng)維護選項即可進行維護操作,分別為大類 別中部件和事件維護,小類別中部件和事件維護。為了保證數(shù)據的正確性, 設定為系統(tǒng)維護后要求重啟系統(tǒng)。 6 1.3 系統(tǒng)總體達到的目標 界面設計簡單,美觀;用戶能夠直接使用系統(tǒng)而不必接受培訓;數(shù)據能 夠有效地更新;數(shù)據的更新不會影響到系統(tǒng)運行的穩(wěn)定性;系統(tǒng)運行的結果 能夠有效反映相關數(shù)據的更新;保證系統(tǒng)的易維護性。 1.4 系統(tǒng)總體結構和子系統(tǒng)結構 1.4.1 系統(tǒng)總體結構 根據本系統(tǒng)的功能設置,系統(tǒng)的總體結構為: 基于 GIS 的 市政設 施管理 系統(tǒng) 電子地 圖控制 子系統(tǒng) 電子地 圖顯示 子系統(tǒng) 電子地 圖輸出 子系統(tǒng) 查詢子 系統(tǒng) 數(shù)據修 改子系 統(tǒng) 幫助子 系統(tǒng) 其他功 能 圖 1.1 系統(tǒng)總體結構圖 1.4.2 子系統(tǒng)結構 根據子系統(tǒng)的功能設置,電子地圖控制子系統(tǒng)結構為: 7 電子地圖控制 子系統(tǒng) 地圖放大 地圖縮小 地圖漫游 地圖圖層選擇 圖 1.2 電子地圖控制子系統(tǒng)結構圖 根據子系統(tǒng)的功能設置,電子地圖顯示子系統(tǒng)結構為: 電子地圖顯示 子系統(tǒng) 刷新清除標記顯示所選擇地 圖及其圖層 鷹眼功能顯示市政設施 部件或事件標 記 圖 1.3 電子地圖顯示子系統(tǒng)結構圖 根據子系統(tǒng)的功能設置,電子地圖輸出子系統(tǒng)結構為: 8 電子地圖輸出 子系統(tǒng) 主窗口地圖輸 出 主窗口地圖窗 口部分輸出 輸出格式為. bmp 的圖像文 件 從打印機輸出輸出格式為. bmp 的圖像文 件 從打印機輸出 圖 1.4 電子地圖輸出子系統(tǒng)結構圖 根據子系統(tǒng)的功能設置,查詢子系統(tǒng)和數(shù)據修改子系統(tǒng)結構為: 查詢子系統(tǒng) 和數(shù)據修改 子系統(tǒng) 查詢子系統(tǒng)數(shù)據修改子 系統(tǒng) 通過類別查 找 通過物理位 置查找 數(shù)據添加數(shù)據修改數(shù)據刪除 圖 1.5 查詢子系統(tǒng)和數(shù)據修改子系統(tǒng)結構圖 根據子系統(tǒng)的功能設置,幫助子系統(tǒng)和其它功能部分系統(tǒng)結構為: 9 幫助子系統(tǒng)和其它功 能部分 幫助子系統(tǒng)其它功能 單機幫助在線幫助系統(tǒng)維護 圖 1.6 幫助子系統(tǒng)和其它功能部分系統(tǒng)結構圖 基于 GIS 系統(tǒng)的市政設施管理系統(tǒng)根據各大功能類別將系統(tǒng)分為七大子 系統(tǒng),每個子系統(tǒng)由各自的功能模塊組成,這樣的子系統(tǒng)分類方式有利于系 統(tǒng)的設計和代碼的維護,也利于實現(xiàn)代碼模塊之間的相互獨立,通過一些接 口調用其它模塊,也符合面向對象編程的思想。 10 1.5 系統(tǒng)的數(shù)據流程圖和數(shù)據字典 圖 1.7 數(shù)據流程圖 下面列出數(shù)據字典: 表 1.1 部件數(shù)據字典 名稱CityObj 如何使用查詢時輸出,數(shù)據修改是輸入 描述CityObj=基本屬性 | 基本屬性+擴展屬性 基本屬性=標識碼,名稱,所屬部門,所在萬米單元,位 置描述,狀態(tài),現(xiàn)勢性,初始時間,變更時間 擴展屬性=源比例尺,備注 11 表 1.2 事件數(shù)據字典 名稱CityEvent 何處使用查詢時輸出,數(shù)據修改時輸入 描述CityEvent=基本屬性 基本屬性=代碼,名稱,歸屬部門,問題位置,所在單元網格 表 1.3 部門數(shù)據字典 名稱DeptList 何處使用和部件表,事件表關聯(lián)。查詢時輸出 描述DeptEvent=基本屬性 基本屬性=單位序號,單位代碼,專業(yè)部門名稱,單位類別 表 1.4 地區(qū)代碼編碼數(shù)據字典 名稱LocCode 何處使用和部件表,時間表關聯(lián)。查詢時輸出 描述LocCode=地區(qū)編碼,地區(qū)名稱 表 1.5 部件大小類別數(shù)據字典 名稱ObjLevel 何處使用和部件表關聯(lián)。查詢時輸出,系統(tǒng)維護時輸入 描述ObjLevel=Obj2Code,Obj1code,Obj2Name,Obj1Name 表 1.6 事件大小類別數(shù)據字典 名稱EventLevel 何處使用和事件表關聯(lián)。查詢時輸出,系統(tǒng)維護時輸入 12 描述EventLevel=Event2Code,Event1Code,Event2Name,Event1Name 1.6 系統(tǒng)的軟硬件支持環(huán)境 從本系統(tǒng)的應用范圍和對象考慮,軟硬件要求比較低。采用 C#的編程平 臺和 SQL2000 數(shù)據庫作為后臺的編程方式也使本系統(tǒng)的通用性移植性比較強, 各個市政部門的計算機和移動計算設備都可以運行。考慮到 SQL 數(shù)據庫數(shù)據 量比較大,建議使用 256M 內存,主頻為 1.3G 以上的處理器,硬盤空間參考 數(shù)據庫存儲量。系統(tǒng)編程平臺為:C#為前臺,SQL2000 為后臺。 13 2 基于 GIS 的市政設施管理系統(tǒng)的概念設計 圖 2.1 系統(tǒng) E-R 圖 3 基于 GIS 的市政設施管理系統(tǒng)的邏輯設計 (1) 市政設施部件基本信息表(CityObj) 表 3.1 部件基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 Code標識碼Char160 14 Name名稱Char300 DeptNameID歸屬部門Char600 GBCode所在萬米單元Char120 Pos位置描述Char300 ObjState狀態(tài)Char300 ObjUseState現(xiàn)勢性Char300 BeginTime初始時間Date100 EndTime變更時間Date100 MapScale源比例尺Number101 Memo備注Char1001 (2) 市政事件基本信息表(CityEvent) 表 3.2 事件基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 Code代碼Char 100 Name名稱Char 300 DeptNameID歸屬部門Char 600 Pos問題位置Char 300 GBcode所在單元網格Char 120 (3) 市政部門基本信息表(DeptList) 表 3.3 部門基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 DeptID單位序號Char100 15 DeptCode單位代碼Char100 DeptName專業(yè)部門名稱Char600 DeptClassCode單位類別Char20 (4) 地區(qū)代碼基本信息表(LocCode) 表 3.4 地區(qū)代碼基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 LocCode地區(qū)編碼Char60 LocName地區(qū)名稱Char300 (5) 單位分類基本信息表(DeptClass) 表 3.5 單位分類基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 DeptCode分類代碼Char20 DeptName單位名稱Char600 (6) 部件分類基本信息表(ObjLevel) 表 3.3 部件分類基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 Obj2Code小類別代碼Char20 Obj1Code大類別代碼Char20 Obj2Name部件名稱Char300 ObjDeptName部件歸屬單位Char600 ObjSuppDeptN部件處理單位Char600 (7) 事件分類基本信息表(EventLevel) 表 3.3 事件分類基本信息表 列名屬性項數(shù)據類型長度允許空主關鍵字 Event2Code小類別代碼Char20 Event1Code大類別代碼Char20 Event2Name事件名稱Char300 EventDeptID事件處理單位Char600 16 4 基于 GIS 的市政設施管理系統(tǒng)的應用程序設計 4.1 相關軟件介紹 C#是可用于創(chuàng)建要運行在 NET CLR 上的應用程序的語言之一,它是從 C 和 C+語言演化而來,是 Microsoft 專門為使用.NET 平臺而創(chuàng)建的。因為 C#是近期發(fā)展起來的,所以吸取了以前的教訓,考慮了其他語言的許多優(yōu)點, 并解決了它們的問題。使用 C#開發(fā)應用程序比使用 C+簡單,因為其語法比 較簡單,而且 C+的能完成的任務在 C#中也能完成。C#代碼通常比 C+略 長一些,這是因為 C#是一種類型安全的語言,而且 C#的代碼更健壯,調試 也比較簡單,.NET 總是可以隨時追蹤數(shù)據的類型。C#只是.NET 開發(fā)的一種 語言,也是最好的一種語言,它有很多的優(yōu)點:首先它是唯一為.NET Framework 而設計的語言,是在移植到其他操作系統(tǒng)上的.NET 版本中使用的 主要語言。 MapObjects 是 ESRI 在一九九六年推出的基于軟件開發(fā)的地圖和 GIS 組 件,是 ESRI 的一個單獨開發(fā)的產品,在短短的幾年里就得到了廣發(fā)的應用, MapObjects2.2 增加了對.NET 的支持,最新的版本 MapObject2.3 增加了一些 補丁。MO 作為一套制圖軟件集,它是程序員能夠把地圖加到應用程序中去, 通過 MapObjects 便可靈活的建立適合用戶的地圖接口,在小內存空間中,用 戶可以用多種工業(yè)標準程序環(huán)境之一去建立應用程序,來實現(xiàn)地圖與用戶信 息的聯(lián)系。MO 的功能有:顯示一張多圖層的地圖(道路,河流,邊界等) ; 地圖的放大,縮小,漫游;生成圖形元素,如點,線,圓,多邊形;說明標 記;識別地圖上被選中的元素;通過線,方框,區(qū)域,多邊形,圓來拾取物 17 體,拾取距參照物特定范圍內的物體;通過 SQL 描述來選擇物體;對所選擇 的物體進行基本統(tǒng)計,對所選地圖元素的屬性進行更新;繪制地圖元素,標 注地圖元素;從航片或衛(wèi)星圖片上截取圖像;動態(tài)顯示實時或系列時間組數(shù) 據;在圖上標注地址或定位。通過在 C#中嵌入 MO2.3 便可以進行 GIS 系統(tǒng) 的二次開發(fā),其中對地圖的操作可以通過 MO 中的控件進行一些程序代碼完 成。 4.2 主窗口設計 根據系統(tǒng)的功能要求和方便使用的原則,主窗口設計如下圖 4.1: 圖 4.1 主窗口設計圖 窗口上方的工具欄按鈕依次為:系統(tǒng)維護,放大,縮小,刷新,漫游, 18 輸出,查詢,數(shù)據修改,圖例,幫助和退出。左側的 output_listbox 是查詢結 果列表,顯示查找結果和地圖標記信息;下方是鷹眼地圖顯示窗口。右側為 查詢和數(shù)據修改功能欄,可以進行查找和數(shù)據修改操作。中間空白處即為主 地圖顯示窗口,顯示所選擇地圖的相關圖層。最右側的一列小按鈕是地圖操 作按鈕,可以進行點選擇,矩形選擇,多邊形選擇操作和距離,面積量算。 4.3 功能模塊設計 4.3.1 電子地圖控制子系統(tǒng)功能模塊設計 電子地圖控制子系統(tǒng)主要包括地圖放大,地圖縮小,地圖漫游三個功能 模塊。 (1)地圖放大功能模塊。此功能實現(xiàn)了地圖的放大顯示,方便用戶的查 詢和查看。點擊一次放大2倍,放大倍數(shù)同界面地圖顯示主窗口右上方的地圖 倍數(shù)選擇快捷鍵相對應,地圖載入時初始狀態(tài)為原始比例。在進行快捷鍵實 現(xiàn)放大和縮小功能前需設定屏幕中心點,以便在放大后保證地圖的顯示中心 不變,具體語句如下: MapObjects2.Point pt;/設定中心點 pt = _map.Extent.Center; 放大為 200%(放大其他倍數(shù)方法同放大為 2 倍, )時具體實現(xiàn)如下: MapOpr.MO_ZOOMIN: if(_environment.CalcScale(_map)MAX_SCALE) return;/達到最大倍數(shù)時不能繼續(xù)放大 19 MapObjects2.Rectangle rect; rect=_map.TrackRectangle (); double dScale=_environment.CalcScale(_map); double dScale=_environment.CalcScale(_map,rect); double dWidth=rect.Width ; double dHeight=rect.Height ; if(null=rect) | (dWidthMAX_SCALE) 為if(_environment.CalcScale(_map)MIN_SCALE) 和倍數(shù)參數(shù)設置語句 r.ScaleRectangle (0.5) 為r.ScaleRectangle (2.0) 即可。 (3)地圖漫游功能模塊。此功能實現(xiàn)了地圖的拖動顯示,方便用戶的查 21 詢和查看。具體實現(xiàn)語句可以直接調用 MO 的方法: case MapOpr.MO_PAN: _map.Pan (); _mapEye.Extent =_mapEye.Extent; 4.3.2 電子地圖顯示子系統(tǒng)功能模塊設計 電子地圖顯示子系統(tǒng)主要包括電子地圖鷹眼顯示,地圖標記和清除標記 三個功能模塊。 (1)地圖鷹眼顯示功能模塊。此功能主要為用戶提供主窗口地圖在某倍 數(shù)下窗口范圍在地圖上的地理位置,可以方便的看到窗口范圍顯示的地圖部 分在全圖中的方位。主窗口地圖顯示的倍數(shù)越大,鷹眼窗口中顯示窗口地圖 范圍的矩形框就越小,反之則越大,鷹眼地圖適中以全圖顯示,地圖倍數(shù)不 會發(fā)生變化,也不允許用戶更改。鷹眼地圖圖層的加入通過 LoadLayersForEagleEye() layer.GeoDataset = _environment.m_db.FindGeoDataset(_environment.m_layerInfosi.szFileName); _mapEye.Layers.Add(layer); 來實現(xiàn)(上面是功能實現(xiàn)的主要語句,一些判斷語句省略)。 (2)地圖標記功能模塊。此功能主要是為了方便用戶更快的找到所需查 找的信息,在點擊結果列表中的部件或事件時,左側的操作面板中的屬性框 會顯示其屬性,而主窗口地圖則會移動以部件或事件地理位置為中心點顯示, 并且在動態(tài)層上用一個紅色圓圈標記出地理位置,直到用戶清除標記或重啟 系統(tǒng)為止。 22 (3)清除標記功能模塊。這個功能與地圖標記功能相對,當用戶使用此 功能時,標記在動態(tài)層上的所有標記都被清除。 4.3.3 電子地圖輸出子系統(tǒng)功能模塊設計 電子地圖輸出子系統(tǒng)主要是方便用戶以文件形式保存地圖信息,通過 MO 中 的 Print 方法設置參數(shù)即可實現(xiàn): _map.PrintMap(_environment.m_mapInfos_environment.m_nCurrMapIndex.s zName,“,true) 4.3.4 查詢子系統(tǒng)功能模塊設計 查詢子系統(tǒng)的查詢方式主要為兩種:通過大小類別查詢和通過地理位置 查詢。此項功能和市政數(shù)據庫相聯(lián)系,首先介紹一下數(shù)據庫和系統(tǒng)的連接。 通過以下語句保證數(shù)據庫和軟件相鏈接, SqlConnection Conn = new SqlConnection(“Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=bisheEND;Data Source=wubin; Workstation ID=WORKGROUP“); (1)通過大小類方式查詢模塊。這種查詢方式是為了方便查找同種類別的設 施部件或事件,listBox1即為結果列表。 listBox1.DataSource=dso.Tables“Objlist“; listBox1.DisplayMember=dso.Tables“Objlist“.Columns“Name“.ToString(); listBox1.ValueMember=dso.Tables“Objlist“.Columns“Code“.ToString(); 如果顯示的是事件則 dso 修改為 dse。 (2)通過地理位置方式查詢模塊。 23 這種查詢方式是為了方便用戶查詢某個地理位置上或其附近的設施部件或事 件的情況,查詢實現(xiàn)利用數(shù)據庫的 select 語句。具體實現(xiàn)的關鍵語句如下: xaxis=Convert.ToSingle(textBox3.Text); yaxis=Convert.ToSingle(textBox4.Text); cd.CommandText=“SELECT Code, Name , DeptNameID, GBCode, Pos, ObjState, ObjUseState,BeginTime, EndTime, MapScale, Memo,xaxis,yaxis FROM CityObj where sqrt(xaxis-(“+xaxis.ToString()+“)*(xaxis-(“+xaxis.ToString()+“)+(yaxis- (“+yaxis.ToString()+“)*(yaxis- (“+yaxis.ToString()+“)=“+textBox5.Text.ToString(); 其中 textBox3 和 textBox4 是設施部件或事件的坐標屬性值,textBox5 的值是 用戶輸入的查找距離值。根據輸入的查找距離值由 select 語句在結果列表中 輸出查找結果。 通過以上兩種查找方式查找的結果通過結果列表顯示出來,單擊其中一 個結果,其屬性就會在左側的操作面板的屬性框中顯示出來,并且在地圖上 顯示出此查找結果的地理位置以紅色圓圈標記提示用戶。實現(xiàn)主要語句如下: listBox1_SelectedValueChanged(object sender, System.EventArgs e) textBox20.Text=dso.Tables“Objlist“.RowslistBox1.SelectedIndex.ItemArra y0.ToString().Substring(0,6); textBox2.Text=dso.Tables“Objlist“.RowslistBox1.SelectedIndex.ItemArray 1.ToString(); 花括號中的語句是比較有代表性的兩個語句,其他類似的語句省略。 24 4.3.5 數(shù)據修改子系統(tǒng)功能模塊設計 數(shù)據修改子系統(tǒng)的主要有三個功能模塊,這三個功能實現(xiàn)用戶對數(shù)據的 維護更新,保證數(shù)據的時效性,這三個功能也是要求最穩(wěn)定的功能,不能使 不符合規(guī)定格式的數(shù)據輸入,也不能對數(shù)據操作錯誤不做出提示。因此在本 子系統(tǒng)中多次使用了消息對話框,對用戶的操作做出提示或警告。 (1)數(shù)據添加功能模塊。首先選擇需要添加的大小類別,然后系統(tǒng)自動根據 用戶選擇的類別判斷是市政事件還是市政部件,并根據類別判斷顯示出不同 的屬性填寫選擇,區(qū)別如下圖 4.2,圖 4.3 所示。 圖 4.2 市政事件屬性 25 圖 4.3 市政設施部件屬性 根據系統(tǒng)判斷的部件或者事件,添加功能將數(shù)據分別添加進部件數(shù)據庫 CityObj 或事件數(shù)據庫 CityEvent,具體實現(xiàn)語句如下(部分): cd.CommandText=“SELECT * FROM CityObj where Code=“+textBox20.Text+textBox19.Text+textBox18.Text+textBox17.Text+“; DataRow NewDrow=dso.Tables“Objlist“.NewRow(); NewDrow0=textBox20.Text+textBox19.Text+textBox18.Text+ textBox17.Text; NewDrow1=textBox2.Text; 26 dso.Tables“Objlist“.Rows.Add(NewDrow); 并且在程序中有個判斷語句可以判斷是否重復輸入,如果重復輸入某部件則 彈出提示: MessageBox.Show(“已存在此部件!“); (2)數(shù)據修改功能模塊。數(shù)據修改功能配合查找功能模塊使用,當需要修改 某項數(shù)據時,先查找到該數(shù)據然后在文本框中輸入新數(shù)據點擊修改按鈕即可 修改此項數(shù)據。以下是數(shù)據庫操作的典型代碼示例: DataRow Updrow1=dso.Tables“Objlist“.RowslistBox1.SelectedIndex; Updrow1.BeginEdit(); Updrow11=textBox2.Text; Updrow1.EndEdit(); 同樣,為了防止數(shù)據修改錯誤,系統(tǒng)嚴格規(guī)定了數(shù)據的格式,在數(shù)據庫 出現(xiàn)異常時將會以消息框的形式給出警告。 catch(Exception ee) MessageBox.Show(“修改部件出錯了!“+ee.Message.ToString(); 在程序中多次使用 try-catch 給程序出錯提示帶來很大的方便。 (3)數(shù)據刪除功能模塊。數(shù)據刪除比較簡單,只需定位到所需刪除的項執(zhí)行 刪除語句即可。為了保證刪除數(shù)據后可以恢復,可以在表中加一個輔助列, 值類型為 INT,值為 0,1,2,值的大小和需要保護的數(shù)據項數(shù)目 n 有關, 可以在系統(tǒng)中設定,當執(zhí)行刪除功能時,表中所有不為零的項的輔助列全部 加 1,當輔助列的數(shù)值大于 n 時,執(zhí)行刪除語句,否則不刪除這些項,僅僅 為需要刪除的輔助列數(shù)值加 1。執(zhí)行查找時,只顯示輔助列為 0 的數(shù)據項。 27 刪除功能的主要語句示例為: DataRow Updrow1=dso.Tables“Objlist“.RowslistBox1.SelectedIndex; Updrow1.Delete(); 4.3.6 幫助子系統(tǒng)功能模塊設計 幫助子系統(tǒng)主要為用戶提供使用本系統(tǒng)過程中遇到問題的幫助,有兩個 幫助選擇:單機文檔幫助和聯(lián)機幫助。單機文檔幫助僅彈出一個對話框,包 括一些使用須知,常見問題的解釋等等;聯(lián)機幫助為一個網頁鏈接,定向到 一個網頁,此網頁包括一些問題的解決方案并提供留言功能。 4.3.7 其他功能模塊設計系統(tǒng)維護功能模塊 這個部分主要是系統(tǒng)維護模塊,在系統(tǒng)維護功能中,提供大類別和小類 別的部件和事件維護,共 4 個小模塊。4 個小模塊的功能相似,分別具有新 建,修改,刪除 3 個功能。新建,修改和刪除功能的數(shù)據庫操作具體語句為: 新建: string insertCmd =“insert into ObjLevel1(ObjClass1Code,ObjClass1Name) values(“+textBox8.Text +“,“+textBox21.Text +“)“; SqlCommand myCommand=new SqlCommand (insertCmd,Conn); 修改: string updateCmd=“UPDATE EventLevel1 SET Event1Code=Cd,Event1Name=Nm where Event1Code=dw“; SqlCommand myCommand=new SqlCommand (updateCmd,Conn); 28 刪除: string deleteCmd=“DELETE from EventLevel1 where Event1Code=Cd“; SqlCommand myCommand=new SqlCommand (deleteCmd,Conn); 為了保證數(shù)據的安全性,同樣可以采取同 4.3.5 中刪除功能類似的方法來實現(xiàn) 刪除恢復。 另外在這七個子系統(tǒng)之外,為了方便用戶使用,設置了很多人性化的功 能,譬如在地圖坐標方面使用鼠標動態(tài)指示,提示地圖上物體信息,在部件 代碼輸入上提示地區(qū)代碼等。 5 系統(tǒng)程序調試與試運行情況 系統(tǒng)經過調試發(fā)現(xiàn)主要有兩大問題:首先是和數(shù)據庫相關的操作,由于 數(shù)據庫中表的數(shù)量比較多,因此在進行數(shù)據更新的時候必須指定具體的表名 和具體的某一項,否則容易出錯而且會破壞表中的數(shù)據。另外因為下拉列表 中的下拉選項和數(shù)據庫的數(shù)據相關聯(lián),因此每次數(shù)據更新完畢必須刷新數(shù)據 庫并刷新相關的各下拉框和樹形結構等,避免出現(xiàn)數(shù)據庫中數(shù)據不存在而下 拉框中的數(shù)據項仍然存在的情況。 其次是地圖顯示方面的問題,GIS 作為專業(yè)性比較強的系統(tǒng),各個開發(fā) 工具各不相同,而且 GIS 地圖數(shù)據的非共享性使本系統(tǒng)在地圖顯示模塊上出 現(xiàn)較大問題不能得到及時的解決。參考地理信息系統(tǒng)二次開發(fā)實例教程 C#和 MapObjects 實現(xiàn)書中實例后,發(fā)現(xiàn)其實例存在同樣的問題。因此, 本系統(tǒng)中的地圖顯示部分由 JPEG 格式的圖像文件模擬出來,來代替不能實 現(xiàn)的 shp 格式地圖文件。 29 系統(tǒng)修改后的主界面如下: 圖 5.1 系統(tǒng)(模擬地圖)主界面 程序試運行正常,實現(xiàn)了各個功能:地圖控制選項中可以通過選擇模擬 的地圖來選擇不同的地圖,如下圖 5.2 所示。 圖 5.2 地圖控制選項 菜單的第二項為數(shù)據更新操作,通過此選項可以實現(xiàn)對市政設施部件和 30 事件的新建,修改,刪除操作。如下圖 5.3 所示。 圖 5.3 數(shù)據庫選項 數(shù)據更新后會彈出相關的提示消息框,提示數(shù)據更新成功或者失敗,若 失敗將錯誤信息反饋。選擇新建按鈕,屬性文本框清空,然后輸入要新建信 息,然后點擊保存按鈕,如果存在相同部件則提示,否則新建成功。 新建某一部件,流水代碼誤輸入,與已存在某部件重復,則提示如圖 5.4 所示。 圖 5.4 新建數(shù)據屬性信息重復 新建某一部件,名稱為 ceshi,不存在重復信息,添加成功則提示如圖 5.5 所示。 31 圖 5.5 新建數(shù)據成功 在結果列表中,名為 ceshi 的部件成功添加進數(shù)據庫自動刷新顯示如圖 5.6 所示。 圖 5.6 添加成功后的結果列表 同樣進行修改操作時,如果屬性設置不正確,將提示修改失敗,這樣保 證了在誤輸入的情況下數(shù)據庫內數(shù)據的正確性。測試與測試新建功能類似, 此處省略,如圖 5.7 所示。 圖 5.7 修改事件成功 測試刪除操作,名為 ceshi 的部件已經被刪除,結果列表自動刷新顯示。 32 如圖 5.8 所示。 圖 5.8 數(shù)據刪除操作成功 如果刪除數(shù)據出錯則同樣彈出提示,事件刪除失敗,如圖 5.9 所示。 圖 5.9 數(shù)據刪除操作出錯 在右側的操作面板上有查找功能,有兩種查找方式。第一種查找可通過 選擇類別進行,分別選擇大小類別后結果列表中自動刷新所選擇類別的所有 部件或事件。第二種查找是根據部件或事件的物理位置,在結果列表中選擇 某一個部件或者事件,然后輸入要查找的距離范圍,點擊查找按鈕即可在結 果列表中得到以所選部件或事件為中心,所輸入距離為半徑的范圍內的所有 部件或事件;或者在藍色坐標文本框中輸入某個坐標,然后輸入要查找的距 離范圍,點擊查找按鈕即可在結果列表中得到以所輸入坐標點為中心,所屬 入距離為半徑的范圍內的所有部件或事件。單擊結果列表中的某一事件或部 件,其屬性信息就會在操作面板的屬性框中顯示出來,并可以繼續(xù)其他數(shù)據 33 更新操作。系統(tǒng)右側操作面板最下方的紅色坐標隨著鼠標在地圖區(qū)域的移動 而變化,適時顯示出地圖上的坐標位置,并與部件或事件的坐標屬性值相一 致。 系統(tǒng)為系統(tǒng)維護人員設置了系統(tǒng)維護功能,通過系統(tǒng)維護選項可以對系 統(tǒng)的固定選項進行維護,選擇系統(tǒng)維護中的大類維護選項,然后選擇事件維 護, 先測試新建功能,名稱為 ceshi,代碼 99,添加成功,如下圖 5.10 所示。 圖 5.10 系統(tǒng)維護-添加新類別 添加成功后重啟系統(tǒng),在下拉列表中顯示新添加的類別,如圖 5.11 所示。 34 圖 5.11 系統(tǒng)維護-添加成功的大類別 同樣可以測試修改和刪除功能,如下圖 5.12,圖 5.13 和圖 5.14 所示。 圖 5.12 系統(tǒng)維護-修改大類別的名稱 圖 5.13 系統(tǒng)維護-刪除大類別 35 圖 5.14 系統(tǒng)維護-刪除成功的大類別 對系統(tǒng)使用各種數(shù)據測試,系統(tǒng)均運行正常,并對不符合格式的數(shù)據 彈出消息框提示,基本實現(xiàn)了預期的目標,系統(tǒng)操作比較簡單,界面友好。 6 系統(tǒng)的使用說明 打開可執(zhí)行文件 bishe.exe 文件,即可進入系統(tǒng)主界面。系統(tǒng)界面上方的 菜單欄分別是地圖選擇,數(shù)據庫操作,系統(tǒng)維護和幫助,地圖選擇可以選擇 系統(tǒng)自帶的 3 幅地圖,數(shù)據庫操作可以進行數(shù)據的查找,新建,修改和刪除 操作,系統(tǒng)維護可以對數(shù)據庫中的大小類別區(qū)分進行維護,幫助選項可以給 用戶提供幫助文檔。 在主界面的左側地圖顯示區(qū)中,鼠標的位置將反映坐標位置并通過右下 角的地圖坐標顯示文本框顯示出來;主界面中部框上面的樹形結構和大小類 別下拉框對應,方便用戶瀏覽和選擇,下方是查找結果顯示列表,顯示查找 到的結果;主界面右側的對話框是數(shù)據查找更新操作面板,在這個面板上可 以進行查找操作和數(shù)據更新操作,操作結果將在中部下方的結果顯示列表中 36 顯示,用戶可根據自己需要進行操作。 結論 由程序調試和試運行的情況來看,程序設計比較成功,實現(xiàn)了需求分析 中的功能設計和系統(tǒng)的總體要求。由于 GIS 系統(tǒng)的專業(yè)性強的特點和本系統(tǒng) 用戶群體比較復雜的特點,簡化一般 GIS 系統(tǒng)操作的復雜性,使系統(tǒng)的使用 比較簡單,并且提供了幫助文檔,使初學者能夠容易的上手操作,遇到問題 時也能通過系統(tǒng)幫助得到解決。 在系統(tǒng)設計的過程中,運用軟件工程的思想,進行系統(tǒng)的需求分析,概 要設計,詳細設計,程序編碼,程序測試。在需求分析中,著重功能的設計 和數(shù)據庫方面的設計,盡量滿足功能的豐富性和操作的簡單性。在數(shù)據庫的 設計中,盡量減少各表之間的關聯(lián),降低數(shù)據庫設計難度,使后期維護更加 簡單。 本系統(tǒng)實現(xiàn)了如下功能: 1查詢功能:用戶可以通過查詢功能實現(xiàn)設施部件和事件的查找,以及 所查對象的定位; 2管理功能:管理功能分為兩個部分: (1) 決策層:通過對部件的查找分析,在顯示器上直觀的顯示出對象 的位置等屬性特征,對決策者起到一個輔助的作用,并能通過數(shù)據的共享, 實現(xiàn)資源的管理共享。 (2) 普通員工:通過對部件的查找定位,可以在最短時間內到達部件 現(xiàn)場,對事件進行處理,并通過事件,部件,以及屬性的增刪功能,將情況 37 及時反映在系統(tǒng)中,實現(xiàn)了管理的信息化,并能有效地實現(xiàn)不同市政部門的 溝通協(xié)作,及時處理發(fā)生的事件。 3系統(tǒng)維護功能:通過對系統(tǒng)中大小類別的維護,可以方便進行管理類 型擴展。 致謝 畢業(yè)設計做為四年大學學習生活的總結,不僅需要我們綜合運用所學知 識和基本技能來完成作品,老師和師兄師姐的幫助也使我順利完成畢業(yè)設計, 在我的論文即將完成之時,特別向我的班導師何麗

溫馨提示

  • 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

提交評論