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

个人总结

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

时间:2014-05-01来源:个人总结网

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

摘要

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

桌面地理信息系统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月。

实现桌面地理信息系统ArcView和VB5应用程序之间的通讯 摘要本文简要介绍桌面地理信息系统的概念,通过分析桌面地理信息系统 A r c V i e w和V B 5应用程序之间的通讯关系,...

参考资料网 -- 范文 -- 栏目更新,实现桌面地理信息系统ArcView和VB5应用程序之间的通讯,摘要 本文简要介绍桌面地理信息系统的概念,通过分析 桌面地理信息系统arcview和vb...

摘要本文简要介绍桌面地理信息系统的概念,通过分析桌面地理信息系统arcview和vb5应用程序之间的通讯关系,结合实例,论述了arcview和vb5相互通讯在开发桌面地理信息系统...