论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机理论论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
实现桌面地理信息系统ArcView和VB5应用程序之间的通讯
摘要 本文简要介绍桌面地理信息系统的概念,通过分析 桌面地理信息系统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 应用程序。wWw.11665.comavenue是一种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月。

  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:未知 [标签: 实现 桌面 地理信息系统 应用 程序 之间的 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    浅谈小学语文教学中如何实现学生的人文性发
    理想信念教育:人生价值实现的内在支撑
    智能幕墙的控制系统与设计的实现方法
    利用开源框架Struts+Hibernate实现Web应用程
    在计算机应用专业中实现语文工具性的优化
    应用3G通信技术实现黄河远程视频监视
    计算机软件安全检测问题研究及检测实现方法
    教学质量分析中巧用EXCEL实现分类统计
    神经网络计算机原理及实现方法
    基于Delphi及串行通信实现的某型地面维护系
    基于GPRS技术实现的远程交通信息通信
    浅谈如何实现计算机辅助审计中的有效沟通
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有