毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc

上传人:爱问知识人 文档编号:3949049 上传时间:2019-10-10 格式:DOC 页数:35 大小:3.15MB
返回 下载 相关 举报
毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc_第1页
第1页 / 共35页
毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc_第2页
第2页 / 共35页
毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc_第3页
第3页 / 共35页
毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc_第4页
第4页 / 共35页
毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于ArcGIS的两种三维GIS开发方式的实现和比较.doc(35页珍藏版)》请在三一文库上搜索。

1、 江 西 师 范 大 学 本科生毕业论文 江 西 师 范 大 学本 科 生 毕 业 论 文 中文题目 :基于ArcGIS的两种三维GIS开发方式的 实现和比较English Title: Two three-dimensional GIS-based ArcGIS Implementation and Evaluation of development methods学 号: 姓 名: 学 院: 地 理 与 环 境 学 院指导老师: 专 业: 地 理 信 息 系 统 完成时间: 2011年4月25日 30 地理与环境学院 声明本人郑重声明:所呈交的毕业设计(论文)是本人在指导教师指导下进行的研

2、究工作及取得的研究成果。其中除加以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。其他同志对本研究所做的任何贡献均已在文中作了明确的说明并表示谢意。本毕业设计(论文)成果是本人在江西师范大学读书期间在指导教师指导下取得的,成果归江西师范大学所有。特此声明。声明人(毕业设计(论文)作者)学号:声明人(毕业设计(论文)作者)签名:签名日期:年月日基于ArcGIS的两种三维GIS开发方式的实现和比较摘 要随着网络和GIS技术的发展和行业应用需求的增加,三维GIS的开发应用已经深入到各行各业,为了更

3、快速和更有效地在不同的行业中推广和使用三维GIS,实现和比较各种不同的三维GIS实现方式是一项既基础又重要的工作。一个通用的基于ArcGIS的三维GIS开发方法是基于ArcGIS Engine的二次开发模式。以开发语言为C#为例,其中可用的控件又有两种,分别是SceneControl和GlobeControl。本文基于这两个控件,设计实现两个系统,分别针对系统性能、功能和应用范围等的差异性来分析两者之间的各种区别,并深入探讨这种区别的原因。分析结果可作为三维GIS设计和实现过程中的参考。关键词:三维GIS ArcGIS Engine SceneControl GlobeControl 对比分析

4、 研究类型:应用研究Two three-dimensional GIS-based ArcGIS Implementation and Evaluation of development methodsAbstractAs networks and GIS technology development and increased demand for industrial applications, development and application of three-dimensional GIS has gone deep into all walks of life, in orde

5、r to more quickly and more effectively in different industries in the promotion and use of three-dimensional GIS, implementation and compare different three-dimensional GIS is a way to achieve both the basic and important work. A common three-dimensional GIS ArcGIS-based development approach is base

6、d on ArcGIS Engine secondary development model. To develop language for the C # example, where there are the two available controls, respectively SceneControl and GlobeControl. Based on these two controls, designed and implemented two systems, respectively, for system performance, function and appli

7、cation scope to analyze the differences in the various differences between the two, and looking into the reasons for this difference. The results can be used as three-dimensional design and implementation of GIS in the process of reference.Key words: Three-dimensional GIS, ArcGIS Engine, SceneContro

8、l, GlobeControl, comparative analysisResearch Type: Applied Research 朗读显示对应的拉丁字符的拼音字典目 录第一章 绪 论11.1 研究背景11.2研究目的和意义11.3国内外研究现状21.4论文研究的内容和方法2第二章 三维开发控件简介32.1 基于ArcGIS Engine的三维开发32.2三维开发控件的实现82.3 ArcScene和ArcGlobe应用程序的比较9第三章 系统的总体设计103.1 系统的需求分析103.2 系统研制目标及规定要求103.3 系统开发设计113.4 数据要求及预处理113.5 功能模块划分

9、12第四章 系统开发设计与技术实现144.1 系统开发的控件定制144.2 开发过程及其主要代码实现14第五章 不同实现方式的对比分析215.1性能对比215.2功能对比225.3所需的要求对比225.4 其他对比23第六章 总 结266.1论文研究成果266.2 论文的不足及进一步工作展望26参 考 文 献27致 谢28基于ArcGIS的两种三维GIS开发方式的实现和比较第一章 绪 论1.1 研究背景随着现代化的技术飞速发展,地理信息系统已经被广泛使用到各个领域中,而当前GIS的研究成果和应用系统主要集中于描述二维空间信息,各项技术已较为成熟1。但由于二维地理信息系统将实际的三维实物采用二维

10、的方式表示,具有很大的局限性,比如说它们只是便于做空间查询、分析等,然而有很多东西具有抽象性,不能直观的观察到,所以导致大量的多维空间信息无法得到利用。而与二维地图相比,地形地物的三维显示,给人创造出一种直观、身临其境的感觉,其显示方式也可以满足人们在综合处理、分析、评价、决策以及可视化等方面的需求2。因此,随着计算机图形学和硬件技术的迅猛推进,和各部门所需要求的提高,特别是对重大事件的决策等,就需要直观的对比分析,达到一种身临其境的效果,于是,从二维的地理信息系统转变到地理信息系统的三维数字表示已成为目前GIS 科学发展的新趋势之一3。近年来,越来越多的公司推出了三维图形显示软件,而 ESR

11、I 公司推出的产品 ArcGIS Engine就是为我们解决这一问题提供了一个有效的途径。通常,我们用ArcGIS Engine做的三维开发主要用到的控件有两种,分别是SceneControl和GlobeControl。对于这两个控件,很多用户对之并不陌生,但在实际应用过程中,则对他们的作用和区别却不是很清楚。为此,基于这两个控件,设计实现两个系统,来体现两者的各种差异,并进行对比分析和探讨,显得尤为必要和重要。因此希望在总结前人精髓的基础上,能够借助本文将这些问题阐述清楚。1.2研究目的和意义论文研究目的主要是:研究这两个控件对数据的要求以及相应的数据预处理,基于两个控件开发后的系统性能、功

12、能和应用范围的差异性,以及对电脑配置和要求上区别。并希望本文能够对以后学习三维开发的同学或研发人员提供一个有效的帮助,同时,也算是对自己本科期间做过的一些工作做简单的一个回顾和总结。本论文研究的意义在于它能够简单明了的阐述基于ArcGIS Engine三维二次开发中基于SceneControl和GlobeControl两控件实现过程中功能和性能的区别,及其适用性差异等,解决了SceneControl和GlobeControl使用范围差异性不明朗的问题。1.3国内外研究现状近几年,随着网络技术的飞速发展,GIS研究和应用也开始转向互联网,称之为WebGIS。WebGIS利用Intenet技术在W

13、eb上发布空间数据,为用户提供空间数据浏览、查询和分析的功能,具有应用范围广泛、平台无关性、操作简便等特点,同样,三维GIS也有转向Web的趋势4。然而,目前,这些三维WebGIS实验系统在数据模型、数据的存储、网络传输等方面还存在许多缺陷,因此还没有得到实际应用,但可以肯定的是,他将是未来发展方向的主要趋势。总的来说,目前用的最多的还是用ArcGis Engine开发的桌面版软件系统,它的适用性强,可免受病毒侵害,因此不需要安全保护措施,并且开发周期短,界面友好,操作简单,以及各个功能融合性好,并发挥其功效。另外,国内对三维GIS系统的开发和研究主要是基于OpenGL平台上陆续开发了一些应用

14、系统,研究的主要方向主要有:三维可视化,三维查询漫游,动态显示、空间分析和交互操作,三维动态显示和操作等。比较先进的有:利用己有的立体测图地物数据、数字高程模型数据,结合其它基础地理资料(全野外测量数据、地形图数字化数据以及建筑物外表结构与纹理数据),获取城市区域的三维景观信息并进行一体化建模,制作三维城市景观图并能以图层的形式进行管理,从而对数据集成、多模态可视化、室内外三维一体化显示与漫游和多媒体属性查询有一个更深的研究5。由此可见,很多国内外的研究更多的偏重于三维的可视化、网络化,三维的功能实现和三维的联动以及一些代码研究等,对于那些能够实现相同功能的控件之间的区别和适用性及其各自优势的

15、研究,则相对较少,而这,正是本文的用意和重点所在。1.4论文研究的内容和方法研究内容主要是分析和研究ArcGIS Engine中两个三维控件在性能、功能和应用范围以及对电脑配置和要求上的异同点。具体如下所示:1、其中性能的差异表现在:显示效果和相应速度;2、功能主要研究的是:系统的主体功能,浏览和操作以及分析等方面,另外,还涉及一些编程和控制的方便性;3、对数据的要求体现在:数据的类型和格式及其预处理方式等;4、对电脑的配置的要求体现在:对硬件如显卡、内存、CPU等的要求;5、对适用性的研究主要包括:适用范围和适用对象;6、另外其他的分析还包括:两者之间效果展示的对比。研究方法主要有:1、通过

16、实例开发的实证研究法;2、总结经验的经验总结法;3、查阅文献和网上搜索的文献研究法;4、向有关的导师请教和跟有经验的同学交流的功能分析法和描述性研究法。+第二章 三维开发控件简介2.1 基于ArcGIS Engine的三维开发2.1.1ArcGIS Engine 简介我们知道,许多用户需要在他们熟悉的软件应用程序里面拥有直接访问专门的行业GIS的特定接口,他们不需要完全的GIS产品,只是需要在他们的应用程序中可以访问复杂的GIS逻辑。在用户需要GIS的定制接口的情况下,ArcGIS Engine就可以为普通的软件应用程序提供这样一个解决方案。ArcGIS Engine是ESRI在ArcGIS

17、9.0版本才开始推出的新产品,是一个创建定制的GIS桌面应用程序的开发产品,它是一套完备的并且打包的嵌入式GIS组件库和工具库,开发人员可用来创建新的独立的或扩展已有的桌面地理信息系统(GIS)应用程序6。ArcGIS Engine开发包包括 3个关键部分:控件、工具条和工具、对象库。控件是ArcGIS用户界面的组成部分, 它可以嵌入并在你的应用程序中使用。工具条是 GIS工具的集合, 工具在应用界面上用工具条的方式展现。它包括如平移、缩放、点击查询和与地图交互的各种选择工具。对象库是可编程 ArcObjects组件的集合, 包括几何、显示和三维分析等一系列库, 使得程序可以开发出从低级到高级

18、的各种定制的应用。ArcGIS Engine支持多种应用程序接口, 拥有许多高级 GIS功能,而且构建在工业标准基础之上,具备快速开发和功能扩展能力,可以非常方便地开发出功能强大的 GIS应用系统。ArcGIS Engine 除了具备所有 GIS 的核心功能外,还提供了大量的扩展功能,如更新和创建多用户地理数据库,3D分析和空间分析等。 由于ArcGIS Engine所具有的上述特征, 因此利用ArcGIS Engine 进行开发兼具了可移植性好、扩展性强、跨平台以及系统稳定性好的优点。使用 ArcGIS Engine ,开发人员可以将 GIS功能嵌入到已有的应用软件中,或嵌入到商业生产应用软

19、件中,还可以创建集中式自定义用软件, 并将其发送给机构内的多个用户。另外,它还可以在非GIS为核心的应用程序中嵌入GIS逻辑,利用ArcGIS桌面软件的制图功能,快速的部署包含高质量地图产品的GIS应用程序,建立专门的数据编辑应用程序,创建球体可视化应用程序来展现空间和三维分析,创建数据集的地理编码和路径分析应用程序。ArcGIS Engine面向的用户并不是最终使用者,而是那些技术上复杂的专业GIS公司、需要开发企业级GIS和地图制图解决方案的大型单位机构、GIS行业及其垂直产业的第三方解决方案的开发者,以及那些想要向非GIS核心的应用程序中添加GIS和地图制图功能的开发者,也就是GIS项目

20、程序开发员。2.1.2 ArcGIS Engine 中的三维开发控件ArcGIS Engine为三维的二次开发提供的一个可选扩展的模块是3D模块,通过这个模块可以实现地形表面建模、海量数据的交互3D浏览、三维分析等功能,而控件之间的互相联系则是实现整个系统功能的关键所在7。ArcGIS Engine开发控件有很多,但有关于三维开发的控件并不多,主要包括: GlobeControl、SceneControl、TOCControl和LicenseControl。另外还有一些控件如:ToolbarControl、SymbologyControl、ReaderControl、MapControl、Pa

21、geLayoutControl等,但它们一般用在工具条的定制,符号样式的选择,二维地图的分析以及制图分析等,在三维的二次开发中并不常用,即便用也主要是用在与三维的联动方面,因此这里就不做细论,简而概之。GlobeControl是“三维地球显示”控件,封装了GlobeViewer对象,可以加载ArcGlobe制作的Globe文档,内置了导航功能,部署是需要ArcGIS Engine的3D运行是选项。它也是专门用于显示三维数据的地图控件,同时也具有对专题地图的三维浏览、漫游以及控制显示,具备大范围海量三维数据的显示漫游功能。SceneControl是“三维场景显示”控件,封装了SceneView对

22、象,可以加载ArcScene制作的Scene文档,内置了导航功能,部署是需要ArcGIS Engine的3D运行是选项。它实现对专题地图的三维浏览、漫游以及控制显示,该控件是专门用于显示三维数据的地图控件,它使得AE在三维开发方面得到了极大的扩展,但该控件只适合于小量数据在小范围内的投影。LicenseControl是许可证控件,提供ArcGIS Engine的功能许可,可通过属性扩展和定制许可证保证程序的正常运行,在其他控件前先加载。TOCControl是内容表控件,主要实现对专题地图的分层显示与管理,并提供图例,支持对图例的修改。需要“伙伴控件”协同工作,提供一个交互树视图保持与“伙伴控件

23、”同步,“伙伴控件”可以是一个 MapControl,PageLayoutControl,ReaderControl,SceneControl 或者 GlobeControl。另外,MapControl控件是“地图”视图显示控件,封装了Map对象。 MapControl控件主要用于地图的加载和管理以及显示和分析等,可与三维控件联动使用,例如鹰眼。PageLayoutControl控件是“布局”显示控件,封装了PageLayout对象,主要用于地图的修饰和整理,可以用于生成一幅成品地图,可与三维控件联动使用,用于二维出图。SymbologyControl是样式控件,主要用于地图文档的符号化,可加

24、载和显示*.ServerStle文件,在三维控件中,主要用于3D符号化。ToolbarControl是工具条控件,主要提供功能按钮来实现对专题地图的打开、浏览等操作,并可以驻留操作其“伙伴控件”的命令、工具和菜单,需要“伙伴控件”协同工作。该控件一般用的较少,因为工具条一般都是自己做,而这样保证用户界面的美观,个性化。2.1.3 ArcGIS Engine中的三维开发类库8本文在开篇在介绍过,基于ArcGIS Engine实现三维的二次开发并进行一个效果的展示,主要用到两个大控件,SceneContol和GlobeControl,而在这两个控件中在使用中自然而然的会用到很多类库,且两者之间大多

25、共用。随后,本文将简单的介绍一下在三维开发中主要用到的几个类库,来说明这些类库在三维开发中的重要作用,以及不同类库在不同控件的表现形式和区别。 图 2.1 各类库结构图在ArcGIS Engine中,有关于三维开发的类库有很多,但主要的几个有:System类库,SystemUI类库,Geometry类库,Display类库,Output类库,GeoDatabase类库, DataSourcesFile类库,DataSourcesRaster类库,Carto类库,Controls类库,GeoAnalyst类库,3DAnalyst类库,GlobeCore类库,SpatialAnalyst类库。Sy

26、stem类库 System类库是ArcGIS体系结构中最底层的类库,它提供了一些可以被其他组件库使用的组件,而这些组件都是非常基本的。System类库定义了大量开发者可以实现的接口,开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。因此,在三维开发中,这是必不可少的类库,SceneContol和GlobeControl都必须用到。SystemUI类库 SystemUI类库包含用户界面组件接口定义,这些用户界面组件可以在ArcGIS Engine中进行扩展。包含ICommand、ITool和IToolControl接口。这个类库中包含的对象是一些实用工具对象,开发

27、人员可以通过使用这些对象简化用户界面的开发,开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。因此,在三维开发中,这一类库主要用于用户界面的开发,SceneContol和GlobeControl都必须用到。Geometry类库 Geometry类库处理存储在要素类中的要素几何图形或形状或其他图形元素,在三维开发中,这一类库主要用于进行要素的表达,SceneContol和GlobeControl都必须用到。Display类库 Display类库包含用于显示GIS数据的对象。除了负责实际输出图像的主要显示对象外,这个类库还包含表示符号和颜色的对象,它们用来控制在显示

28、上绘制时实体的属性。Display类库的所有部分都能进行扩展;通常扩展的对象包括符号、颜色和显示反馈。这一类库在三维的开发中,主要用于数据的显示和图层的渲染以及图像的输出等,只有用时才被需要。Output类库 Output类库用于创建图形输出到诸如打印机和绘图仪等设备及诸如增强型元文件和栅格图像格式(JPG、BMP等)等硬拷贝格式,开发人员用这个类库中的对象及ArcGIS系统的其他部分创建图形输出。这一类库在三维的开发中,主要用于场景出图,只有用时才被需要。GeoDatabase类库 Geodatabase类库中的对象为ArcGIS支持的所有数据源提供了一个统一编程模型,GeoDatabase

29、类库定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口,开发者可以扩展地理数据库,以支持特定类型的数据对象(要素、类等),地理数据库支持的本地数据类型不能扩展。这一类库在三维的开发中,主要用于数据的加载。DataSourcesFile类库 DataSourcesFile类库包含用于基于文件数据源的GeoDatabaseAPI实现,开发者不能扩展DtaSourcesFile类库。这一类库在三维的开发中,主要用于文档的加载。 DataSourcesRaster类库 DataSourcesRaste类库包含用于栅格数据源的GeoDatabaseAPI实现,开发者不能扩展DataSo

30、urcesRaster类库。这一类库在三维的开发中,主要用于栅格数据的使用和处理。Carto类库 Carto类库支持地图的创建和显示,这些地图可以在一幅地图或由许多地图及其地图元素组成的页面中包含数据。这一类库在三维的开发中,主要用于二维制图方面,与三维联动。Controls类库 开发者用Controls类库来构建或扩展具有ArcGIS功能的应用程序,开发者通过创建自己的用于操作控件的命令和工具来扩展Controls类库。这一类库在三维的开发中,主要用于工具条的定制。GeoAnalyst类库 GeoAnalyst类库包含支持核心空间分析功能的对象,开发者可以通过创建新类型的栅格操作来扩展Geo

31、Analyst类库。这一类库在三维的开发中,主要用于栅格数据的空间分析。3DAnalyst类库 3Danalyst类库包含操作3D场景的对象,而Scene对象是3Danalyst类库中主要对象之一,与Map对象一样,是数据的容器。一个场景由一个和多个图层组成,这些图层规定了场景中包含的数据及这些数据如何显示,开发者很少扩展3Danalyst类库。这一类库在三维的开发中,主要用于SceneControl控件。GlobeCore类库 GlobeCore类库包含操作globe数据的对象, Globe对象是GlobeCore类库中主要对象之一,与Map对象一样,是数据的容器。一个golbe有一个和多个

32、图层,这些图层规定了golbe中包含的数据及这些数据如何显示。这一类库在三维的开发中,主要用于GlobeControl控件。SpatialAnalyst类库 SpatialAnalyst类库包含在栅格数据和矢量数据上执行空间分析的对象,开发者通常使用这个类库中的对象,而不扩展这个类库。这一类库在三维的开发中,主要用于空间分析。最后,在使用ArcEngine提供的类库时,我们一般要在工程-“引用”中添加对该库的引用,另外,我们在工程中最好还要对所使用的命名空间作一下引用,这主要是为了方便我们以后代码的输入,例如,using ESRI.ArcGIS.Analyst3D;using ESRI.Arc

33、GIS.Controlsusing ESRI.ArcGIS.Display;其中,using使用的是命名空间,而在工程-“引用”中添加的是程序集,这两者并不是一一对应的关系,一个程序集的库可以分布在多个命名空间中,反之亦然。2.2三维开发控件的实现一个控件能够实现那些功能主要看这个控件封装和引用了哪些类,定义了哪些方法和属性,且必须知道这些类能够做什么,这些方法和属性又有什么用。但由于方法和属性太多,本文就不在这里赘述,仅从另一个角度来说明这个问题。2.2.1 SceneControl控件实现从控件的功能实现角度来讲,Scenecontrol控件封装了SceneViewer类,且引用了上述的大

34、部分类库。在前面我们已经知道各个类库的主要作用,而对于SceneViewer类,它其实是SceneControl控件所特有的,主要用于定义3D浏览器。另外,Scenecontrol在管理方面:包含Scene appearance、Scene、Scene graph、Camera properties四个对象,而这些对象实现了我们所需要的大部分基础功能,比如数据的可视化、表面生成和分析等等。在命令和工具方面:定义了漫游,缩放,飞行,选择,观察等在加载文档方面:可加载Scene文档在工具条方面:可实现ControlSceneSceneToolbar在类库方面:esriSceneControl.oc

35、x和esri3Danalyst.olb相对于本文的系统,由于时间的限制,则显得较为简单,主要包括:菜单栏中文档的加载、保存场景图片等;图层的基本操作,如图层的删除,缩放到图层等;场景浏览操作,如漫游、缩放、旋转、飞行、放大、缩小、显示全图、前视、后视等;除了这些基本功能之外,还包括一些应用操作和分析如: 属性查询、空间查询、测量、栅格数据的拉伸和渲染、淹没的演示、视频的录制等,2.2.2 GlobeControl控件实现从控件的功能实现角度来讲, GlobeControl封装了GlobeViewer类,且引用了上述的大部分类库。而GlobeViewer 对象和 SceneViewer 一样,用

36、于定义3D浏览器。另外,GlobeControl在管理方面又包含Globe appearance、 Globe、GlobeDisplay、GlobeCamera properties四个对象,同样,这些类库也实现了大部分基础功能,比如图层的操作、访问、渲染,纹理贴图、数据的输入、输出、缓存等等在命令和工具方面,定义了漫游,缩放,飞行,选择,目标等。在加载文档方面:加载Globe文档在工具条方面:可实现ControlGlobeGlobeToolbar和ControlGlobeRotateToolbar在类库方面:esriGlobeControl.ocx和esriGlobeCore.olb总的来说

37、,该控件所实现的功能与SceneControl控件所实现的功能基本相似,这样做主要是为了更好的对比和分析,并且,两者实现的功能还是能够满足本文分析的需要。2.3 ArcScene和ArcGlobe应用程序的比较 我们知道,可以通过GlobeControl和SceneControl这两控件分别开发出ArcGlobe和ArcScene两个应用程序,而在ArcGIS Desktop中,可用于三维场景展示的程序为ArcGlobe和ArcScene,又由于Engine与Desktop底层技术都是基于AO的,因此ArcGlobe和ArcScene在功能和性能的比较结果同样适用与GlobeControl和S

38、ceneControl。ArcGlobe与ArcScene功能差别9: 表 2.1描述ArcGlobeArcScene3D Analyst工具条NoYes缓存机制展示大量数据YesNoTerrain数据YesNoTin作为高程数据YesYes显示TinNoYes动态山影效果NoYes注记的显示(Annotation)YesNo立体视觉NoYes复杂三维符号(如3D Simple Line Symbol)NoYes三维模型数据YesYes动画效果中的沿路径移动图层NoYes无空间参考的数据NoYesVRML支持可导入可导入/导出Representation symbology图层栅格化后可支持不

39、支持ArcScene和ArcGlobe其他异同点的比较在相同方面:都可以做3D飞行的动画,两者支持的符号是类似的,都能使用ArcToolbox里的工具来做一些分析功能。在三维显示方面,两者的地形都需要拉伸设置。在不同方面:两者的旋转不同,后者是围着数据的中心点旋转,而后者是围绕地球的中心轴旋转。只有ArcGlobe有Publisher extension可以用来创建能在ArcReader里浏览的3D场景,浏览时,ArcGlobe则需要二三维的切换。另外,ArcGlobe可以进行纹理贴图,使画面更接近于真实,而ArcScene则不能,不过,ArcScene有一些额外的动画功能,比如移动图层的动画

40、,另外,在数据应用操作过程中,都可以加载文档,但文档不同,ArcScene加载的是*.3ds, ArcGlobe加载的是*.3dd。在数据的要求上,ArcGlobe将所有数据投影到球体表面上,使场景显示更接近现实世界,适合于全市,全省,全国甚至全球大范围内的数据展示,其统一的投影系统是WGS84。ArcScene在显示场景时,会将所有数据加载到场景中,矢量数据以矢量形式显示,栅格数据会自动降低分辨率来显示,以提高效率,并将所有数据投影到当前场景所定义的空间参考中。默认情况下,场景的空间参考由所加入的第一个图层空间参考决定,总的来说,ArcScene更适合于小范围内精细场景刻画。第三章 系统的总

41、体设计3.1 系统的需求分析功能需求分析功能只要满足基本的浏览功能以及相应的分析功能,主要是方便对比分析,并不做任何商业活动和任何个人目的行为。其基本功能以及相应分析几经在上面说的很清楚,这里就不在赘述,一致性需求在空间查询和属性查询中,相关的表之间,有较强的关联性,并建立起了一致性约束完整性需求根据线路查询系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。可行性分析1. 技术可行性:熟练操作ArcScene和ArcGlobe应用程序,并具有一定的C# 编程能力。2. 操作可行性:采用第三方插件如Dotnetbar,使系统界面美观明了,提供的信息语言通 俗易懂,而且操作

42、容易,用户只要懂得初步的计算机操作即可。3. 经济可行性:本系统瓶颈在于时间,基本不需要什么资金,可以保证本系统的顺利开发。4. 法律可行性:经研究,本系统的开发符合相关法律条令,不含有任何形式木马和病毒。3.2 系统研制目标及规定要求 研制目的本系统的研制目的是为本论文的研究目的所服务的,即研究GlobeControl和SceneControl这两个控件在数据的的要求和预处理,以及基于两个控件开发后的系统性能、功能和应用范围的差异性,以及对电脑配置和要求上区别。并希望本文能够对以后学习三维开发的同学或研发人员提供一个有效的帮助,同时,也算是对自己本科期间做过的一些工作做简单的一个回顾和总结。

43、规定需求满足基本的功能和相应的分析应用,并能实现性能的优化。功能规定1. 系统的信息输入部分2. 系统的信息处理部分3. 系统的输出4. 系统的维护部分性能规定1、在精度方面:需求上较高,根据使用需要,在各项数据的输入,输出及传输过程中,尽量满足各种精度的需求。输入的信息要求保证实时性、正确性和全面性,输出的信息要保证正确无误。2、时间特性要求a) 响应时间:在正常情况下,不超过2秒b) 更新处理时间:不超过3秒c) 数据的转换和传送时间:不超过2秒d) 解题时间:迅速3、灵活性a) 操作方式上:对用户采用友好的界面,信息查询采用模糊检索;b) 运行环境:可以在Windows98、2000、X

44、P、2003上进行查询。c) 同其他软件的接口的变化:对系统施加不同的外界运行控制时所引起的各种不同的需求,本系统可以做出相应的调整。d) 精度和有效时限的变化:本系统确保所提供信息的正确性和完备性,有效时间由于受到政策和需求的影响应根据各方面的具体情况而定。e) 计划的变化或改进:如果时间充裕,可以增添更丰富的功能。3.3 系统开发设计系统开发平台1、 硬件环境:CPU:P4 2.0GHz;内存:2GB以上;硬盘:250GB以上设备;独立显卡:1G;2、 软件环境:操作系统:Microsoft Windows 2003 Advanced Server;数 据 库:Microsoft SQL

45、Server 2005;开发工具:ArcGIS Engine开发包;3、 系统运行环境:VS2008;系统开发语言ArcGIS Engine支持多种开发语言,但本文中所设计的系统用到的语言全是C#。3.4 数据要求及预处理3.4.1 数据来源及其要求数据的来源是我的导师给我的江西省的DEM数据; 纹理数据的来源和处理:我们纹理数据的来源是从GISOnline中的ArcGlobe在线分块截屏,最后通过相应的软件,如Photoshop和ArcGIS拼合而成。高程数据的处理:主要由我们的专业人员对数据的投影进行校正,并使用本系统的相关软件对兴趣区域进行裁剪,最终得到可以为两个控件所共同加载的数据。3

46、.4.2 数据预处理方法因为我们所用到的数据均为栅格数据,因此数据的处理方法主要有:投影转换,栅格裁剪。3.4.3 数据质量控制数据质量控制是个复杂的过程,要控制数据质量应从数据质量产生和扩散的所有过程和环节入手,分别用一定的方法减少误差。空间数据质量控制常见的方法有:1、传统的手工方法质量控制的人工方法主要是将数字化数据与数据源进行比较,图形部分的检查包括目视方法、绘制到透明图上与原图叠加比较,属性部分的检查采用与原属性逐个对比或其他比较方法。2、元数据方法数据集的元数据中包含了大量有关数据质量的信息,通过它可以检查数据质量,同时元数据也记录了数据处理过程中质量的变化,通过跟踪元数据可以了解数据质量状况和变化。3、地理相关法用空间数据的地理特征要素自身的相关性来分析数据的质量。如从地表自然特征的空间分布着手分析,山区河流应位于微地形的最低点,因

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1