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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、測(cè)試通過(guò)。本文先簡(jiǎn)要介紹了地理信息系統(tǒng)的概況,然后介紹了校園地理信息系統(tǒng)的組成及功能,詳細(xì)討論了在設(shè)計(jì)實(shí)現(xiàn)本系統(tǒng)中所遇到的問(wèn)題及解決方法。關(guān)鍵詞:地理信息系統(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è)設(shè)計(jì)自今年2月份以來(lái),歷時(shí)三個(gè)多月。在這三個(gè)多月的時(shí)間里,我的畢業(yè)設(shè)計(jì)得到了*老師的極大支持。在畢業(yè)設(shè)計(jì)過(guò)程中,*老師給了我很多意見(jiàn)和建議,并且給予了細(xì)心的指導(dǎo),在此我深表感謝,感謝*老師對(duì)我的無(wú)微不至的關(guān)心與指導(dǎo)。目 錄中文摘要1英文摘要1致謝2目錄3第一章 緒 論51.1 研究地理信息系統(tǒng)(gis)的背景51.2 研究地理信息系統(tǒng)(gis)的目的及其結(jié)構(gòu)51.3 研究地理信息系統(tǒng)(gis)的方法91.4 論文內(nèi)容概述9第二章 技術(shù)支持和開(kāi)發(fā)工具102.1 mapinfo .102.2 delphi 5.0112.3 autocad r14.0112.4 ma

7、pbasic11第三章 校園地理信息系統(tǒng)的開(kāi)發(fā)133.1 系統(tǒng)的目標(biāo)及功能133.1.1 系統(tǒng)的開(kāi)發(fā)目標(biāo)133.1.2 系統(tǒng)的特點(diǎn)及功能概述133.2 可行性分析和需求分析133.2.1 系統(tǒng)的可行性分析133.2.2 系統(tǒng)的需求分析143.3 總體設(shè)計(jì)153.3.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)153.3.2 模塊設(shè)計(jì)163.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)173.4 轉(zhuǎn)換與連接173.4.1 轉(zhuǎn)換地圖173.4.2 用mapinfo處理地圖203.4.3 mapinfo與delphi的無(wú)縫連接233.5 詳細(xì)設(shè)計(jì)273.5.1 界面設(shè)計(jì)273.5.2 浮動(dòng)工具欄的設(shè)計(jì)實(shí)現(xiàn)303.5.3 地圖顯示323.5.4 tree

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

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

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

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

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

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

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

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

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

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

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

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

20、et編程支持,從而使得delphi5.0開(kāi)發(fā)功能更加強(qiáng)大,同時(shí)更加易于學(xué)習(xí)和使用。1) 是一個(gè)可視化的rad(rapid application development,快速應(yīng)用程序開(kāi)發(fā))工具,具有高效易用、最優(yōu)化的源代碼編譯器、可視化的快速應(yīng)用程序開(kāi)發(fā)環(huán)境和可擴(kuò)展的數(shù)據(jù)庫(kù)技術(shù),適合各種類型的可視化程序開(kāi)發(fā)。2) 具有比delphi4.0更強(qiáng)大的網(wǎng)絡(luò)功能。3) 使用的程序語(yǔ)言是object pascal,它是一種面向?qū)ο蟮慕Y(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,增強(qiáng)了異常狀況的處理能力以及類的封裝能力,具有自動(dòng)的異常狀況處理能力。4) 具有完整的基于組件設(shè)計(jì)和可視化的開(kāi)發(fā)環(huán)境,程序設(shè)計(jì)人員可以很快設(shè)計(jì)出自己滿意的

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

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

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

24、或函數(shù)的詳細(xì)說(shuō)明資料。作為一種功能強(qiáng)大、易于使用的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,mapbasic與傳統(tǒng)的gis相比,良好的軟件集成環(huán)境、面向?qū)ο蠛褪录幚硎降木幊趟枷?,都是mapbasic的顯著特征。下面是mapbasic的主要特點(diǎn):1) 一種類basic語(yǔ)言,幫助建立用戶界面。由于桌面地圖信息系統(tǒng)應(yīng)用軟件在各種機(jī)構(gòu)和領(lǐng)域內(nèi)的應(yīng)用愈加廣泛,顧客對(duì)開(kāi)發(fā)應(yīng)用軟件的需要日益增大。用戶可以利用mapbasic開(kāi)發(fā)適合自己需要的應(yīng)用軟件包。2) mapinfo集成。支持oleautomation和dde技術(shù)使之易于與其他應(yīng)用軟件相連接。當(dāng)與其他的商業(yè)工具集成時(shí),桌面地圖信息系統(tǒng)能夠發(fā)揮最大的作用。mapbasic

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

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

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

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

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

30、以允許用戶與地圖之間進(jìn)行交互。例如,在一個(gè)mapinfo地圖窗口中,用戶可以使用程序所提供的放大縮小工具來(lái)放大或縮小地圖。一個(gè)集成地圖窗口與在mapinfo內(nèi)的地圖窗口沒(méi)有什么本質(zhì)的不同。集成地圖應(yīng)用程序可以由許多語(yǔ)言編寫。通常用的編程語(yǔ)言有:c+、visual basic、delphi和power builder等。在所編制的程序中,可以使用一個(gè)語(yǔ)句使mapinfo在后臺(tái)啟動(dòng)。例如,當(dāng)使用delphi來(lái)編程時(shí),可以通過(guò)調(diào)用createoleobject()函數(shù)來(lái)啟動(dòng)mapinfo。當(dāng)調(diào)用該函數(shù)后,mapinfo遍成功的在后臺(tái)啟動(dòng),而不會(huì)在前臺(tái)顯示其啟動(dòng)畫面。在程序中可以通過(guò)構(gòu)造一些表示map

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

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)境下進(jìn)行。2) 集成地圖環(huán)境。需要mapinfo 4.0或更高版本,可以在profession或runtime環(huán)境中編程。計(jì)算機(jī)硬件上,必須有足夠的內(nèi)存,可以同時(shí)運(yùn)行客戶程序和mapinfo。3) 客戶程序(例如delphi程序)必須可以作為ole自動(dòng)控制器或作為dde客戶。一般傾向于采用ole而不用dde,因?yàn)槠群笳哐杆俸涂煽?,并且ole自動(dòng)控制器一般提供比dde更詳細(xì)的錯(cuò)誤信息報(bào)告。mapi

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

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

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

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

37、施分布圖”的treeview中的“文化一條街”點(diǎn)擊工具欄上的“幫助” 圖1:系統(tǒng)結(jié)構(gòu)圖3.3.2 模塊設(shè)計(jì)學(xué)校是一個(gè)特殊的實(shí)體,我們以用戶的角度來(lái)考察,要將各個(gè)建筑分類。進(jìn)入一個(gè)學(xué)校,我們希望了解的有學(xué)校的行政辦公的場(chǎng)所,包括學(xué)校的行政辦公場(chǎng)所,如校長(zhǎng)辦公室、教務(wù)處、校黨委辦公室、財(cái)務(wù)處等,以及各個(gè)學(xué)院的辦公場(chǎng)所,如信息學(xué)院在主樓八樓,經(jīng)貿(mào)學(xué)院在c區(qū)三樓等,因此我們建立一張行政辦公分布圖;關(guān)心學(xué)校教學(xué)設(shè)施的用戶可以在教室分布圖上找到學(xué)校教室分布情況,在運(yùn)動(dòng)設(shè)施分布圖上可以了解到學(xué)校所有的運(yùn)動(dòng)設(shè)施的分布情況。另外,我們?nèi)缫乙粋€(gè)同學(xué),我們?nèi)缰浪诘膶W(xué)院,根據(jù)這個(gè)就可以知道他所在的寢室樓,因此

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論