实现桌面地理信息系统ArcView和VB5应用程序之间的通讯
读趣百科>范文>文秘写作>毕业设计

实现桌面地理信息系统ArcView和VB5应用程序之间的通讯

摘要 本文简要介绍桌面地理信息系统的概念,通过分析 桌面地理信息系统ArcView和VB5应用程序之间的通讯关系,结合实例,论述了ArcView 和VB 5相互通讯在开发桌面地理信息系统中的应用价值。?关键词 桌面地理信息系统、ArcView和VB

5、应用程序通讯??1. 桌面地理信息系统简介?地理信息系统是一种特定的空间信息系统,它是采用现代化的方法来采集、存储、分 析、管理、显示、模拟与地理空间分布有关数据的空间信息系统。它是现代地球科学、信息 学、环境科学、测绘遥感学、计算机科学、管理科学、应用数学以及各种应用学科有机结合 的集成产物。

自60年代加拿大测量学家R.T.Tomlinson 首先提出地理信息系统这一术语以来 ,在大型机、小型机、工作站和微机平台上,相继出现了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?txtDDE.LinkMode=NONE'清除DDE链接?txtDDE.LinkTopic="ArcView|System"'建立对话?txtDDE.LinkMode=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()?cboDocType.text=""?cboDocType.AddItem "View"?cboDocType.AddItem "Layout"?cboDocType.AddItem "SEd"Startup'调startup 程序?End Sub?

(5) 在FormUnload 事件中增加下列代码:?Sub FormUnload (Cancel As Integer)?txtDDE.LinkMode = NONE'关闭DDE 对话?End Sub?

(6) 在cboDocTypeClick事件中增加下列代码:?Sub cboDocTypeClick()?cmd="av.GetProject.AddDoc("&cboDocType&".make) av.GetProject.GetActive.Get(0).Ge tWin.Open"?txtDDE.LinkExecute cmd?End Sub?

(7) 在cmdRequestClick事件中增加下列代码:?Sub cmdRequestClick ()?'LinkItem是能够返回值的Avenue script?txtDDE.LinkItem = "av.GetActiveDoc.GetName"?txtDDE.LinkRequest?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月。

更多毕业设计范文

本科毕业论文摘要万能模板 摘要模板范文优秀

毕业论文是任何大学生在大四离校之前都必须学习的一门课程,它要求学生这门课结束后每人交出一份合乎格式的毕业论文设计。其中,摘要是毕业论文的总结,也是对论文内容的提...
展开详情

硕士毕业设计开题报告范文

  现在正是大学生们忙着写毕业论文和做毕业设计的时候,读趣百科范文大全特意为大家整理了关于毕业设计开题报告范文的相关材料,希望对您的......
展开详情

本科生毕业论文(设计)撰写要求

按照我毕业生工作要求,各学生要在2010年5月前完成毕业论文的制作、修改和最后答辩,为了提高学生论文质量,让毕业生顺利制作论文,也为了规范我校学生生撰写毕业论文...
展开详情

大学学位论文答辩程序

  中山大学学位论文答辩程序  1、由答辩委员会主席宣布答辩委员会成员和秘书名单、学位申请人及指导教师姓名、学位论文题目等,并主持......
展开详情

2013毕业论文开题报告

  现在正是大学生们忙着写毕业论文和做毕业设计的时候,读趣百科范文大全特意为大家整理了关毕业设计开题报告范文范文的相关材料,希望对您......
展开详情

毕业设计论文写作指导

毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。毕业设计论文应有一定的学术价值和实用价值,能反映出作者所具有的专业基础知识...
展开详情

电子商务影响传统会计的十个方面

电子商务在20世纪90年代初首先由美国带头发起并迅速向全球发展。根据目前企业电子商务的运作情况和发展趋势可将其划分为二个应用层次:一是普通电子商务层次。主要表现...
展开详情

毕业设计(论文)工作暂行规定

一、目的毕业设计(论文)是教学计划中一个重要综合性实践环节,是培养学生理论联系实际的学风和锻炼学生独立工作能力的有效手段,其目的是培养学生运用所学基础理论、专业...
展开详情
热门推荐

论国家信息化战略

摘要:信息化是由计算机与互联网的革命所引起的工业经济转向信息经济的一种社会经济过程;国家信息化方针应坚持以信息技术应用为主导,用信息技术改造传统制造业;坚持教育...
展开详情

基于耦合度的分布问题研究

【摘要】 本文主要讨论分布式应用系统中基于耦合度的用户分布、功能分布和数据分布问题。【关键词】用户分布,功能分布,数据分布,耦合度,领域知识,自动构造 随着C...
展开详情

本科毕业设计(论文)规范

毕业设计(论文)是人才培养过程中的一个重要环节。加强对本科毕业设计(论文)全过程的组织与管理,建立规范化的管理制度,是保证毕业设计(论文)质量的重要前提。一、 ...
展开详情

计算机毕业设计开题报告范文

  现在正是大学生们忙着写毕业论文和做毕业设计的时候,读趣百科范文大全特意为大家整理了关于毕业设计开题报告范文的相关材料,希望对您的......
展开详情

本科毕业论文摘要万能模板 摘要模板范文优秀

毕业论文是任何大学生在大四离校之前都必须学习的一门课程,它要求学生这门课结束后每人交出一份合乎格式的毕业论文设计。其中,摘要是毕业论文的总结,也是对论文内容的提...
展开详情