當前位置:概念範文網>畢業論文>畢業設計>

實現桌面地理資訊系統ArcView和VB5應用程式之間的通訊

畢業設計 閱讀(2.07W)

摘要 本文簡要介紹桌面地理資訊系統的概念,通過分析 桌面地理資訊系統ArcView和VB5應用程式之間的通訊關係,結合例項,論述了ArcView 和VB 5相互通訊在開發桌面地理資訊系統中的應用價值。關鍵詞 桌面地理資訊系統、ArcView和VB5、應用程式通訊1. 桌面地理資訊系統簡介地理資訊系統是一種特定的空間資訊系統,它是採用現代化的方法來採集、儲存、分 析、管理、顯示、模擬與地理空間分佈有關資料的空間資訊系統。它是現代地球科學、資訊 學、環境科學、測繪遙感學、電腦科學、管理科學、應用數學以及各種應用學科有機結合 的整合產物。自60年代加拿大測量學家inson 首先提出地理資訊系統這一術語以來 ,在大型機、小型機、工作站和微機平臺上,相繼出現了GIS的應用平臺。如美國ESRI的產 品,已遍佈上述四種硬體平臺。由於80年代PC技術的迅速發展,以及近幾年來PC硬體價格的 急劇下跌和其效能日益提高,使得桌面地理資訊系統(DeskTop GIS)得到了迅速的發展。 其中在國內用得較多的有美國ESRI公司的ArcView。2. ARCVIEW介紹現在常用的ArcView2.1以上英文版是直觀性較好的桌面地理資訊系統。它集空間圖形、關係 資料庫、統計圖形、空間分析、網路通訊、面向物件的程式設計於一體,圖形使用者介面直觀 。而且它有自己的開發工具即Avenue,用於製作特定的ArcView 應用程式。Avenue是一種WI NDOWS環境下的面向物件的程式設計語言,ArcView 的系統功能就是由它程式設計實現的。任何一個由Avenue語言開發的Windows應用程式都有一個對應的Project,Project由一些Doc ument和Script組成,而Document又由Document Window 和Document GUI 組成,所以Avenue 應用程式的模型如圖1所示。圖1中Document是人機交流的唯一途徑,根據其功能又可分為 V iew, Table, Chart, Layout和 Script Editor五種,Document GUI 是對應於某一Document 的圖形使用者介面,由 Menu bar,Button bar 和Tool bar組成,分別用來對應不同的功能。圖1Avenue應用程式模型我們在具體開發桌面地理資訊系統ArcView 時,發現現有的ArcVie w 系統功能並不能完全滿足要求,必須對ArcView 系統重新改造,增加新的功能。由於ArcV iew 的開發語言是Avenue,它的開發效率低,所以在實際開發中既要充分利用ArcView 自身 強大的地圖管理功能,又要利用高階語言(如VB5)在快速開發應用方面的長處,兩者相互 結合,將取得良好效果。3. ArcView和VB5應用程式通訊方法最通用的IPC(interprocess communication,IPC)方法是DDE、OLE和對動態聯接庫的外部 函式呼叫、檔案訪問以及WINDOWS剪貼簿。上述方法都能使不同的WINDOWS應用程式之間彼此 通訊。其中DDE方法原先是作為一種基於訊息的協議在WINDOWS(3.x之前)中實現的,用來在 不同的WINDOWS應用程式之間交換資訊。隨著WINDOWS3.0的釋出,DDE在實際的應用程式開發 中得到大量應用,這是通過使DDE服務能夠利用應用程式程式設計介面(API)呼叫DDE管理庫來 完成的。ArcView是通過DDE和DLL方法實現與外部應用程式通訊。本文通過一個例項來詳細 介紹DDE功能的使用。在實際應用中,ArcView既可作Clint,又可作Server,來實現應用程 序之間的通訊,包括髮送或接受資料,執行請求,返回分析結果。通過使用DDE方法,可以 克服ArcView本身開發語言的落後性,達到充分發揮ArcView自身強大的地圖管理功能,又創 造出符合時代特色的桌面地理資訊系統。實踐證明,採用ArcView和VB5應用程式通訊進行系 統開發是一種有效的桌面地理資訊系統開發方法。4. 例項分析在本例中,VB5 應用程式向ArcView 發出Avenue 請求以建立新的文件如views 和layouts, 而且應用程式詢問ArcView 以得到當前啟用的文件。此時VB5 應用程式是目標,而ArcView 是源。如果已安裝VB5 和ArcView,按照下面步驟建立應用程式:(1) 啟動VB5,建立預設窗體Form1。(2) 在Form1上根據下列屬性建立控制元件,然後放大窗體以便整齊地排列控制元件。ObjectProperty SettingText BoxNametxtDDECommand ButtonCaptionSend RequestNamecmdRequestCombo BoxNamecboDocType(3) 在Form1的說明部分增加下面程式碼:Const NONE=0, MANUAL=2Sub Startup()Dim tConst DDE_NO_APP=282'this will start ArcView if it isn't runningOn Error GoTo FireUpMode=NONE'清除DDE連結Topic="ArcView|System"'建立對話Mode=MANUAL'建立人工連結Exit SubFireUp:If Err=DDENOAPP ThenChDir "C:\ARCVIEW2\BIN"t=Shell("arcview",1)t=DoEvents()ResumeElseMsgBox "Unknown error."StopEnd IfEnd Sub(4) 在FormLoad 事件中增加下列程式碼:Sub FormLoad()=""tem "View"tem "Layout"tem "SEd"Startup'調startup 程式End Sub(5) 在FormUnload 事件中增加下列程式碼:Sub FormUnload (Cancel As Integer)Mode = NONE'關閉DDE 對話End Sub(6) 在cboDocTypeClick事件中增加下列程式碼:Sub cboDocTypeClick()cmd="oc("&cboDocType&") (0) "Execute cmdEnd Sub(7) 在cmdRequestClick事件中增加下列程式碼:Sub cmdRequestClick ()'LinkItem是能夠返回值的Avenue scriptItem = "ame"RequestEnd Sub(8) 儲存VB5工程並編譯成EXE 檔案。現在即可執行Visual Basic應用程式。如果ArcView 沒有執行,應用程式就 會啟用它。從dropdown combo box 選擇一個文件名以便在ArcView中建立一個文件。要訪問 當前啟用的文件就敲擊Send Request button,在文字框裡將會顯示文件名。本例所有的DDE 通訊都是通過文字框實現的。在VB5中, 任何text box, picture box和label在對話中都可 作為目標,同時任何窗體可看作源。以上例項的執行環境為:Visual Basic 4.0以上,ArcView2.1以上,Windows3.1以上。參考文獻1、邊馥苓主編,《地理資訊系統原理和方法》,北京:測繪出版社,1996 年8月。2、郭達志、盛業華等編著,《地理資訊系統基礎與應用》,煤炭工業出版社,1997 年5月。3、(美國) Mike McKelvy & Ronald Martinsen 著,《Visual Basic 5開發使用手 冊》,機械工業出版社,1998年4月。

實現桌面地理資訊系統ArcView和VB5應用程式之間的通訊