《2020年实现桌面地理信息系统arcview和vb5应用程序之间的》由会员分享,可在线阅读,更多相关《2020年实现桌面地理信息系统arcview和vb5应用程序之间的(7页珍藏版)》请在金锄头文库上搜索。
1、实现桌面地理信息系统ArcView和VB5应用程序之间的 摘要本文简要介绍桌面地理信息系统的概念通过分析桌面地理信息系统ArcView和VB5应用程序之间的通讯关系结合实例论述了ArcView和VB5相互通讯在开发桌面地理信息系统中的应用价值关键词桌面地理信息系统、ArcView和VB5、应用程序通讯1.桌面地理信息系统简介地理信息系统是一种特定的空间信息系统它是采用现代化的方法来采集、存储、分析、管理、显示、模拟与地理空间分布有关数据的空间信息系统它是现代地球科学、信息学、环境科学、测绘遥感学、计算机科学、管理科学、应用数学以及各种应用学科有机结合的集成产物自60年代加拿大测量学家R.T.T
2、omlinson首先提出地理信息系统这一术语以来在大型机、小型机、工作站和微机平台上相继出现了GIS的应用平台如美国ESRI的产品已遍布上述四种硬件平台由于80年代PC技术的迅速发展以及近几年来PC硬件价格的急剧下跌和其性能日益提高使得桌面地理信息系统(DeskTopGIS)得到了迅速的发展其中在国内用得较多的有美国ESRI公司的ArcView2.ARCVIEW介绍现在常用的ArcView2.1以上英文版是直观性较好的桌面地理信息系统它集空间图形、关系数据库、统计图形、空间分析、网络通讯、面向对象的程序设计于一体图形用户界面直观而且它有自己的开发工具即Avenue用于制作特定的ArcView应
3、用程序Avenue是一种WINDOWS环境下的面向对象的程序设计语言ArcView的系统功能就是由它编程实现的任何一个由Avenue语言开发的Windows应用程序都有一个对应的ProjectProject由一些Document和Script组成而Document又由DocumentWindow和DocumentGUI组成所以Avenue应用程序的模型如图1所示图1中Document是人机交流的唯一途径根据其功能又可分为View,Table,Chart,Layout和ScriptEditor五种DocumentGUI是对应于某一Document的图形用户界面由MenubarButtonbar和
4、Toolbar组成分别用来对应不同的功能图1Avenue应用程序模型我们在具体开发桌面地理信息系统ArcView时发现现有的ArcView系统功能并不能完全满足要求必须对ArcView系统重新改造增加新的功能由于ArcView的开发语言是Avenue它的开发效率低所以在实际开发中既要充分利用ArcView自身强大的地图管理功能又要利用高级语言(如VB5)在快速开发应用方面的长处两者相互结合将取得良好效果3.ArcView和VB5应用程序通讯方法最通用的IPC(interprocessmunication,IPC)方法是DDE、OLE和对动态联接库的外部函数调用、文件访问以及WINDOWS剪贴板
5、上述方法都能使不同的WINDOWS应用程序之间彼此通信其中DDE方法原先是作为一种基于消息的协议在WINDOWS(3.x之前)中实现的用来在不同的WINDOWS应用程序之间交换信息随着WINDOWS3.0的发布DDE在实际的应用程序开发中得到大量应用这是通过使DDE服务能够利用应用程序编程接口(API)调用DDE管理库来完成的ArcView是通过DDE和DLL方法实现与外部应用程序通信本文通过一个实例来详细介绍DDE功能的使用在实际应用中ArcView既可作Clint又可作Server来实现应用程序之间的通讯包括发送或接受数据执行请求返回分析结果通过使用DDE方法可以克服ArcView本身开发
6、语言的落后性达到充分发挥ArcView自身强大的地图管理功能又创造出符合时代特色的桌面地理信息系统实践证明采用ArcView和VB5应用程序通讯进行系统开发是一种有效的桌面地理信息系统开发方法4.实例分析在本例中VB5应用程序向ArcView发出Avenue请求以建立新的文档如views和layouts而且应用程序询问ArcView以得到当前激活的文档此时VB5应用程序是目标而ArcView是源如果已安装VB5和ArcView,按照下面步骤建立应用程序:(1)启动VB5建立缺省窗体Form1(2)在Form1上根据下列属性建立控件然后放大窗体以便整齐地排列控件ObjectPropertySet
7、tingTextBoxNametxtDDECommandButtonCaptionSendRequestNamecmdRequestComboBoxNamecboDocType(3)在Form1的说明部分增加下面代码:ConstNONE=0,MANUAL=2SubStartup()DimtConstDDENOAPP=282thiswillstartArcViewifitisntrunningOnErrorGoToFireUptxtDDE.LinkMode=NONE清除DDE链接txtDDE.LinkTopic=ArcView|System建立对话txtDDE.LinkMode=MANUAL建立
8、人工链接ExitSubFireUp:IfErr=DDENOAPPThenChDirC:ARCVIEW2BINt=Shell(arcview,1)t=DoEvents()ResumeElseMsgBoxUnknownerror.StopEndIfEndSub(4)在FormLoad事件中增加下列代码:SubFormLoad()cboDocType.text=cboDocType.AddItemViewcboDocType.AddItemLayoutcboDocType.AddItemSEdStartup调startup程序EndSub(5)在FormUnload事件中增加下列代码:SubForm
9、Unload(CancelAsInteger)txtDDE.LinkMode=NONE关闭DDE对话EndSub(6)在cboDocTypeClick事件中增加下列代码:SubcboDocTypeClick()cmd=av.GetProject.AddDoc(cboDocType.make)av.GetProject.GetActive.Get(0).GetWin.OpentxtDDE.LinkExecutecmdEndSub(7)在cmdRequestClick事件中增加下列代码:SubcmdRequestClick()LinkItem是能够返回值的AvenuescripttxtDDE.Li
10、nkItem=av.GetActiveDoc.GetNametxtDDE.LinkRequestEndSub(8)存储VB5工程并编译成EXE文件现在即可运行VisualBasic应用程序如果ArcView没有运行应用程序就会激活它从dropdownbobox选择一个文档名以便在ArcView中建立一个文档要访问当前激活的文档就敲击SendRequestbutton在文本框里将会显示文档名本例所有的DDE通讯都是通过文本框实现的在VB5中,任何textbox,picturebox和label在对话中都可作为目标,同时任何窗体可看作源以上实例的运行环境为:VisualBasic4.0以上ArcV
11、iew2.1以上Windows3.1以上参考文献1、边馥苓主编地理信息系统原理和方法北京:测绘出版社1996年8月2、郭达志、盛业华等编著地理信息系统基础与应用煤炭工业出版社1997年5月3、(美国)MikeMcKelvyRonaldMartinsen著VisualBasic5开发使用手册机械工业出版社1998年4月 摘要本文简要介绍桌面地理信息系统的概念通过分析桌面地理信息系统ArcView和VB5应用程序之间的通讯关系结合实例论述了ArcView和VB5相互通讯在开发桌面地理信息系统中的应用价值关键词桌面地理信息系统、ArcView和VB5、应用程序通讯1.桌面地理信息系统简介地理信息系统
12、是一种特定的空间信息系统它是采用现代化的方法来采集、存储、分析、管理、显示、模拟与地理空间分布有关数据的空间信息系统它是现代地球科学、信息学、环境科学、测绘遥感学、计算机科学、管理科学、应用数学以及各种应用学科有机结合的集成产物自60年代加拿大测量学家R.T.Tomlinson首先提出地理信息系统这一术语以来在大型机、小型机、工作站和微机平台上相继出现了GIS的应用平台如美国ESRI的产品已遍布上述四种硬件平台由于80年代PC技术的迅速发展以及近几年来PC硬件价格的急剧下跌和其性能日益提高使得桌面地理信息系统(DeskTopGIS)得到了迅速的发展其中在国内用得较多的有美国ESRI公司的Arc
13、View2.ARCVIEW介绍现在常用的ArcView2.1以上英文版是直观性较好的桌面地理信息系统它集空间图形、关系数据库、统计图形、空间分析、网络通讯、面向对象的程序设计于一体图形用户界面直观而且它有自己的开发工具即Avenue用于制作特定的ArcView应用程序Avenue是一种WINDOWS环境下的面向对象的程序设计语言ArcView的系统功能就是由它编程实现的任何一个由Avenue语言开发的Windows应用程序都有一个对应的ProjectProject由一些Document和Script组成而Document又由DocumentWindow和DocumentGUI组成所以Avenu
14、e应用程序的模型如图1所示图1中Document是人机交流的唯一途径根据其功能又可分为View,Table,Chart,Layout和ScriptEditor五种DocumentGUI是对应于某一Document的图形用户界面由MenubarButtonbar和Toolbar组成分别用来对应不同的功能图1Avenue应用程序模型我们在具体开发桌面地理信息系统ArcView时发现现有的ArcView系统功能并不能完全满足要求必须对ArcView系统重新改造增加新的功能由于ArcView的开发语言是Avenue它的开发效率低所以在实际开发中既要充分利用ArcView自身强大的地图管理功能又要利用高
15、级语言(如VB5)在快速开发应用方面的长处两者相互结合将取得良好效果3.ArcView和VB5应用程序通讯方法最通用的IPC(interprocessmunication,IPC)方法是DDE、OLE和对动态联接库的外部函数调用、文件访问以及WINDOWS剪贴板上述方法都能使不同的WINDOWS应用程序之间彼此通信其中DDE方法原先是作为一种基于消息的协议在WINDOWS(3.x之前)中实现的用来在不同的WINDOWS应用程序之间交换信息随着WINDOWS3.0的发布DDE在实际的应用程序开发中得到大量应用这是通过使DDE服务能够利用应用程序编程接口(API)调用DDE管理库来完成的ArcVi
16、ew是通过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上根