当前位置:主页 > 文秘写作 > 毕业设计 >

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

发布人: 谜语网 发布时间:2015-06-30 字体: | | 打印文章

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

摘要

本文简要介绍桌面地理信息系统的概念,通过分析

桌面地理信息系统ArcView和VB5应用程序之间的通讯关系,结合实例,论述了ArcView

和VB

5相互通讯在开发桌面地理信息系统中的应用价值。?关键词

桌面地理信息系统、ArcView和VB5、应用程序通讯??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月。

1、“议论文格式”范文由查字典范文网网友提供,版权所有,转载请注明出处。
2、议论文格式例文地址:http://www.tkpao.com/wenmixiezuo/biyesheji/57603.html,复制分享写作指导范文给你身边的朋友!
3、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!

"实现桌面地理信息系统ArcView和VB5应用程序之间的通讯"相关文章阅读