ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:156KB ,
资源ID:1299802      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1299802.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ArcGIS Engine的基础地理信息系统设计与实现.doc)为本站会员(滴答)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于ArcGIS Engine的基础地理信息系统设计与实现.doc

1、 目 录 摘要 . (1) 0 引言 . (1) 1 GIS 简介 . (1) 2 组件式 GIS . (2) 2.1 组件技术的引入 . (2) 2.2 组件式 GIS. (3) 3 地理信息系统的开发模式 . (5) 4 ArcGISEngine 简介 . (5) 5 .NET 介绍 . (6) 6 基础地理信息系统总体设计 . (7) 6.1 系统目标与功能 . (7) 6.2 系统的数据库设计 . (9) 7 系统功能实现示例 . (9) 7.1 查询功能的实现 . (9) 7.2 缓冲区功能的实现 . (11) 7.3 注记功能的实现 . (13) 8 结语 . (14) 参考文献

2、. (15) Abstract . (16) 第 1 页 (共 16 页) 基于 ArcGIS Engine 的基础地理信息系统设计与实现 摘要 : 以信息科学和技术为 代表的当代高新技术的发展, 正在影响着一个国家和地区产业与经济的 发展,地理信息 科学与技术 是其重要的体现,并且正在向智能化的方向发展。地理信息系统是由计算机硬件、软件 等 组成的系统,该系统用于 支持空间数据的采集、管理、处理、分析、建模和显示,以便解决复杂的规划和管理问题。随着计算机软件的不断发展,对地理信息系统的开发方法也越来越多样化 , 而基于组件式 GIS 的开发是当今时代的潮流。本文主要介绍了基于COM 技术的

3、ArcGIS Engine 开发平台对于 基础地理信息系统的设计与实现。首先介绍了研究背景与其意义,接着论述了组件式 GIS 的引入及其与传统 GIS 相比 所具有的优点, 并 对 ArcGIS Engine 二次开发工具 进行了 详细 的 介绍了 ,然后论述了基础地理信息系统的总体设计,并对部分系统功能进行了示例实现,从而体现了 ArcGIS Engine 强大的地理信息系统开发能力 。 关键词 : GIS;基础地理信息系统;组件技术; ArcGIS Engine 引言 地理信息系统已经广泛应用于众多领域,为各行业提供了高效的空间信息处理能力和强大的决策支持服务。这就需要 GIS开发人员构建

4、专业且易于使用的 GIS 软件,不仅要有通用的 GIS 功能和专业领域功能,还要有 友好的交互式操作,从底层开始构建这些专业系统,不仅耗费时间,而且增加软件的开发成本。组件式 GIS 把 GIS 技术同嵌入式技术融合在一起,形成嵌入式地理空间集成平台,是 GIS 研究的重要趋势和 GIS 产业发展的方向之一。 ArcEngine 是 ArcGIS Engine 的简称,是 ESRI公司开发的一组完备且可以打包的嵌入式 GIS组件库。开发人员可以在应用程序中创建或扩展 GIS 的功能,自定义专业产品。因此在通用的开发平台下嵌入 GIS 功能,能很好的满足广大GIS 用户的需求。 1 GIS 简介

5、 地理信息系统( Geographic Information System 或 GeoInformation system, GIS)有时又称为 “ 地学信息系统 ” 或 “ 资源与环境信息系统 ” 。它是一种特定的十分重要的空间信息系统。它是第 2 页 (共 16 页) 在计算机硬、软件系统支持下,对整个或部分地球表层(包括 大气层 )空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。 地理信息系统处理、管理的对象是多种地理实体、地理现象数据及其空间关系数据,包括空间定位数据、图形数据、遥感图像数据、属性数据等,用于分析和处理在一点地理区域内分布的地理实 体、

6、现象及过程,解决复杂的规划、决策和管理问题。简言之,地理信息系统是对空间数据进行采集、编辑、存储、分析和输出的计算机信息系统。 地理信息有多种来源和不同特点,地理信息系统要具有对各种信息处理的功能 。 2 组件式 GIS 2.1 组件技术的引入 GIS 软件技术的发展历程为 : GIS 模块 集成式 GIS 模块化 GIS 核心式 GIS 组件式 GIS WebGIS 图 1 GIS 软件发展历程 在 GIS 技术发展的早期,由于受到技术的 限制, GIS 软件往往只能满足于某些功能要求的一些模块,没有形成完整的系统,而且各个模块之间不具备协同工作的能力。随着理论和技术的发展,各种 GIS第

7、3 页 (共 16 页) 模块开始集成,并形成了大型 GIS 软件包,即集成式 GIS出现,这是GIS发展的一个重要里程碑。它集成了 GIS 的各项功能,形成了独立完整的系统,不过由于系统复杂,庞大,从而导致成本高,难以与其他应用或系统集成。随后又出现了模块化 GIS,它把 GIS按照功能划分为一系列模块,运用于统一的基础环境之上。模块化 GIS 具有强大的工程针对性,便于开发和应用,用户可以根据需要选择模块 ,但是集成式 GIS 和模块式 GIS 都存在这样一个缺点:它难于管理信息系统以及专业应用模块集成高效,无缝的 GIS 应用。为克服这个缺点,就提出了核心式 GIS 的概念。这种 GIS

8、设计为操作系统的基本扩展,例如在 Windows 操作系统上的核心式 GIS,它提供了一系列的动态链接库( DLL),以便开发时采用现有的高级编程语言,通过应用接口程序( API)访问内核所提供的 GIS功能。但是,核心式 GIS提供的组件过于底层,在开发时增加了一定的难度,同时也不适应可视化程序设计的潮流。随着计算机软件技术的发展, GIS 组件化发展到了一 个全新的阶段,组件式 GIS 应时而生。 2.2 组件式 GIS 组件式 GIS(COMGIS)的基本思想是把 GIS的各大功能模块根据性质划分为几个控件,每个控件完成不同的功能各个 GIS 控件之间,以及 GIS 控件与其他非 GIS

9、 控件之间,可以方便的通过面向对象的可视化的软件按开发工具集成起来,形成最终的 GIS 应用。控件就如同一堆各式各样的积木,他们分别实现不同的功能(包括 GIS和非 GIS 功能),根据需要把实现各种功能的“积木”搭建起来,就构成了应用系统。它是基于组件对象平台,以一组具有某种标准通信接口,允许跨语言应 用的组件,同传统的 GIS相比较,它具有以下特点: 1) 小巧灵活、价格便宜 由于传统 GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低了用户的

10、经济负担。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅第 4 页 (共 16 页) 是传统 GIS 开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或 开发 GIS应用系统。 2) 无须专门 GIS开发语言,直接嵌入 MIS开发工具 传统 GIS 往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式 GIS建立在严格的标准之上,不需要额外的 GIS 二次开发语言,只需实现 GIS 的基本功能函数,按

11、照 Microsoft的 ActiveX控件标准开发接口。这有利于减轻GIS 软件开发者的负担,而且增强了 GIS 软件的可扩展性。 GIS应用开发者,不必掌握额外的 GIS开发语言,只需熟悉基于 Windows平台的通用集成开发环境,以及 GIS 各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如Visual C+、 Visual Basic、 Visual FoxPro、 Borland C+、 Delphi、C+ Builder 以及 Power Builder 等都可直接成为 GIS或 GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。

12、这与传统 GIS 专门性开发环境相比,是一种质的飞跃。 3) 强大的 GIS 功能 新的 GIS 组件都是基于 32位系统平台的,采用 InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的 GIS 组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的 空间查询 与分析能力。 4) 开发简捷 由于 GIS 组件可以直接嵌入 MIS 开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且, GIS 组件提供的 API 形式非常接近 MIS 工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行

13、特殊的培训。在 GIS 或 GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这 将使大量的 MIS开发人员能够较快地过渡到 GIS或 GMIS的开发工作中,从而大大加速 GIS的发展。 5) 更加大众化 第 5 页 (共 16 页) 组件式技术已经成为业界标准,用户可以象使用其他 ActiveX 控件一样使用 GIS控件,使非专业的 普通 用户也能够开发和集成 GIS 应用系统,推动了 GIS大众化进程。组件式 GIS 的出现使 GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。 总之,组件式 GIS 是通过对象、属性、 方法和事件进行交

14、互。空间对象的相互关系,几何对象之间的集成关系,对象间的组成关系,对象之 间的逻辑上的关联关系等,只要了解清楚了 ComGIS内存对象之间的关系和基本概念利用已知熟悉的任何一门面向对象的可视化开发工具,两者结合,就可以开发出功能强大的 GIS应用系统。 3 地理信息系统的开发模式 目前常用的 GIS开发模式主要有三种:独立开发,单纯二次开发,集成二次开发。由于独立开发难度太大,单纯二次开发受 GIS 工具提供的编程语言的限制,效果不理想,因此,结合 GIS 工具软件与当今可视化开发语言的集成二次开发方式就成为 GIS 应用开发的主流方式。优点是既可以充分利用 GIS 工具软件对空间数据的管理,

15、分析功能 ,又可以利用其它可视化开发语言具有的高效,方便等编程优点,集二者之所长,不仅能大大提高应用开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果更强大的数据库功能、可靠性好、易于移植、 便于维护,尤其是以 COM技术利用 GIS功能组件进行集成开发,更能表现出这些优势。不过这种方法唯一的缺点是前期投入比较大,需要同时购买 GIS工具软件和可视化编程软件,但“工欲善其事必先利其器”,这种投资非常值得。 4 ArcGISEngine 简介 ArcEngine 组件产品发布之前, ESRI 公司提 供的是 ArcObjects公用组件库,它是基于 Microsoft CO

16、M 技术开发的一套 COM 组件对象集,是专门为开发人员提供的二次开发组件。该组件集提供来了几乎全部的底层 GIS功能,就连 ArcGIS 软件本身都是使用 ArcObjects 的组件开发出来的。但是使用 ArcObjects 开发时,需要依附于 ArcGIS平台,开发人员只有在安装了 ArcGIS 产品以后,才能利用其提供的第 6 页 (共 16 页) 组件对象进行开发。 ArcEngine 提取了 ArcObjects 组件库中的核心功能,对ArcObjects 中的大部分接口、类、库进 行封装所构成嵌入式组件。ArcEngine 中的组件接口、方法、属性与 ArcObjects 是相同

17、的。ArcEngine是独立的嵌入式开发平台,开发人员无需 ArcGIS Desktop支持;其具备灵活、速快的开发和功能扩展能力,功能完善,稳定性较好。 无论是 ArcEngine 还是 ArcObjects都具有面向对象的特性,他们都支持类、对象、继承等面向对象的特性。同时类下面还定义了不同的接口,接口中包含了不同的方法和属性,接口之间有接口查询和接口继承。例如接口查询就是从对象的一个接口查询到另一个接口定义的属性和方 法。而要满足两个接口之间可以进行接口查询,条件是他们要同属于一个类。本论文以全国某一时期采集的基础地理数据为基础,采用 .NET 为开发平台,实现了 GIS 基础信息系统开

18、发,探讨了基于 ArcEngine 的基础地理信息系统的基本原理和系统功能的实现过程。 5 .NET 介绍 .NET 是 Microsoft XML Web services 平台。 XML Web services 允许 应用程序 通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或 编程语言 。 Microsoft .NET 平台提 供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。 .NET Framework 是由微软开发,一个致力于敏捷软件开发( Agile software developme

19、nt)、快速应用开发( Rapid application development)、平台无关性和网络透明化的软件开发平台。 NET 包含许多有助于互联网和内部网应用迅捷开发的技术。 .NET框架是微软公司继 Windows DNA 之后的新开发平台。 .NET框架是以一种采用系统 虚拟机 运行的编程 平台,以通用语言运行库( Common Language Runtime)为基础,支持多种语言( C#、VB.NET、 C+、 Python等)的开发。 .NET也为 应用程序 接口( API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件

20、和服务( web服务)的开第 7 页 (共 16 页) 发。 .NET提供了一个新的反射性的且 面向对象程序设计 编程接口。 .NET设计得足够通用化从而使许多不同高级语言都得以被汇集。 6 基础地理信息系统总体设计 6.1 系统目标与功能 系统的目标是开发出一个区域基础 地理信息查询及制图的系统,系统的开发采用了 c/s模式。 .NET平台下, C#是作为第一语言,集中了所有关于软件开发和软件工程的所有最新成果,且与 ArcEngine有很好的兼容性,因此本系统采用 C#语言进行基于 ArcEngine的二次开发。系统具有以下功能: 1) 数据编辑与入库; 提供数据预处理,数据入库功能,并提

21、供数据编辑,入库的回滚功能。提供一定的数据质量检查,包括数据一致性、数据的完整性检查等功能。这些检查渗透在编辑、入库等具体操作中,保证入库数据的有效性。同时,实现多种数据更新方式,包括按图层、图幅更新数据 等。本功能还实现了数据的输出接口,可以实现与外部系统数据的共享。 2)查询分析功能 查询分析子模块主要负责对数据进行各种查询与分析工作。 具体功能包括:属性 查询,实体查询(点,线,矩形,任意多边形),简单查询,条件查询、空间查询、距离量测、 面积量测。 运行条件:必须设置可查询图层,即在进行数据查询前必须设置你要查询的对象可能所在的图层,没有被设置的图层不允许进行数据查询,即图层必须可见。

22、 3)制图输出功能 本功能主要负责将主界面的图,按照三种不同的方式进行输出:标准图幅的输出、屏幕可见区图的输出、包括 可见区的完整图幅输出,在输出界面进行地图的整饰,达到标准的输出效果。输出子模块功能包括:添加相应的制图输出要素,有模板、图例、指北针、文字,图片等,对显示的地图进行整饰。页面设置,主要是按照打印机的纸张 进行页面设置。 第 8 页 (共 16 页) 4) 视图管理功能 主要包括常用的图形视图操作的功能,如放大、缩小、全图、 全屏显示,按照图层范围显示,按照数据单元范围显示,视图漫游等基本功能。另外包括系统部分数据视图和窗口的管理功能。 5) 元数据管理 城市基础地理数据库元数据

23、根据数据库的更新进 行更新,本模块在不影响整体系统稳定性的基础上 ,实现元数据的录入、编辑和检索功能,并能根据需要对元数据进行合并、导入、 导出等功能。 6) 用户管理 用户管理实现对登录系统用户的基础管理工作。包括增加用户、注销用户、 修改用户权限等。系统对登陆的用户有严格而完整的权限控制机制。 用户权限建立在操作系统和数据库管理系统之上, 系统可以根据具体的操作模块和功能进行权限设置,同时针对数据的读、写、修改、删除进行严格权限控制,并提供日志管理功能,及时跟踪用户对数据的使用情况,防止用户对系统数据的非法利用,便于系统维护。 数据的编辑与入库 数据的查询与分析 制图输出功能 视图管理功能

24、 元数据管理 用户管理 图 2 系统功能模块图 基础地理信息系统 第 9 页 (共 16 页) 6.2 系统的数据库设计 数据库是基于 GIS 的各种应用系统的核心组成部分。本系统采用GeoDataBase 来统一管理空间数据和属性数据。 GeoDataBase是第三代数据库,其最大的特点就是一个基于面向对象型的关系数据库。图层数据主要是以 FeatureClass的形式存储在 GeoDataBase中,而图层的分类依据是根据其几何形状分为 point,polyline,polygon 这三种类 型;要素的其他属性信息则由其代表的现实地物的基本信息来确定,这些基本信息是用户比较关心的信息。如人

25、口,面积等。 7 系统功能实现示例 系统采用了用户熟悉的 Windows 界面风格,运用对话框,工具条等操作方式,利用 .NET的图形用户界面设置成适合专业使用的用户界面。以以下几个功能为例: 7.1 查询功能的实现 查询功能包括属性查询和空间查询。属性查询是通过设置属性字段的条件,获得符合条件的要素,并在图层中闪烁,高亮显示;该查询主要用到 IQueryFilter 等接口,而空间查询分为点击查询,拉框查询,邻域查询 。这些都是基于空间位置的查询 ,对于查询到的要素会闪烁显示,其详细的属性信息会显示在 TreeView控件所在的窗体中。空间查询所用的接口主要有 ItopologicalOperater、ISpatialFilter.具体代码如下: 1) 基于属性查询对象 IQueryfilter queryfilter; Queryfilter = new QueryFilterClass(); /设置过滤器属性 Queryfilter.WhereClause =“ name = 河南省 ” ; ILayer layer = this.axMapControll.get_layer(0); IFeatureLayer featurelayer = layer as IFeatureLayer;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。