實(shí)現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的 桌面應(yīng)用程序.doc_第1頁(yè)
實(shí)現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的 桌面應(yīng)用程序.doc_第2頁(yè)
實(shí)現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的 桌面應(yīng)用程序.doc_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的 桌面應(yīng)用程序.Won904 display:none; 摘要 本文簡(jiǎn)要介紹桌面地理信息系統(tǒng)的概念,通過(guò)分析 桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊關(guān)系,結(jié)合實(shí)例,論述了ArcView 和VB 5相互通訊在開(kāi)發(fā)桌面地理信息系統(tǒng)中的應(yīng)用價(jià)值。丶詞 桌面地理信息系統(tǒng)、ArcView和VB5、應(yīng)用程序通訊1.桌面地理信息系統(tǒng)簡(jiǎn)介乩硇畔低呈且恢痔囟目占湫畔低常它是采用現(xiàn)代化的方法來(lái)采集、存儲(chǔ)、分 析、管理、顯示、模擬與地理空間分布有關(guān)數(shù)據(jù)的空間信息系統(tǒng)。它是現(xiàn)代地球科學(xué)、信息 學(xué)、環(huán)境科學(xué)、測(cè)繪遙感學(xué)、計(jì)算機(jī)科學(xué)、管理科學(xué)、應(yīng)用

2、數(shù)學(xué)以及各種應(yīng)用學(xué)科有機(jī)結(jié)合 的集成產(chǎn)物。自60年代加拿大測(cè)量學(xué)家R.T.Tomlinson 首先提出地理信息系統(tǒng)這一術(shù)語(yǔ)以來(lái) ,在大型機(jī)、小型機(jī)、工作站和微機(jī)平臺(tái)上,相繼出現(xiàn)了GIS的應(yīng)用平臺(tái)。如美國(guó)ESRI的產(chǎn) 品,已遍布上述四種硬件平臺(tái)。由于80年代PC技術(shù)的迅速發(fā)展,以及近幾年來(lái)PC硬件價(jià)格的 急劇下跌和其性能日益提高,使得桌面地理信息系統(tǒng)(DeskTop GIS)得到了迅速的發(fā)展。 其中在國(guó)內(nèi)用得較多的有美國(guó)ESRI公司的ArcView。2.ARCVIEW介紹衷誄玫腁rcView2.1以上英文版是直觀性較好的桌面地理信息系統(tǒng)。它集空間圖形、關(guān)系 數(shù)據(jù)庫(kù)、統(tǒng)計(jì)圖形、空間分析、網(wǎng)絡(luò)通訊、

3、面向?qū)ο蟮某绦蛟O(shè)計(jì)于一體,圖形用戶(hù)界面直觀 。而且它有自己的開(kāi)發(fā)工具即Avenue,用于制作特定的ArcView 應(yīng)用程序。Avenue是一種WI NDOWS環(huán)境下的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,ArcView 的系統(tǒng)功能就是由它編程實(shí)現(xiàn)的。魏我桓鲇葾venue語(yǔ)言開(kāi)發(fā)的Windows應(yīng)用程序都有一個(gè)對(duì)應(yīng)的Project,Project由一些Doc ument和Script組成,而Document又由Document Window 和Document GUI 組成,所以Avenue 應(yīng)用程序的模型如圖1所示。圖1中Document是人機(jī)交流的唯一途徑,根據(jù)其功能又可分為 V iew, Table,

4、Chart, Layout和 Script Editor五種,Document GUI 是對(duì)應(yīng)于某一Document 的圖形用戶(hù)界面,由 Menu bar,Button bar 和Tool bar組成,分別用來(lái)對(duì)應(yīng)不同的功能。圖1Avenue應(yīng)用程序模型頤竊誥嚀蹇發(fā)桌面地理信息系統(tǒng)ArcView 時(shí),發(fā)現(xiàn)現(xiàn)有的ArcVie w 系統(tǒng)功能并不能完全滿(mǎn)足要求,必須對(duì)ArcView 系統(tǒng)重新改造,增加新的功能。由于ArcV iew 的開(kāi)發(fā)語(yǔ)言是Avenue,它的開(kāi)發(fā)效率低,所以在實(shí)際開(kāi)發(fā)中既要充分利用ArcView 自身 強(qiáng)大的地圖管理功能,又要利用高級(jí)語(yǔ)言(如VB5)在快速開(kāi)發(fā)應(yīng)用方面的長(zhǎng)處,兩者

5、相互 結(jié)合,將取得良好效果。3.ArcView和VB5應(yīng)用程序通訊方法鍆玫腎PC(interprocess munication,IPC)方法是DDE、OLE和對(duì)動(dòng)態(tài)聯(lián)接庫(kù)的外部 函數(shù)調(diào)用、文件訪問(wèn)以及WINDOWS剪貼板。上述方法都能使不同的WINDOWS應(yīng)用程序之間彼此 通信。其中DDE方法原先是作為一種基于消息的協(xié)議在WINDOWS(3._之前)中實(shí)現(xiàn)的,用來(lái)在 不同的WINDOWS應(yīng)用程序之間交換信息。隨著WINDOWS3.0的發(fā)布,DDE在實(shí)際的應(yīng)用程序開(kāi)發(fā) 中得到大量應(yīng)用,這是通過(guò)使DDE服務(wù)能夠利用應(yīng)用程序編程接口(API)調(diào)用DDE管理庫(kù)來(lái) 完成的。ArcView是通過(guò)DDE和

6、DLL方法實(shí)現(xiàn)與外部應(yīng)用程序通信。本文通過(guò)一個(gè)實(shí)例來(lái)詳細(xì) 介紹DDE功能的使用。在實(shí)際應(yīng)用中,ArcView既可作Clint,又可作Server,來(lái)實(shí)現(xiàn)應(yīng)用程 序之間的通訊,包括發(fā)送或接受數(shù)據(jù),執(zhí)行請(qǐng)求,返回分析結(jié)果。通過(guò)使用DDE方法,可以 克服ArcView本身開(kāi)發(fā)語(yǔ)言的落后性,達(dá)到充分發(fā)揮ArcView自身強(qiáng)大的地圖管理功能,又創(chuàng) 造出符合時(shí)代特色的桌面地理信息系統(tǒng)。實(shí)踐證明,采用ArcView和VB5應(yīng)用程序通訊進(jìn)行系 統(tǒng)開(kāi)發(fā)是一種有效的桌面地理信息系統(tǒng)開(kāi)發(fā)方法。4.實(shí)例分析詒糾中,VB5 應(yīng)用程序向ArcView 發(fā)出Avenue 請(qǐng)求以建立新的文檔如views 和layouts,

7、而且應(yīng)用程序詢(xún)問(wèn)ArcView 以得到當(dāng)前激活的文檔。此時(shí)VB5 應(yīng)用程序是目標(biāo),而ArcView 是源。綣已安裝VB5 和ArcView,按照下面步驟建立應(yīng)用程序:(1) 啟動(dòng)VB5,建立缺省窗體Form1。(2) 在Form1上根據(jù)下列屬性建立控件,然后放大窗體以便整齊地排列控件。ObjectProperty SettingTe_t Bo_Namet_tDDEmand ButtonCaptionSend RequestNamecmdRequestbo Bo_NamecboDocType(3) 在Form1的說(shuō)明部分增加下面代碼:Const NONE=0, MANUAL=2Sub Start

8、upDim tConst DDE_NO_APP=282this will start ArcView if it isnt runningOn Error GoTo FireUpt_tDDE.LinkMode=NONE清除DDE鏈接t_tDDE.LinkTopic=ArcView|System建立對(duì)話t_tDDE.LinkMode=MANUAL建立人工鏈接E_it SubFireUp:If Err=DDENOAPP ThenChDir C:ARCVIEW2BINt=Shell(arcview,1)t=DoEventsResumeElseMsgBo_ Unknown error.StopEnd

9、IfEnd Sub(4) 在FormLoad 事件中增加下列代碼:Sub FormLoadcboDocType.te_t=cboDocType.AddItem ViewcboDocType.AddItem LayoutcboDocType.AddItem SEdStartup調(diào)startup 程序End Sub(5) 在FormUnload 事件中增加下列代碼:Sub FormUnload (Cancel As Integer)t_tDDE.LinkMode = NONE關(guān)閉DDE 對(duì)話End Sub(6) 在cboDocTypeClick事件中增加下列代碼:Sub cboDocTypeCli

10、ckcmd=av.GetProject.AddDoc(&;cboDocType&;.make) av.GetProject.GetActive.Get(0).Ge tWin.Opent_tDDE.LinkE_ecute cmdEnd Sub(7) 在cmdRequestClick事件中增加下列代碼:Sub cmdRequestClick LinkItem是能夠返回值的Avenue scriptt_tDDE.LinkItem = av.GetActiveDoc.GetNamet_tDDE.LinkRequestEnd Sub(8) 存儲(chǔ)VB5工程并編譯成E_E 文件。衷詡純稍誦蠽isual Basic應(yīng)用程序。如果ArcView 沒(méi)有運(yùn)行,應(yīng)用程序就 會(huì)激活它。從dropdown bo bo_ 選擇一個(gè)文檔名以便在ArcView中建立一個(gè)文檔。要訪問(wèn) 當(dāng)前激活的文檔就敲擊Send Request button,在文本框里將會(huì)顯示文檔名。本例所有的DDE 通訊都是通過(guò)文本框?qū)崿F(xiàn)的。在VB5中, 任何te_t bo_, picture bo_和label在對(duì)話中都可 作為目標(biāo),同時(shí)任何窗體可看作源。隕鮮道的運(yùn)行環(huán)境為:Visual Basic 4.0以上,ArcView2.1以上,Windows3.1以上。慰嘉南

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論