《实现桌面地理信息系统ArcView和VB5应用程序之间的通讯》由会员分享,可在线阅读,更多相关《实现桌面地理信息系统ArcView和VB5应用程序之间的通讯(5页珍藏版)》请在金锄头文库上搜索。
1、实现桌面地理信息系统ArcView和VB5应用程序之间的通讯 摘要 本文简明介绍桌面地理信息系统的概念,经过分析 桌面地理信息系统ArcView和VB5应用程序之间的通讯关系,结合实例,叙述了ArcView 和VB 5相互通讯在开发桌面地理信息系统中的应用价值。?关键词 桌面地理信息系统、ArcView和VB5、应用程序通讯?1. 桌面地理信息系统介绍?地理信息系统是一个特定的空间信息系统,它是采取当代化的方法来采集、存放、分 析、管理、显示、模拟和地理空间分布相关数据的空间信息系统。它是当代地球科学、信息 学、环境科学、测绘遥感学、计算机科学、管理科学、应用数学和多种应用学科有机结合 的集成
2、产物。自60年代加拿大测量学家 首先提出地理信息系统这一术语以来 ,在大型机、小型机、工作站和微机平台上,相继出现了GIS的应用平台。如美国ESRI的产 品,已遍布上述四种硬件平台。因为80年代PC技术的快速发展,和近几年来PC硬件价格的 急剧下跌和其性能日益提升,使得桌面地理信息系统得到了快速的发展。 其中在我国用得较多的有美国ESRI企业的ArcView。?2. ARCVIEW介绍?现在常见的以上英文版是直观性很好的桌面地理信息系统。它集空间图形、关系 数据库、统计图形、空间分析、网络通讯、面向对象的程序设计于一体,图形用户界面直观 。而且它有自己的开发工具即Avenue,用于制作特定的A
3、rcView 应用程序。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 是对应
4、于某一Document 的图形用户界面,由 Menu bar,Button bar 和Tool bar组成,分别用来对应不一样的功效。图1Avenue应用程序模型?我们在详细开发桌面地理信息系统ArcView 时,发觉现有的ArcVie w 系统功效并不能完全满足要求,必需对ArcView 系统重新改造,增加新的功效。因为ArcV iew 的开发语言是Avenue,它的开发效率低,因此在实际开发中既要充足利用ArcView 本身 强大的地图管理功效,又要利用高级语言在快速开发应用方面的优点,二者相互 结合,将取得良好效果。3. ArcView和VB5应用程序通讯方法?最通用的IPC方法是DDE
5、、OLE和对动态联接库的外部 函数调用、文件访问和WINDOWS剪贴板。上述方法全部能使不一样的WINDOWS应用程序之间相互 通信。其中DDE方法原先是作为一个基于消息的协议在WINDOWS中实现的,用来在 不一样的WINDOWS应用程序之间交换信息。伴随的公布,DDE在实际的应用程序开发 中得到大量应用,这是经过使DDE服务能够利用应用程序编程接口调用DDE管理库来 完成的。ArcView是经过DDE和DLL方法实现和外部应用程序通信。本文经过一个实例来具体 介绍DDE功效的使用。在实际应用中,ArcView既可作Clint,又可作Server,来实现应用程 序之间的通讯,包含发送或接收数
6、据,实施请求,返回分析结果。经过使用DDE方法,能够 克服ArcView本身开发语言的落后性,达成充足发挥ArcView本身强大的地图管理功效,又创 造出符合时代特色的桌面地理信息系统。实践证实,采取ArcView和VB5应用程序通讯进行系 统开发是一个有效的桌面地理信息系统开发方法。4. 实例分析?在本例中,VB5 应用程序向ArcView 发出Avenue 请求以建立新的文档如views 和layouts, 而且应用程序问询ArcView 以得到目前激活的文档。此时VB5 应用程序是目标,而ArcView 是源。?假如已安装VB5 和ArcView,根据下面步骤建立应用程序:?开启VB5,
7、建立缺省窗体Form1。?在Form1上依据下列属性建立控件,然后放大窗体方便整齐地排列控件。?ObjectProperty Setting?Text BoxNametxtDDE?Command ButtonCaptionSend Request?NamecmdRequest?Combo BoxNamecboDocType?在Form1的说明部分增加下面代码:?Const NONE=0, MANUAL=2?Sub Startup?Dim t?Const DDE_NO_APP=282?this will start ArcView if it isnt running?On Error GoTo
8、 FireUp?=NONE清除DDE链接?=ArcView|System建立对话?=MANUAL建立人工链接?Exit Sub?FireUp:?If Err=DDENOAPP Then?ChDir C:ARCVIEW2BIN?t=Shell?t=DoEvents?Resume?Else?MsgBox Unknown error.?Stop?End If?End Sub?在FormLoad 事件中增加下列代码:?Sub FormLoad?=? View? Layout? SEdStartup调startup 程序?End Sub?在FormUnload 事件中增加下列代码:?Sub FormUn
9、load ? = NONE关闭DDE 对话?End Sub?在cboDocTypeClick事件中增加下列代码:?Sub cboDocTypeClick?cmd= ? cmd?End Sub?在cmdRequestClick事件中增加下列代码:?Sub cmdRequestClick ?LinkItem是能够返回值的Avenue script? = ?End Sub?存放VB5工程并编译成EXE 文件。?现在即可运行Visual Basic应用程序。假如ArcView 没有运行,应用程序就 会激活它。从dropdown combo box 选择一个文档名方便在ArcView中建立一个文档。要访
10、问 目前激活的文档就敲击Send Request button,在文本框里将会显示文档名。本例全部的DDE 通讯全部是经过文本框实现的。在VB5中, 任何text box, picture box和label在对话中全部可 作为目标,同时任何窗体可看作源。?以上实例的运行环境为:Visual Basic 以上,以上,以上。?参考文件1、边馥苓主编,地理信息系统原理和方法,北京:测绘出版社,1996 年8月。2、郭达志、盛业华等编著,地理信息系统基础和应用,煤炭工业出版社,1997 年5月。?3、 Mike McKelvy & Ronald Martinsen 著,Visual Basic 5开发使用手 册,机械工业出版社,1998年4月。