實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊_第1頁
實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊_第2頁
實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊_第3頁
實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊_第4頁
實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實現(xiàn)桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊全文本文詳盡介紹桌面地理信息系統(tǒng)的概念,通過分析桌面地理信息系統(tǒng)ArcView和VB5應(yīng)用程序之間的通訊關(guān)系,融合實例,闡述了ArcView和VB5相互通訊在研發(fā)桌面地理信息系統(tǒng)中的應(yīng)用領(lǐng)域價值。?關(guān)鍵詞桌面地理信息系統(tǒng)、ArcView和VB5、應(yīng)用程序通訊??1.桌面地理信息系統(tǒng)詳述?地理信息系統(tǒng)就是一種特定的空間信息系統(tǒng),它就是采用現(xiàn)代化的方法回去搜集、存儲、分后析、管理、說明、模擬與地理空間原產(chǎn)有關(guān)數(shù)據(jù)的空間信息系統(tǒng)。它就是現(xiàn)代地球科學(xué)、信息學(xué)、環(huán)境科學(xué)、測繪遙感技術(shù)學(xué)、計算機科學(xué)、管理科學(xué)、應(yīng)用領(lǐng)域數(shù)學(xué)以及各種應(yīng)用領(lǐng)域?qū)W科有機融合的內(nèi)置產(chǎn)物。自60年代加拿大測量學(xué)家R.T.Tomlinson首先明確提出地理信息系統(tǒng)這一術(shù)語以來,在大型機、小型機、工作站和微機平臺上,相繼出現(xiàn)了GIS的應(yīng)用領(lǐng)域平臺。比如美國ESRI的產(chǎn)Fanjeaux,已遍布上述四種硬件平臺。由于80年代PC技術(shù)的快速發(fā)展,以及近幾年來PC硬件價格的急劇下跌和其性能日益提高,并使桌面地理信息系統(tǒng)(DeskTopGIS)贏得了快速的發(fā)展。其中在國內(nèi)用得較多的存美國ESRI公司的ArcView。?2.ARCVIEW介紹?現(xiàn)在常用的ArcView2.1以上英文版就是直觀性較好的桌面地理信息系統(tǒng)。它輯空間圖形、關(guān)系數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)圖形、空間分析、網(wǎng)絡(luò)通訊、面向?qū)ο蟮某绦蛟O(shè)計于一體,圖形用戶界面直觀。而且它存自己的開發(fā)工具即Avenue,用做制作特定的ArcView應(yīng)用程序。Avenue就是一種WINDOWS環(huán)境下的面向?qū)ο蟮某绦蛟O(shè)計語言,ArcView的系統(tǒng)功能就是由它編程同時同時實現(xiàn)的。在實際應(yīng)用領(lǐng)域中,ArcView既可為Clint,又可向Server,回去同時同時實現(xiàn)應(yīng)用領(lǐng)域程序之間的通訊,涵蓋傳輸或拒絕接受數(shù)據(jù),繼續(xù)執(zhí)行命令,返回分析結(jié)果。通過使用DDE方法,可以消解ArcView本身研發(fā)語言的滯后性,達(dá)致充分發(fā)揮ArcView自身彪悍的地圖管理功能,又創(chuàng)下打造出符合時代特色的桌面地理信息系統(tǒng)。(7)在cmdRequestClick事件中增加以下代碼:?SubcmdRequestClick()?'LinkItem就是能夠返回值的Avenuescript?txtDDE.LinkItem="av.GetActiveDoc.GetName"?txtDDE.LinkRequest?EndSub??任何一個由Avenue語言研發(fā)的Windows應(yīng)用程序都存一個對應(yīng)的Project,Project由一些Document和Script共同共同組成,而Document又由DocumentWindow和DocumentGUI共同共同組成,所以Avenue應(yīng)用程序的模型比如圖1右圖。圖1中Document就是人機交流的唯一途徑,根據(jù)其功能又可以分為View,Table,Chart,Layout和ScriptEditor五種,DocumentGUI就是對應(yīng)于某一Document的圖形用戶界面,由Menubar,Buttonbar和Toolbar共同共同組成,分別用來對應(yīng)相同的功能。ArcView就是通過DDE和DLL方法同時同時實現(xiàn)與外部應(yīng)用程序通信。本文通過一個實例回去詳細(xì)介紹DDE功能的使用。(5)在FormUnload事件中增加以下代碼:?SubFormUnload(CancelAsInteger)?txtDDE.LinkMode=NONE'停止使用DDE對話?EndSub?(4)在FormLoad事件中增加以下代碼:?SubFormLoad()?cboDocType.text=""?cboDocType.AddItem"View"?cboDocType.AddItem"Layout"?cboDocType.AddItem"SEd"Startup'調(diào)startup程序?EndSub?3.ArcView和VB5應(yīng)用程序通訊方法?最通用型的IPC(interprocesscommunication,IPC)方法就是DDE、OLE和對動態(tài)連結(jié)庫的外部函數(shù)調(diào)用、文件訪華以及WINDOWS剪貼板。上述方法都能并使相同的WINDOWS應(yīng)用程序之間彼此通信。如果ArcView沒有運轉(zhuǎn),應(yīng)用程序就可以轉(zhuǎn)化成它。從dropdowncombobox挑選出一個文檔名以便在ArcView中建立一個文檔。(6)在cboDocTypeClick事件中增加以下代碼:?SubcboDocTypeClick()?cmd="av.GetProject.AddDoc("&cboDocType&".make)av.GetProject.GetActive.Get(0).GetWin.Open"?txtDDE.LinkExecutecmd?EndSub?其中DDE方法原先就是作為一種基于消息的協(xié)議在WINDOWS(3.x之前)中同時同時實現(xiàn)的,用來在相同的WINDOWS應(yīng)用程序之間交換信息。隨著WINDOWS3.0的發(fā)布,DDE在實際的應(yīng)用領(lǐng)域程序開發(fā)中贏得大量應(yīng)用領(lǐng)域,這就是通過并使DDE服務(wù)能夠利用應(yīng)用程序編程USB(API)調(diào)用DDE管理庫來順利完成的。圖1Avenue應(yīng)用程序模型?我們在具體內(nèi)容研發(fā)桌面地理信息系統(tǒng)ArcView時,辨識發(fā)生有的ArcView系統(tǒng)功能并無法完全滿足要求,必須對ArcView系統(tǒng)再次擴建,增加代萊功能。由于ArcView的研發(fā)語言就是Avenue,它的研發(fā)效率高,所以在實際研發(fā)中既要充分利用ArcView自身彪悍的地圖管理功能,又必須利用高級語言(如VB5)在快速研發(fā)應(yīng)用領(lǐng)域方面的長處,兩者相互融合,將贏得良好效果。此時VB5應(yīng)用程序就是目標(biāo),而ArcView就是源。?如果已安裝VB5和ArcView,按照下面步驟建立應(yīng)用程序:?實踐證明,采用ArcView和VB5應(yīng)用程序通訊進(jìn)行系則為叢蘚科扭口蘚研發(fā)就是一種有效率的桌面地理信息系統(tǒng)開發(fā)方法。4.實例分析?在本例中,VB5應(yīng)用程序向ArcView接到Avenue命令以建立代萊文檔如views和layouts,而且應(yīng)用程序盤問ArcView以贏得當(dāng)前轉(zhuǎn)化成的文檔。1)?t=DoEvents()?Resume?Else?MsgBox"Unknownerror."?Stop?EndIf?EndSub?(2)在Form1上根據(jù)以下屬性建立控件,然后放大窗體以便整齊地排序控件。?ObjectPropertySetting?TextBoxNametxtDDE?CommandButtonCaptionSendRequest?NamecmdRequest?ComboBoxNamecboDocType?(3)在Form1的說明部分增加下面代碼:?ConstNONE=0,MANUAL=2?SubStartup()?Dimt?ConstDDE_NO_APP=282?'thiswillstartArcViewifitisn'trunning?OnErrorGoToFireUp?txtDDE.LinkMode=NONE'除去DDE鏈接?txtDDE.LinkTopic="ArcView|System"'建立對話?txtDDE.LinkMode=MANUAL'建立人工鏈接?ExitSub?FireUp:?IfErr=DDENOAPPThen?ChDir"C:\ARCVIEW2\BIN"?t=Shell("arcview",(8)存儲VB5工程并編譯成EXE文件。?現(xiàn)在即可運轉(zhuǎn)VisualBasic應(yīng)用程序。(1)啟動VB5,建立缺省窗體Form1。?必須訪華當(dāng)前轉(zhuǎn)化成的文檔就敲擊SendRequestbutton,在文本框里將可以說明文檔名。本例所有的DDE通訊都就是通過文本框同時同時實現(xiàn)的。在VB5中,任何textbox,picturebox和label在對話中都可以作為目標(biāo),同時任何窗體可以看作源。?以上實例的運轉(zhuǎn)環(huán)境為:VisualBasic4.0以上,ArcView2.1以上,Win

溫馨提示

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

評論

0/150

提交評論