欢迎来到天天文库
浏览记录
ID:18262404
大小:54.50 KB
页数:6页
时间:2018-09-16
《基于arc gis engine 的gis 开发的系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、0 引言目前,地理信息系统已广泛地应用于众多领域,为各个相关行业提供了高效的空间信息处理能力和强大的决策支持服务。为满足需求,GIS 开发人员需要具有构建领域专用且易于使用的应用软件的能力,软件需将广泛应用的GIS 技术与友好用户的经验结合起来。这些软件如果从头开始构建,将是一项繁冗的开发工作,会很耗费时间,并且成本不菲。现阶段,组件技术已经广泛的被引人到GIS 软件的设计与开发中,使得高效便捷的开发应用型地理信息系统成为现实。国内外著名的GIS 厂商都相继推出了他们的Gls 组件,其中以ESRI 公司的组件产品Arcobjects 最为著名。ArcGISEngine 是一组打包的核心
2、Arcobjects 组件,相比ArcobjectS 降低了开发难度,也大大提高了GIS 应用程序的开发效率。因此,本文主要以ArcGIsEngin 。为研究对象,剖析其系统开发方法,并作出最终的开发实例。1ArcGISEngine 开发简介ArcGIS 是一组集成家庭式的GIS 软件产品,可在单项工程、工作组以及企业级项目中用于发布完善的、可升级的GIS 系统。它是基于一个可共享的GIS组件一Arcohjects 的公用库来构建的。Arcobjects 是基于MicrosoftCOM 技术所构建的一系列COM 组件产品,不是为最终用户而是专门为开发人员提供的二次开发软件,通过Arco
3、bjects ,用户可以非常方便地开发出功能强大的GIS应用系统。但它不是一个独立的应用产品,不能脱离ArcGIS 平台,只有在购买ArcGIS 产品后,才能利用其提供的组件对象进行应用开发。ArcGIsEngine是一组完备的并且打包的嵌人式GIS 组件库和工具库,开发人员可用来创建新的或扩展已有的桌面应用程序。使用ArcGISEngine ,开发人员可以将GIS 功能嵌入到已有的应用软件中,或嵌人到商业生产应用软件中,还可以创建集中式自定义应用软件,并将其发送给机构内的多个用户。ArcGISEngine 由两个产品组成:构建软件所用的开发工具包于以及使已完成的应用程序能够运行的可再
4、发布的Runtime (运行时环境)。AreGISEngine 开发工具包是一个基于组件的软件开发产品,可用于构建自定义GIS 和制图应用软件。ArcGISEngineRuntime 是一个使终端用户软件能够运行的核心Arcobjects 组件产品,并且将被安装在每一台运行ArcGISEngine 应用程序的计算机上。ArcGIsEngine 开发包包括三个关键部分:(l )控件是ArcGIS 用户界面的组成部分,包括地图控件和框架控件,地图控件提供了可视化的组件允许开发者对数据进行渲染、交互、分析等,比如地图控件:M 即Control 、PageLayoutControl 和scen
5、 。control; 框架控件TOolbarControl 和TOCControl 在平常GIS 功能中大部分都与地图控件打交道,可以把地图控件与框架控件进行关联,能快速直接反映地图控件中图层的变化及可见性。 (2 )工具条是GIS 工具的集合,在应用程序中用它来和地图及地理信息交互。工具包括平移、缩放、点击查询和与地图交互的各种选择工具。工具在应用界面上用工具条的方式展现。通过调用一套丰富的常规的工具和工具条,建立定制应用的过程被简化了。开发者可以很容易地将选择的工具拖放到定制应用中或创建自己定制的工具来实现与地图的交互。(3 )对象库是可编程ArCobjectS 组件的集合,包括几
6、何图形到制图、GIS 数据源和geodatase 等一系列库。在windows,uNIx 和Linu、平台的开发环境下使用这些库,程序员可以开发出从低级到高级的各种定制的应用。2ArcGIsEngine 系统开发ArcGIsEngin 。是一个独立的应用产品,具备快速开发和功能扩展能力,最少的开发成本,可以非常方便地开发出功能强大的GIS 应用系统。本系统采集某区的交通旅游数据,采用VB6.0 作为开发前端,基于ArcGISEngine 来进行设计开发,来说明GIS 开发中ArcGIsEngin 。开发的系统设计与实现。2.1 系统功能模块系统以VB6.O 为开发工具,主要使用ArcG
7、ISEngine 中的MapControl 、olbarcontrol和Toccontrol 控件来进行开发。具体功能包括:数据加载和图层添加;空间数据浏览的基本功能:地图放大、缩小、漫游和视图转换等;数据编辑的基本功能和打印功能;空间数据和属性数据的双向查询、实体查询功能等。具体功能如下图所示:2.2 具体模块实现开发方法(l )数据加载:实现从指定路径读入*.mxd 文件并显示,如果不存在显示出错信息。OnErrorResumeNextDi
此文档下载收益归作者所有