畢業(yè)設計(論文)校園地理信息系統(tǒng)的設計與實現_第1頁
畢業(yè)設計(論文)校園地理信息系統(tǒng)的設計與實現_第2頁
畢業(yè)設計(論文)校園地理信息系統(tǒng)的設計與實現_第3頁
畢業(yè)設計(論文)校園地理信息系統(tǒng)的設計與實現_第4頁
畢業(yè)設計(論文)校園地理信息系統(tǒng)的設計與實現_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、*大學畢業(yè)設計論文(說明書)題目: 校園地理信息系統(tǒng)的設計與實現學生姓名: * * * 學生班級: 計算機科學與技術 指導教師: * * * 200*年*月校園地理信息系統(tǒng)的設計與實現摘 要與傳統(tǒng)的地圖相比較,地理信息系統(tǒng)有著不可比擬的優(yōu)勢,信息量大,切換方便,可擴展性強。本文闡述了研究地理信息系統(tǒng)的背景、目的、方法,介紹了一個實用的、方便可靠的校園地理信息系統(tǒng)的設計、構建和開發(fā)過程。開發(fā)過程中,使用了autocad和mapinfo處理地圖,采用ole的嵌入技術將mapinfo的數據與delphi連接起來,并且使用了mapbasic語言進行對地圖的操作和控制。此系統(tǒng)在windows 98平臺上

2、測試通過。本文先簡要介紹了地理信息系統(tǒng)的概況,然后介紹了校園地理信息系統(tǒng)的組成及功能,詳細討論了在設計實現本系統(tǒng)中所遇到的問題及解決方法。關鍵詞:地理信息系統(tǒng)、mapinfo、delphidesign and implementation of geographic information system of campusabstractcompared with traditional map, geographic information system has many unique advantages,such as full of information, convenient sw

3、itching and good expansibility. the paper expatiated on the background, the purpose and the method of the research of geographic information system, and introduced the design, building and developing method of geographic information system of campus, which has characteristics of utility, convenience

4、 and reliableness.in the procedure of developing, autocad and mapinfo are used to handle maps, and ole embedding is used to linking mapinfo data and delphi, also, mapbasic language is used to operate and control maps. the system is running well on windows 98 platform.in this paper geographic informa

5、tion system in the general is reviewed briefly, the constitution and function of geographic information system of campus are introduced, the problem we met and the resolvent in the procedure of design and implementation of the system are discussed in detail.keywords:geographic information system,map

6、info,delphi致 謝畢業(yè)設計自今年2月份以來,歷時三個多月。在這三個多月的時間里,我的畢業(yè)設計得到了*老師的極大支持。在畢業(yè)設計過程中,*老師給了我很多意見和建議,并且給予了細心的指導,在此我深表感謝,感謝*老師對我的無微不至的關心與指導。目 錄中文摘要1英文摘要1致謝2目錄3第一章 緒 論51.1 研究地理信息系統(tǒng)(gis)的背景51.2 研究地理信息系統(tǒng)(gis)的目的及其結構51.3 研究地理信息系統(tǒng)(gis)的方法91.4 論文內容概述9第二章 技術支持和開發(fā)工具102.1 mapinfo .102.2 delphi 5.0112.3 autocad r14.0112.4 ma

7、pbasic11第三章 校園地理信息系統(tǒng)的開發(fā)133.1 系統(tǒng)的目標及功能133.1.1 系統(tǒng)的開發(fā)目標133.1.2 系統(tǒng)的特點及功能概述133.2 可行性分析和需求分析133.2.1 系統(tǒng)的可行性分析133.2.2 系統(tǒng)的需求分析143.3 總體設計153.3.1 系統(tǒng)結構設計153.3.2 模塊設計163.3.3 數據庫設計173.4 轉換與連接173.4.1 轉換地圖173.4.2 用mapinfo處理地圖203.4.3 mapinfo與delphi的無縫連接233.5 詳細設計273.5.1 界面設計273.5.2 浮動工具欄的設計實現303.5.3 地圖顯示323.5.4 tree

8、view與地圖信息的連接333.5.5 利用combobox實現分層圖的轉換343.5.6 自定義mapinfo快捷菜單373.5.7 開機畫面的制作36第四章 系統(tǒng)測試37第五章 結束語38參考文獻39第一章 緒 論1.1 研究地理信息系統(tǒng)(gis)的背景各行各業(yè)都搞過數據庫(信息管理系統(tǒng)),例如有人事、工資、技術資料管理之類的數據庫。說到底,這些數據庫是一種二維表。它們的行和列是按一定關系組織的,所以又叫關系數據庫。設想要建立一個校園的數據庫,其屬性字段可能包括建筑名稱、面積、所屬學院、建造年份等,當然還有所處的位置。不管用經緯度還是別的方式來敘述各建筑的位置,始終不如把它們表示在一幅圖上

9、那樣直觀和一目了然。能夠保存圖形信息的軟件不少,最具有代表性要算autocad。利用它可以把各個建筑的位置準確的標繪到圖上,甚至可以標注上它們的名字。但要把面積、所屬學院之類的大量屬性資料都表示上去就困難了,更不用說進行各種查詢和統(tǒng)計計算了。計算機技術發(fā)展到今天,出現了一種能把圖形管理系統(tǒng)和數據管理系統(tǒng)有機的結合起來的信息技術,它不但克服了數據庫和圖形系統(tǒng)各自固有的局限性,而且使二者的優(yōu)勢強強聯合,優(yōu)勢更加突出,功能倍增。這就是地理信息系統(tǒng)(geographic information system,簡稱gis)。gis級管理對象的位置又管理對象的其他屬性,而且位置和其他屬性是自動關聯的。地理

10、信息系統(tǒng)是一種先進的計算機軟件技術。它是對各種空間信息進行收集、存儲、分析和可視化表達的信息處理與管理系統(tǒng)。gis提供給你的信息產品不僅僅是簡單的文字和數據,而且還有一幅幅空間圖形或圖像。位置圖往往比文字更能說明空間問題,它給人以直觀完整而深刻的印象。gis表達問題準確,這種系統(tǒng)特別適合管理各種與空間位置有關的事物。這類事物在我們的日常生活和工作中是大量的,專家估計,80%以上的信息具有空間屬性。因此,gis現已廣泛應用于政府行政管理、軍事、國防,尤其廣泛應用于專業(yè)技術性管理,如國土資源、礦產資源、交通運輸、防災減災、環(huán)境保護、水電建設、水土保持、森林防火、建設規(guī)劃、公安、消防、工程、郵電、海

11、洋、農林和銀行等方面的技術性管理。凡是需要用到各種位置圖的地方都可以用gis。有了gis,便有了圖庫和數據庫,就可通過鼠標來實現信息的快速查詢和分析處理。大到地球、國家、省市,小到村鎮(zhèn)、街道乃至地面上的一個點位,gis都能做到要圖有圖,要數據有數據;圖文并聯,天衣無縫。1.2 研究地理信息系統(tǒng)(gis)的目的及其結構1gis能回答和解決以下五類問題: 位置,即在某個地方有什么。位置可以是地名、郵政編碼或地理坐標等。 條件,即符合某些條件的實體在哪里。如:在某個地區(qū)尋找面積不小于1000平方米的不被植被覆蓋的,且地質條件適合建大型建筑的區(qū)域。 趨勢,即在某個地方發(fā)生的某個事件及其隨時間的變化過程

12、。 模式,即在某個地方的空間實體的分布模式。模式分析揭示了地理實體之間的空間關系。 模擬,即某個地方如果具備某種條件會發(fā)生什么。通過基于模型的分析實現。2地理信息系統(tǒng)結構地理信息系統(tǒng)依照其功能,其結構可區(qū)分為:(1) 地理資料的數字化:地理資料的搜集是建立地理信息系統(tǒng)時,最為耗時費力的工作。資料的來源不外乎自行收集、向廠商購買,或是將資料格式進行轉換。而接下來的工作便是將地圖、各種相關資料輸入gis的數據庫中,并加以整理。(2) 地理資料的管理:網絡與數據庫的結合,gis的范圍延伸到更深的領域。除了需要管理平面信息如地圖、圖層外,還需要管理與平面信息相關的立體信息。(3) 地理資料的分析與處理

13、:地理資料收集的目的,便是發(fā)揮決策支持的作用。對地理屬性數據進行分析,并利用幾何運算、參數轉換多種方法對空間資料的分類、整理、處理等。(4) 地理資料的提取與顯示:將需要的地理信息以可視化的方式展現出來。例如一份地理資料的展現,可以采用直方圖、餅形圖、折線圖、散布圖等較為直觀易懂的方式。在通過打印機或繪圖儀將圖表打印出來。1.3 研究地理信息系統(tǒng)(gis)的方法1國內外常用的地理信息系統(tǒng)軟件 目前世界上常用的gis軟件已達400多種。它們大小不一,風格各異。國外較常用的有arc/info,genamap,mge等;國內較常用的有map/gis,geostar和citystar等。雖然gis起步

14、晚,但它發(fā)展快,目前已成功地應用到許多領域。2地理信息系統(tǒng)在國內外研究應用盡管現存的地理信息系統(tǒng)軟件很多,但對于它的研究應用,歸納概括起來有二種情況。一是利用gis系統(tǒng)來處理用戶的數據;二是在gis的基礎上,利用它的開發(fā)函數庫二次開發(fā)出用戶的專用的地理信息系統(tǒng)軟件。目前已成功地應用到了包括資源管理、自動制圖、設施管理、城市和區(qū)域的規(guī)劃、人口和商業(yè)管理、交通運輸、石油和天然氣、教育、軍事等九大類別的一百多個領域。在美國及發(fā)達國家,地理信息系統(tǒng)的應用遍及環(huán)境保護、資源保護、災害預測、投資評價、城市規(guī)劃建設、政府管理等眾多領域。近年來,隨我國經濟建設的迅速發(fā)展,加速了地理信息系統(tǒng)應用的進程,在城市規(guī)

15、劃管理、交通運輸、測繪、環(huán)保、農業(yè)、制圖等領域發(fā)揮了重要的作用,取得了良好的經濟效益和社會效益。1.4 論文內容概述以上已經闡述了研究地理信息系統(tǒng)的背景、目的、方法,接下來的第二章將介紹開發(fā)本系統(tǒng)所用到的工具和技術;第三章具體介紹了一個實用的、方便可靠的校園地理信息系統(tǒng)的設計、構建和開發(fā)過程;第四章介紹了系統(tǒng)的測試情況及設計實現本系統(tǒng)中所遇到的問題及解決方法;第五章總結了畢業(yè)設計的總體情況以及系統(tǒng)的不足之處。第二章 本系統(tǒng)的技術支持和開發(fā)工具2.1 mapinfo.mapinfo是美國mapinfo公司的產品。該公司始終致力于為用戶提供先進的數據可視化、信息地圖化技術,并將這些技術與主流業(yè)務系

16、統(tǒng)集成,提供完整的解決方案。mapinfo吸取了傳統(tǒng)gis系統(tǒng)的精華,并借助于計算機技術的發(fā)展,及時的將gis的概念從中大型計算機的專用工作站引入到普通pc上,開創(chuàng)了一種嶄新的地理信息系統(tǒng)模式,即桌面地圖信息系統(tǒng)。mapinfo的出現,吸引了越來越多的用戶。該產品自九十年代初進入中國后,在各行各業(yè)得到了普遍的關注。在統(tǒng)計、信息中心、測繪、郵電、水利、環(huán)保、油田、林業(yè)、軍事、工商等部門得到了廣泛的應用。mapinfo的主要特點:(1) mapinfo=mapping +information。(2) 提供數據、思維可視化的決策支持方式。(3) 支持client/server體系結構及無縫圖層。(

17、4) 直接讀/寫odbc數據庫。(5) 輕松建立數據與地圖的關聯。(6) 提供mapbasic二次開發(fā)工具方便定制用戶界面,增添新功能。(7) 功能完備的sql查詢功能,支持地理表達式。(8) 以地理方式實現oracle、sybase、informix等多種數據庫數據的空間存儲與訪問。(9) 具有ole嵌入功能,能將圖層拖放進其他應用程序。(10) 可在windows95、windowsnt及os/2、windows3.x 16位仿真模式下運行。mapinfo professional是第一個能夠在windows95上運行的真32位工業(yè)標準桌面地圖信息系統(tǒng),實現client/server計算環(huán)

18、境下與遠程數據庫的智能化共享與連接,開辟了桌面地圖 信息系統(tǒng)21世紀新紀元。使用mapinfo professional可以對數據進行更高級和更詳盡的分析,從而從地域的觀點對你的商務做進一步的了解,和可以預見到你定制的計劃的效果,通過圖層清晰的顯示出發(fā)展趨勢,幫助你制訂行之有效的市場決策。mapinfo新增特點:mapinfo professional5.0在精確地圖化和地理分析方面新增了去多功能,包括:(1) 支持internet。(2) 圖表和圖像。(3) 分層。(4) 3d視圖。(5) 專題地圖化和樣板。(6) 生成專題圖。(7) 支持柵格圖像。(8) 給地圖目標附加數據。(9) 關聯的

19、視圖。(10) 建立和存儲sql查詢。(11) 在目標周圍建立緩沖區(qū)。(12) 地理查詢。(13) seagate crystal報表。(14) 內置的沖突協調管理。(15) 服務方面儲藏和數據管理。2.2 delphi 5.0delphi號稱“第四代編程語言”,而delphi5.0是基于32位的windows98/nt環(huán)境顯得優(yōu)秀軟件開發(fā)系統(tǒng),它兼有visual c+的強大功能和visual basic的易用性。delphi5.0的特點:delphi5.0采用面向對象的程序設置、組件化的編程方式、快速pascal編譯器、ole自動化、activex編程、數據庫及internet/intran

20、et編程支持,從而使得delphi5.0開發(fā)功能更加強大,同時更加易于學習和使用。1) 是一個可視化的rad(rapid application development,快速應用程序開發(fā))工具,具有高效易用、最優(yōu)化的源代碼編譯器、可視化的快速應用程序開發(fā)環(huán)境和可擴展的數據庫技術,適合各種類型的可視化程序開發(fā)。2) 具有比delphi4.0更強大的網絡功能。3) 使用的程序語言是object pascal,它是一種面向對象的結構化程序設計語言,增強了異常狀況的處理能力以及類的封裝能力,具有自動的異常狀況處理能力。4) 具有完整的基于組件設計和可視化的開發(fā)環(huán)境,程序設計人員可以很快設計出自己滿意的

21、界面,并同時系統(tǒng)會自動產生程序原型。5) 開發(fā)出來的應用程序與windows95、windows98或windows nt的操作環(huán)境無關,可以直接在windows下運行。6) 有強大的數據庫支持能力,程序設計人員只通過bde(borland database engineer,borland數據庫引擎)工具而不需與數據庫文件直接打交道,就可以操作和處理各個數據庫文件。7) 它是唯一支持oracle 8的rad工具。8) 用delphi開發(fā)的應用程序可以調用c+的dll和vbx,同樣,用c+開發(fā)的應用程序也可調用delphi所產生的dll。2.3 autocad r14.0autocad是美國a

22、utodesk公司推出的通用計算機輔助繪圖和設計軟件包,具有易于掌握、使用方便、體系結構開放等特點。它在諸多方面相對與以往的繪圖軟件有了重大的改進,主要有:系統(tǒng)的運行速度,文件的共享,圖層和線性的管理,精確繪圖方面,繪圖布局方面等。軟件本身更易于學習和使用,也易于維護,并且還可以按照工作的需要進行改造。在本系統(tǒng)的設計實現過程中,autocad主要用來轉換地圖。2.4 mapbasicmapbasic是理想的在mapbasic平臺上開發(fā)用戶定制的應用程序的編程語言。通過使用mapbasic進行二次開發(fā),能夠擴展mapinfo功能,實現程序的自動重復操作并使mapinfo與其它應用軟件集成。map

23、basic功能強大,用戶僅用幾行代碼即可在應用軟件中實現圖層疊加,并具備其他地理功能。mapbasic程序易于與用諸如visual basic、c+、power builder和delphi等語言編寫的應用軟件集成。mapbasic已經被世界上數百個第三方廠商認可。mapbasic的軟件集成環(huán)境主要包括文本編輯器(editor)、程序編譯器(compiler)、程序鏈接器(linker)和聯機幫助(help)4個部分。文本編輯器用于程序的編輯與修改;程序編譯器用于源程序編譯,以生成可執(zhí)行程序;程序鏈接器用于將若干獨立的模塊鏈接成一個應用程序;聯機幫助則為程序員在線提供mapbasic的每條語句

24、或函數的詳細說明資料。作為一種功能強大、易于使用的結構化程序設計語言,mapbasic與傳統(tǒng)的gis相比,良好的軟件集成環(huán)境、面向對象和事件處理式的編程思想,都是mapbasic的顯著特征。下面是mapbasic的主要特點:1) 一種類basic語言,幫助建立用戶界面。由于桌面地圖信息系統(tǒng)應用軟件在各種機構和領域內的應用愈加廣泛,顧客對開發(fā)應用軟件的需要日益增大。用戶可以利用mapbasic開發(fā)適合自己需要的應用軟件包。2) mapinfo集成。支持oleautomation和dde技術使之易于與其他應用軟件相連接。當與其他的商業(yè)工具集成時,桌面地圖信息系統(tǒng)能夠發(fā)揮最大的作用。mapbasic

25、支持odbc數據庫連接標準、oleautomation以及dde通信技術以易于與其他應用軟件互通。例如,運用intergratemapping技術,在visualbasic等開發(fā)工具中集成進一個地圖窗口。3) 擴展mapinfo功能。mapbasic是一種多平臺的、過程化的、事件驅動的、兼容性強的mapinfo應用程序開發(fā)工具,其語言結構允許您定制附加功能。它具有功能很強的內含地理特征的語句和函數。全ansisql語言設置由一個內含的子集可以使用戶能夠運用工業(yè)標準的命令來處理數據。4) 易于掌握。建立在basic基礎上的mapbasic具有與basic同樣的函數和語句。mapinfo prof

26、essional有一個特殊的窗口,當使用mapinfo菜單時可以看見相應的mapbasic命令,并且可試驗自己的命令。通過此方法可以學習mapbasic命令并且把它們剪貼到你的應用軟件中。5) 包含嵌入的sql語句以具有更強大的數據查詢功能。6) 地理操作和功能幫相互能擴展應用軟件的功能。已有上千種使用mapbasic開發(fā)出的、能夠解決商務問題的應用軟件。mapbasic是一種更能強大、結構與basic語言相似的語言。無論是熟練的還是剛入門的程序員,都能使用該語言根據用戶的需求開發(fā)出功能更加強大的桌面地圖信息系統(tǒng)應用軟件包。無論是希望分銷,還是為了您自己使用而設計應用軟件,mapbasic都是

27、一個不可缺少的工具。mapbasic是一種可編譯語言。用戶所編輯出的程序可在mapinfoprofessional或mapinforuntime上運行。開發(fā)環(huán)境給用戶提供一個可用于編寫程序的文本編輯器。當然,也可以使用原有的文本編輯器。mapbasic具有編輯和連接模塊的功能,可以將程序分模塊編制,以減輕工作量。第三章 校園地理信息系統(tǒng)的開發(fā)3.1 系統(tǒng)的目標及功能特點3.1.1 系統(tǒng)的開發(fā)目標本課題名為校園地理信息系統(tǒng)。本系統(tǒng)以*大學為模型,旨在建立一個本學校的導航系統(tǒng),可以根據不同人的要求,足不出戶,就可以瀏覽校園,得到各種信息。3.1.2 系統(tǒng)的特點及功能概述地理信息系統(tǒng)的特點是它能把各

28、種信息向地理位置和有關的視圖結合起來,并把地理學、幾何學、計算機科學及各種應用對象、cad技術、遙感、gps技術、 internet、多媒體技術及虛擬現實技術等融為一體,利用計算機圖形與數據庫技術來采集、存儲、編輯、顯示、轉換、分析和輸出地理圖形及其屬性數據。這樣,可根據用戶需要將這些信息圖文并茂地輸送給用戶,便于分析及決策使用。以我校為模型的校園地理信息系統(tǒng)能夠實現地理信息系統(tǒng)的基本功能。用戶可按“教學與科研”、“生活與后勤”、“校辦工廠”、“網絡與電纜”這幾類察看分層圖,并且得到相應的信息,實現地圖的放大、縮小、漫游、信息標注等功能,并能得到系統(tǒng)幫助。3.2 可行性分析和需求分析3.2.1

29、系統(tǒng)的可行性分析本系統(tǒng)要求以delphi制作界面,而將地圖信息存放在mapinfo生成的表中??梢岳胢apbasic外的其他語言對mapinfo進行編程。將mapinfo地圖窗口集成在用其他語言(如delphi)編程的應用程序中的開發(fā)方式,叫做集成地圖開發(fā)。1 集成地圖概述如果用戶掌握了一門編程語言,如delphi或visual basic,將會發(fā)現,用集成地圖進行開發(fā),是一種將mapinfo窗體和非mapbasic應用程序結合起來的最方便的方法。用戶可以控制集成地圖程序的外觀,用戶看到的是一個真實的mapinfo地圖窗口,而不是簡單的位圖、圖元文件或其他簡單的圖像。而且在這個地圖窗口中,可

30、以允許用戶與地圖之間進行交互。例如,在一個mapinfo地圖窗口中,用戶可以使用程序所提供的放大縮小工具來放大或縮小地圖。一個集成地圖窗口與在mapinfo內的地圖窗口沒有什么本質的不同。集成地圖應用程序可以由許多語言編寫。通常用的編程語言有:c+、visual basic、delphi和power builder等。在所編制的程序中,可以使用一個語句使mapinfo在后臺啟動。例如,當使用delphi來編程時,可以通過調用createoleobject()函數來啟動mapinfo。當調用該函數后,mapinfo遍成功的在后臺啟動,而不會在前臺顯示其啟動畫面。在程序中可以通過構造一些表示map

31、basic語句的字符串,利用ole或dde的方式將這些字符傳給mapinfo,從而可以操縱mapinfo。mapinfo會像處理mapbasic語句一樣處理這些命令字符串。如果只用mapbasic編程,希望打開地圖窗口時,那只需采用mapbasic的map()語句即可。但是,在集成地圖應用程序中,必須給出附加的語句,如set next document parent,使地圖窗口首先成為當前應用程序的子窗口。一般,在創(chuàng)建集成地圖應用程序時,并不需要創(chuàng)建一個通過編譯了的可執(zhí)行mapbasic應用程序(mbx)。用戶只需要寫出mapbasic代碼即可,因為這些代碼將作為集成地圖編程代碼的一部分一起進

32、行編譯的。2 編程環(huán)境系統(tǒng)要求:1) 需要microsoft windows系統(tǒng)??梢栽?6位(如windows 3.1)或32位windows(windows 95或windows 98)系統(tǒng)環(huán)境下進行。2) 集成地圖環(huán)境。需要mapinfo 4.0或更高版本,可以在profession或runtime環(huán)境中編程。計算機硬件上,必須有足夠的內存,可以同時運行客戶程序和mapinfo。3) 客戶程序(例如delphi程序)必須可以作為ole自動控制器或作為dde客戶。一般傾向于采用ole而不用dde,因為掐著要比后者迅速和可靠,并且ole自動控制器一般提供比dde更詳細的錯誤信息報告。mapi

33、nfo可以利用ole屬性來報告run-time錯誤代碼,而dde則不能做到這一點。4) 客戶程序必須能創(chuàng)建一個用戶界面,如窗口、表格或者控制器等,作為地圖放置的容器,并且客戶程序必須能決定用戶界面各元素的windows hwnd值。例如,在delphi中,在窗體中加入一個panel控件。當發(fā)出一條給mapinfo的指令,要求在該panel中創(chuàng)建一幅地圖,首先就必須指定panel控件的hwnd。a) 需要注意以下幾點:5) 要進行集成地圖程序的開發(fā),必須采用mapbasic以外的編程語言來進行。通常我們稱這樣的程序為客戶程序??梢圆捎矛F在通用的各類編程語言軟件來編制程序,如c/c+、visual

34、 basic、power builder或者delphi。6) 集成地圖程序開發(fā)采用的是ole自動控制,而不是ole嵌套。當將一個mapinfo地圖窗口放置于所編制的應用程序中時,你并沒有對它進行嵌套,而是將通過傳送一系列命令字符串將其作為該應用窗口的子窗口。7) 集成地圖環(huán)境并不包括vbx和ocx控件。除了示例程序外,mapinfo公司并沒有提供任何庫和源代碼。mapinfo雖然包括一些動態(tài)鏈接庫文件dlls,但用戶不能直接調用這些dlls,這些dlls只能應用在mapinfo內部。 3.2.2系統(tǒng)的需求分析目前,我們熟悉一個地方的地形情況通常是借助于一張地圖,通常的地圖包含的信息十分的有限

35、,而且具體到某一個建筑物,你不能了解到它的進一步的詳細的情況。因此,地理信息系統(tǒng)就有應運而生了。具體到本系統(tǒng),作為用戶瀏覽校園時,只拿著學校的地圖是能夠游遍全校,但是各建筑內部的情況就必須實地考察才能了解,既費時又費力。有了我們的校園地理信息系統(tǒng),用戶可以根據自己的需要分類察看學校地圖,迅速找到所關心的地點,并且可以看到它的詳細的信息。因此,本系統(tǒng)在設計時,需考慮:1 同用戶的需求以及學校建筑的實際功能用途來進行分類,以便于用戶的快速查找所需地點。2 實現地圖的放大、縮小、漫游等基本功能。3 要實現信息標注功能,以便于用戶察看其他次要建筑的信息。4 對于校園的主要建筑要有詳細的信息可供察看,必

36、要的時候可以配上照片,實現地圖與信息的連結。5 要實現系統(tǒng)幫助,詳細介紹本系統(tǒng)的使用方法。6 在同一類中要實現分層圖的直接轉換。3.3 總體設計3.3.1 系統(tǒng)結構設計本系統(tǒng)主要由6個form組成(如圖1),功能如下:form1:系統(tǒng)主要的操作界面;form2:各學院介紹界面;form3:學??傮w介紹界面;form4:系統(tǒng)開機畫面;form5:文化一條街圖片介紹;form6:系統(tǒng)幫助界面。 form2form5form1form3form4form6 splash畫面定時結束進入form3點擊“浙江工業(yè)大學”進入form1 打開地圖點擊treeview上的項目打開“生活與后勤”中的“其他生活設

37、施分布圖”的treeview中的“文化一條街”點擊工具欄上的“幫助” 圖1:系統(tǒng)結構圖3.3.2 模塊設計學校是一個特殊的實體,我們以用戶的角度來考察,要將各個建筑分類。進入一個學校,我們希望了解的有學校的行政辦公的場所,包括學校的行政辦公場所,如校長辦公室、教務處、校黨委辦公室、財務處等,以及各個學院的辦公場所,如信息學院在主樓八樓,經貿學院在c區(qū)三樓等,因此我們建立一張行政辦公分布圖;關心學校教學設施的用戶可以在教室分布圖上找到學校教室分布情況,在運動設施分布圖上可以了解到學校所有的運動設施的分布情況。另外,我們如要找一個同學,我們如知道他所在的學院,根據這個就可以知道他所在的寢室樓,因此

38、,一張學生寢室樓分布圖也是必不可少的;來到學校,食堂分布圖將引導用戶就餐;一張其他生活設施分布圖將是剛剛入學的新同學一個良好的向導,你可以輕松的找到學校的浴室、開水房、銀行、超市、收發(fā)室、書店、小賣部、文印室、校醫(yī)院、招待所等與大家的生活息息相關的生活設施;分布于學校周圍的是教師宿舍。學校的校辦工廠我們也分為一類,與之有業(yè)務聯系的用戶就可以很快找到廠房位置。學校的電纜線和網絡線也是很重要的,我們也分別制作了地圖供參考。根據以上的描述,我們將整個學校的地圖分為如圖2的分類分層圖: 浙江工業(yè)大學行政辦公分布圖教學與科研運動設施分布圖學生寢室分布圖食堂分布圖教室分布圖校辦工廠生活與后勤教室宿舍分布圖

39、其他生活設施分布圖校辦工廠網絡線分布圖網絡與電纜電纜線分布圖圖2: 系統(tǒng)分類分層圖按照此分類分層圖,打開從autocad導入的分層圖,我們將以“地形.tab”為基礎,將地圖轉化為分類圖。3.3.3 數據庫設計mapinfo的空間數據結構如圖3 所示10。綜合地圖 空間實體 對應的空間數據表圖層1圖層2 對應的空間數據表 圖3:mapinfo的空間數據結構從橫向分析,mapinfo采取的空間數據結構是基于空間實體和空間索引相結合的一種結構。空間實體是地理圖形的抽象模型,主要包括點、線、面三種類型。任何點、線、面實體都可以用直角坐標點x,y來表示。點可以表示成一組坐標(x1,y1;x2,y2xn,

40、yn)。空間索引時查詢空間實體的一種機制,通過空間索引,就能夠以盡量快的速度查詢到給定坐標范圍內的空間實體及其所對應的數據。從縱向分析,mapinfo的空間數據結構是一種分層存放的結構。用戶可以通過圖形分層技術,根據自己的需求戶一定的標準對各種空間實體進行分層組合,即將一張地圖分成不同圖層。3.4 轉換與連接3.4.1轉換地圖autocad在本次設計中主要用于處理地圖,我們得到的是使用autocad制作的浙江工業(yè)大學控制網及圖幅分幅圖,如圖4: 圖4:原始圖在圖上可見線條縱橫交錯,不易分辨,該圖分為0、dl、t100、t900、地形、電纜、電信、舊上水、舊下水、上水、下水、圖框、網絡、污水等若

41、干個layer,我們的任務就是將繪制在autocad中的地圖導入mapinfo。用戶可使用export命令將autocad圖形對象轉化為其他文件格式加以保存,以便其他應用程序調用,此命令共有如下兩種執(zhí)行方法:1在命令行中輸入export并按回車鍵。2選擇file菜單的export選擇項。在執(zhí)行export命令時,將彈出export data對話窗口,如圖5:圖5:export data對話框用戶可在export data對話窗口中輸入文件名和文件類型,autocad可導出的文件格式共有如下十種:1 3ds格式3d studio文件格式,可使用3dsout命令導出此種格式。2 mp格式設置無關的

42、位圖文件格式,可使用bmpout命令導出此種格式。3 dwg格式autocad圖形文件格式,可使用wblock命令導出dwg格式。4 dwf格式autocad圖形web格式,可使用dwfout命令導出此種格式。5 dxf格式autocad圖形交換文件格式,可使用dxfout命令導出此種格式。6 dxx格式dxf屬性抽取文件格式,用于將dxf屬性保存到一個文件中,可使用attext命令導出此格式。7 eps格式postscript文件格式,可使用psout命令導出此格式。8 sat格式acis實體對象文件格式,可使用acisout命令導出此種格式。9 stl格式實體對象立體化文件格式,可使用st

43、lout命令導出此格式。10wmf格式windows文件格式,可使用wmfout命令導出此格式。我們選擇autocad r12/lt2 dxf(*.dxf)格式,以便與mapinfo導入此格式。打開mapinfo,點擊“表轉入”可以看到“dxf轉入信息”對話框,如圖6:圖6:dxf轉入信息對話框勾選“創(chuàng)建分離的表”,則將把autocad中的分層圖逐一導入mapinfo并分別以*.tab的形式保存下來,以便于下一步處理地圖。3.4.2用mapinfo處理地圖用mapinfo處理地圖mapinfo的主窗口如圖7所示,其工具條主要包括常用工具條、主工具條、繪圖工具條和工具工具條。以下正文的文字大小也

44、應是小四號,請大家參考時注意 1 81、主菜單 2、繪圖工具條 3、主工具條 4、常用工具條5、地圖窗口 6、工具工具條 7、瀏覽窗口 8、狀態(tài)欄圖7:mapinfo主窗口利用以上的工具,我們處理地圖:1、打開“地形tab”如圖8,上面的每一個點、每一條線、每一塊區(qū)域甚至注解都是一條紀錄,初始時有18977條紀錄,我們的目標是將地圖簡化為一塊區(qū)域對應一條紀錄的表。因此首先我們將不需要的注解、線條及框架刪除。2、 制作“行政tab”時,我們刪除行政樓以外的建筑,將行政樓的線條轉化為區(qū)域即選擇“對象”“轉化為區(qū)域”,用合適的顏色填充,必要的時候需要重畫線條,行政樓外的草坪也畫出進行裝飾。3、 選擇

45、“表維護表結構”如圖9,可以添加、刪除字段。在到瀏覽器界面中,添加信息(如圖10),這樣可以到地圖界面中點擊信息工具察看信息,點擊標注工具對地圖進行標注。4、 選擇“表維護緊縮表”,緊縮地圖和表格數據,這樣得到一張簡單清晰的表(如圖11)。記錄也變?yōu)閮H有15條了。5、 用相同的方法,我們處理其他分層圖。并制作一張底層圖作為分層圖的底層。 圖8:未處理前的地圖 圖9:修改表結構對話框圖10:為地圖加標注圖11:緊縮后的表3.4.3 mapinfo與delphi的無縫連接在開發(fā)“校園地理信息系統(tǒng)”時,將mapinfo professional和delphi連接起來。在delphi中嵌入mapinf

46、o校園圖形的資料,成為其界面的一部分,由delphi開發(fā)校園地理信息系統(tǒng)軟件,提供用戶控制和操作界面,用桌面圖形系統(tǒng)開發(fā)平臺mapinfo professional操縱和處理校園圖形資料。這些操縱包括圖形放大、縮小、漫游、信息標注、空間查詢、圖層的添加和控制等。將delphi和mapinfo professional結合,取barland delphi軟件開發(fā)平臺的高效率、高可靠性、先進的組件技術、完全支持activex和dde技術等優(yōu)勢,可開發(fā)出高質量的圖形信息管理系統(tǒng)。圖12為delphi程序與mapinfo professional兩者在連結控制過程中的分工與地位,以及activex與d

47、de所扮演的角色。圖中包含三個虛框,左上一個為activex(ole)自動化;右上一個為delphi程序與mapinfo professional之間的控制連接;下方一個為mapinfo professional體系3。用戶操作delphi程序中心控制(activex客戶機) activex對象 控制 反饋消息 回調消息windows消息windows消息 控制與數據傳輸 dde回調mapinfo控制器(activex服務器) activex控制資料2資料3資料1 mapinfo處理圖層2 mapinfo處理圖層1 mapinfo數據庫圖12:delphi與mapinfo連接圖技術難點是從de

48、lphi控制mapinfo professional運行,并取得其服務,操縱嵌入在delphi程序界面上的地圖資料:主要指在delphi程序中通過特定activex控制接口,執(zhí)行相應接口方法函數,向mapinfo professional發(fā)出控制命令,取得其服務,達到操縱嵌入在delphi程序界面上的mapinfo地圖資料的目的。問題是如何控制mapinfo professional運行、如何取得activex接口方法、如何跟delphi程序界面上的地圖資料聯系起來,達到操縱該地圖的目的。 可以利用delphi對activex支持的函數啟動和控制mapinfo professional運行。這

49、時delphi程序是activex(ole)客戶應用程序,控制mapinfo professional的運行;在后臺運行的mapinfo professional是activex(ole)自動化服務器,為delphi程序提供服務。在delphi的程序中集成mapinfo的地圖窗口是將mapinfo的地圖窗口調進delphi開發(fā)的應用程序界面中去,擴充程序的功能。把地圖窗口應用于其他程序中,這種程序開發(fā)方法,是一種程序集成的方法。具體做法是采用ole自動化技術。ole(object linking and embedding)是microsoft公司為解決window 下應用程序間的通信問題而提

50、出的。但是到了今天,ole已演變?yōu)橐环N協議或規(guī)范,成為軟構件集成技術的基礎。ole自動化(ole automation)技術是ole2.0新增加技術,它使用戶通過編程在一個應用程序中控制另一個應用程序的對象,從而實現了應用程序級別的可重用。在ole自動化這一技術領域中,由應用程序或ole編程工具所展現的對象稱為ole自動化對象,訪問操作并控制該對象的應用程序或ole編程工具則稱為ole自動化控制器,展現這些對象的應用程序則稱為ole自動化服務器。ole自動化服務器展現的自動化對象使通過編程方法操縱應用程序成為可能。通過使用ole自動化,能夠完成以下的任務:1) 創(chuàng)建ole自動化服務器2) 創(chuàng)建

51、和操縱ole自動化對象3) 創(chuàng)建ole自動化控制器ole自動化服務器對象是編程的,其可編程能力主要是通過方法和屬性這兩個類的概念及兩種類型的ole自動化對象成員來實現。其中“方法”可以是帶有許多參數的函數,它定義了一個對象所能達到并能完成的行為,同時可以獲取或設置數據?!皩傩浴眲t是不帶有形參的函數,并能存取或設置有關對象當前狀態(tài)的信息。實際上,ole自動化技術就是使任何對象展示出一組可以由其他代碼激活的方法和屬性,而自動化提供了對象描述中參數和屬性的名稱和類型的方法。使用ole帶來的好處是,不同應用程序展現的對象在同一編程環(huán)境中都是可見的,展現的對象可以用任何一個支持ole自動化的編程工具或宏語言來訪問,因此系統(tǒng)集成者可以選擇最合適的任務開發(fā)工具。mapinfo提供的ole自動化對象模型如圖13所示。8mbglobals mifieldsmirows miselection mifieldsmirowsmisearchinfomimapgenmbapplicationapplication 對象 對象和對象集 圖13:ole自動化對象模型其中application對象代表mapinfo的一個實例。在mbapplication集和mbglobals集中,每一個對象分別

溫馨提示

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

評論

0/150

提交評論