文档库 最新最全的文档下载
当前位置:文档库 › ArcEngine插件式GIS二次开发框架的设计与实现

ArcEngine插件式GIS二次开发框架的设计与实现

ArcEngine插件式GIS二次开发框架的设计与实现
ArcEngine插件式GIS二次开发框架的设计与实现

网络出版时间:2010-12-31 10:51

网络出版地址:https://www.wendangku.net/doc/8e4384325.html,/kcms/detail/11.4415.p.20101231.1051.009.html

ArcEngine插件式GIS二次开发框架的设计与实现

孙 丽①,高 飞①,胡小华①②,马传松③

(①合肥工业大学土木与水利工程学院,合肥230009;②合肥市国土资源局,合肥230000;③广

东南方数码科技有限公司,广州510665)

【摘 要】本文针对GIS实际二次开发模式中存在的一些问题,提出了一种更易于开发应用程序的

框架模式,框架基于ArcEngine与.NET平台进行开发,采用插件式开发技术,按照ArcObjects框架

接口规范,在ArcEngine下实现、重写框架类并进行封装而成,通过动态配置管理方式动态地生成

菜单、停靠窗体和工具栏等,可以方便地定制应用程序界面。本文通过实例演示了该架构设计在国

土GIS应用系统中的实现与应用。

【关键词】GIS;ArcEngine;插件式;动态配置管理;宿主程序

【中图分类号】P208 【文献标识码】A 【文章编号】1009-2307(2011)05- - Design and realization of framework for plug-in GIS secondary development based on

ArcEngine

Abstract:In the actual secondary development pattern of GIS, some problems still exist. For resolving them, this paper put forward a framework pattern of plug-in GIS secondary development which

would be more prone to developing and applying. This application framework is based on ArcEngine

and .NET development platform, using plug-in development techniques, according to the specification of

ArcObjects interface, realizing the ArcObjects interface, rewriting main framework class and forming

encapsulation. To achieve the purpose of easily customizing the application, using XML Configuration

Management, the application framework can dynamically create the menu, toolbar, floating panels and so

on. In the end, an example of land GIS application was illustrated the technology route for realizing the

framework.

Key words: GIS; ArcEngine; plug-in; dynamic configuration management; host environment

SUN Li①,GAO Fei①, HU Xiao-hua①②,MA Chuan-song③(①School of Civil Engineering, Hefei University of Technology, Hefei 230009, China; ②Hefei Municipal Bureau of Land and Resources, Hefei

230000, China; ③Guangdong South Digital Technology Company, Guangzhou 510665, China)

1 引言

GIS是一种采集、存储、管理、分析、显示与应用地理信息的计算机系统[1]。同时,GIS也是一门以应用为目的的信息产业,它除了具有基础性和公益性特点外,还具有实际应用并创造价值的广

阔市场[2]。目前,随着计算机技术的高速发展,GIS的应用已经深入到各个领域,形成诸如资源GIS、农林牧副渔GIS、国土GIS等。在我国基于GIS组件的集成二次开发逐渐成为GIS应用系统开发的

主流开发模式,其优点也已为业界普遍认可,然而实际的二次开发模式,往往存在下面的情况:每

一个行业应用都要经历一次完整的二次开发过程,这样大部分时间都浪费在菜单建立、工具栏按钮

设计、停靠窗体设计、增加映射代码等的上面,而且对于一个开发完成的应用系统,在后续的维护

中,每升级一个功能,就需要将几个程序的代码都打开、复制、粘贴、编辑、再编译、再测试,这

样的工作十分繁杂。因此,很必要设计一个插件式GIS应用程序二次开发框架。另外,经分析,在

各种各样的GIS应用中,常用到的一些基本GIS功能几乎是固定不变的,如视图控制中的放大、缩

小等。这样在构建GIS框架时有必要将这些常用的基本功能抽象成独立的模块,以便供其他的系统

共用,而避免重构。开发用户只需在应用程序框架中加入行业应用功能,这样一个行业GIS应用软

件就可以快速的搭建起来。

2 插件式GIS二次开发框架设计方案

2.1 框架总体设计

基于框架模式开发的应用程序可分为两层:框架层和应用层,框架层本身是由一些更基础的类库或框架开发而成的[3]。本框架设计中,处于基础组件中最底层的是系统软件层,包括Windows2003

等操作系统与SQLServer、Oracle等商用关系数据库等系统软件,他们除了提供对硬件设备的访问外,还提供了必要的API供位于其上的所有层进行访问。位于系统软件层上,采用.NET Framework与ArcEngine组件作为基础框架层,基础框架层提供了基于系统软件层的最一般化的功能和组件,它们以编程模型的形式被提供。基础框架层之上就是自定义框架层(GIS二次开发框架层),在此自定义框架层上,提出通用逻辑,并对应用层的需求进行分析、开发与实现。框架总体设计如图1所示。

图1 框架总体设计

2.2 插件式框架模型

开发过程中,设计的主要思想是将待开发的目标软件分为两部分:①宿主程序或主框架;②功能扩展或补充模块,可定义为插件。宿主程序包含插件的程序,插件通过宿主程序进行统一管理,在宿主程序内部提供框架和插件之间以及不同插件之间完备的消息机制,对不同扩展功能进行分类并定义标准接口,插件必须实现宿主程序定义的这些标准接口,由宿主程序在与插件通信时调用,并能够在宿主程序上实现自己的逻辑,从而把不同的功能插件有机地集成到一起,有效地协同工作。同时又能把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现,使扩展功能与框架以一种很松的方式耦合,也就是实现真正意义上的“即插即用”软件开发。这样当插件的接口公开给开发人员后,开发人员就可以在不修改宿主程序的情况下对软件功能进行扩展与加强,快速的搭建行业应用系统。

框架应用程序中提供了一个框架类库,用来维护和管理框架界面元素(主菜单、工具条、导航条、停靠窗体等)的生成,提供应用系统中菜单、工具栏、地图控件(MapControl、PageControl、Toc等)的事件处理和回调,提供界面与插件、插件与插件之间的通信。另外,框架应用程序还提供配置管理单元,负责系统的界面风格设置等信息。框架模型见图2所示。

图2 框架结构模型图

2.3 框架的运行管理

框架中提供了菜单和工具栏容器接口用于兼容各种类型的界面控件,通过工具栏容器类实现工具栏容器接口,通过实现创建工具栏方法,读取指定的菜单配置文件(XML配置文件),动态生成菜单和工具条。在ArcEngine中,为命令和工具开发定义了ICommond与ITool接口,两接口中定义了生成命令和工具按钮所必须的属性和鼠标事件、键盘事件的处理方法,本框架中的所有插件都是从

ArcEngine所提供的BaseCommand和BaseTool的基础上派生出来的,因此,只要在插件类中实现这两个接口,并调用相应的接口方法,就可以实现插件类,通过封装后即可插入到应用框架中。

在对插件进行识别和管理后,宿主程序需要准确地调用插件,框架是基于事件驱动的,应用框架通过事件监视器来捕获主应用系统或插件所引发的事件,并调用相应处理程序完成事件处理,如用户在主应用系统中点击菜单项或工具按钮时,框架类库将捕获到该事件,并根据点击的菜单项名称从命令池中查找到对应的功能插件,然后调用插件中的方法完成事件处理。

3 实现技术路线

3.1 开发工具

框架基于ArcEngine9.2与微软的.NET Framework2.0平台进行开发,采用C#编程语言,按照ArcObjects框架接口规范,在ArcEngine下实现并进行封装而成。ArcEngine9.2开发工具包是一套完备的嵌入式GIS组件库和工具库,可以从底层GIS功能的层面保证系统的先进性、稳定性,能够构建独立的应用系统或者集成到第三方的应用体系中。ArcEngine对.NET开发平台有很好的支持,.NET Framework提供了一个跨语言的统一编程环境,是一个多语言组件开发和执行环境。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,以其语言特性成为.NET开发的首选语言。

3.2 插件管理技术

框架设计采用. NET程序集作为插件的载体,并使用. NET的反射机制来对插件进行调用。在.NET 中,要使程序集对用户有效,只要简单地把它们放在一个目录中就行了。当客户程序请求一个组件时,.NET 运行时在同一个目录搜寻程序集,找到后分析其中描述信息,以取得这个组件所提供的类的信息[4]。. Net反射技术,它通过反射机制获取程序集中的类型信息,这就意味着软件在允许时是可以获得关于类的成员、属性、方法和构造器等许多的信息[5]。根据类型定义产生一个插件实例并加载到插件池中。插件与程序之间的通信则通过定义好的接口来实现。

3.3 动态配置管理技术

框架设计中的主框架功能菜单及工具条采用动态配置管理方式,即采用XML配置文件模板方式进行配置管理。根据用户办公的具体需要,确定需要加载的功能模块,然后利用XML配置文件对框架布局信息进行修改并保存,重新启动应用程序时就会自动加载保存好的界面布局模版,这样主框架在运行时就会根据配置好的功能菜单动态的显示出来。框架的每一个菜单和工具条都有对应的功能插件,每个功能插件就是应用系统工具中最小的一个独立单元,可单独执行。

4 框架设计在国土GIS应用系统中应用

据上述对应用程序框架的研究,在插件式GIS二次开发框架的基础上进行了实际GIS项目开发的实践,开发了城镇地籍管理信息系统。在系统功能方面,将常用的基本GIS功能集成到系统平台内,将地籍GIS应用中的功能按照不同的分类封装入不同的插件中,通过插件集成到应用系统中,构成完整的系统。具体功能模块分类如图3所示。

图3 功能结构图

如果用户有新的需求,需要向系统中增加新的功能,比如增加宗地图打印功能,那么采用以下的步骤即可完成应用系统的功能模块更新:①创建一个地图打印功能的类库,类库名称为PrintManager,添加相应的引用文件(框架设计中的核心库及相应的ESRI组件);②在类库中创建新类PrintZDT,该类通过派生于BaseCommand类进行包装,代码如图4所示;③将其编译为DLL文件,名称为PrintManager.dll;④将该DLL文件拷贝到相应的文件夹中;⑤在框架菜单工具栏的配置文件中(XML配置文件)中添加如图5所示的项;⑥重新启动应用程序,将在菜单栏或工具栏上出现一个宗地图打印按钮,直接点击该按钮可以实现宗地图打印的功能操作,如图6所示;⑦快速、简单地实现系统功能模块的更新操作。

图4 派生BaseCommand代码图5 XML配置文件添加项

图6 宗地图打印效果图

5 结束语

本框架设计是基于ArcEngine与C#进行的开发,可以动态加载.NET和Com组件,因此可以使用多种语言(VB、C++等)进行插件类开发,并可以适合任何基于ArcEngine与.NET的平台进行GIS软件的开发领域,具有很好的扩展性与通用性;框架设计通过XML配置文件动态的生成菜单和工具条,因此当用户增加新的需求时,开发人员不需要重新测试整个系统的框架和编译整个框架程序,开发人员只需将新的功能模块设计成该框架的应用插件组件,编译成DLL程序集,放入到指定的文件夹下,即可实现即插即用的效果,具有高度的可维护性;同时也能减少重复工作,降低项目成本,缩短项目周期,从而可以产生较好的经济、技术效益。对于GIS应用系统的用户来说,可以提供更好的用户体验,增加系统的易用性,缩短人与计算机应用系统之间的距离,获得更高的业务处理效率。

参考文献

[1] 陈述彭,鲁学军,周成虎.地理信息系统导论[M].北京:科学出版社,2000:220-238.

[2] 吴秀芹,张洪岩,等.ArcGIS9地理信息系统应用与实践[M].北京:清华大学出版社,2007.

[3] 蒋波涛.插件式GIS应用框架的设计与实现[M].北京:电子工业出版社,2008.

[4] Karli Wantson,等.C#入门经典[M].北京:清华大学出版社,2006.

[5] Hoffman K. VisualC#2005技术内幕[M].北京:机械工业出版社,2007.

[6] 刘仁义,刘南.ArcGIS开发宝典—从入门到精通[M].北京:科学出版社,2006:10-21.

[7] 黄杏元,汤勤.地理信息系统概论[M].北京:高等教育出版社,1990.

[8] 王君,于彩虹,柳清瑞.基于软插件技术和三成C/S结构的高等院校教务管理系统[J].辽宁大学学报(自然科学版),2002,29(2):134-137.

[9] 崔修淘,吴建平,等.插件式GIS的开发[J].华东师范大学学报(自然科学版),2005,(4):50-57.

[10] 张进军,张维勇,等.一种基于插件的软件体系结构[J].合肥工业大学学报,2005,28(4):398-401.

E-mail

《GIS设计与实现》复习资料

《GIS设计与实现》复习资料 默认分类2009-07-03 08:20:49 阅读341 评论0 字号:大中小订阅 《GIS设计与实现》复习资料 第一章引论 1、何谓GIS?GIS主要研究的内容是什么? GIS是以计算机技术为依托,以具有空间内涵的地理数据为处理对象,运用系统工程和信息科学的理论,采集、储存、显示、处理、分析、输出地理信息的计算机系统,为规划、管理和决策提供信息来源和技术支持。 研究内容:数据采集、数据存储、数据处理和分析、数据输出。 2、GIS逐步走向成熟的今天,其发展呈现出哪些趋势? ①GIS趋于综合性发展②GIS数据模型研究 ③GIS数据共享和互操作促进GIS社会化发展 ④GIS产业化发 展⑤GIS软件向组件式GIS发展 3、从发展历程角度来看,GIS软件经历了哪几个阶段,各阶段的主要特点是什么? ①集成式GIS:在一个系统中集成了GIS的各项功能; ②模块式GIS:系统分成许多相对独立的功能模块; ③核心式GIS:从底层提供GIS功能,通过API访问; ④组件式GIS:通过标准通信接口实现模块间通信及GIS与其它系统集成; ⑤万维网GIS:结合Internet,实现GIS的共享和互操作。 第二章 GIS设计思想和方法 1、GIS设计与一般信息系统设计相比较,有什么差异?

3、GIS作为一个特殊的软件领域,其设计过程有哪些区别于其他软件设计的独有特点? 1)GIS处理的是空间数据,具有数据量庞大、实体种类繁多、实体间的关联复杂等特点。 2)GIS设计以空间数据为驱动。 3)GIS工程投资大、周期长、风险大、涉及部门繁多。 4、什么是UML?数据质量?结构化生命周期法、原型法、编码、继承、对象? 1)UML(Unified Modeling Language)又称统一建模语言或标准建模语言。它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。其支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模,而且,UML 适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。 2)数据质量:是对空间数据在表达空间位置、空间关系、专题特征等要素时,所能达到的准确性、一致性、完整性的度量,一般描述为空间数据的可靠性和精度,用误差来表示。 3)结构化生命周期法:规定了软件开发过程中的各项工程活动,一般包括可行性分析、需求分析、总体设计、详细设计、编码及测试六项活动,并规定了它们自上而下,相互衔接的固定次序,前一阶段的成果是后一阶段工作开展的基础。 4)原型法:其主要思想是借助原型来辅助软件开发。在开发初期,开发人员根据自己对用户需求的理解,利用开发工具快速构造出原型软件,用户及开发人员通过对原型软件的试运行、评价、修正和改进,逐步明确对软件的功能需求以进行正式开发或者直接把原型扩充成最终产品。 5)编码:是根据一定的协议或格式把模拟信息转换成比特流的过程。 6)继承:是对具有层次关系的类的属性和操作进行共享的一种机制。如在一个已有的基础上加上若干新内容形成新类。

GIS二次开发实验报告

GIS二次开发实验报告 学号: 姓名: 班级: 专业: 指导老师: 二零一五年11月15日

目录 1 实验一:软件安装与AOI书签开发 (2) 1.1 实验目的 (2) 1.2 实验内容 (2) 1.3 实验结果 (2) 2 实验二:地图数据组织与访问 (5) 2.1 实验目的 (5) 2.2 实验内容 (5) 2.3 实验结果 (5) 3 实验三:地图渲染与制图输出 (9) 3.1 实验目的 (9) 3.2 实验内容 (9) 3.3 实验结果 (9) 4 实验四:空间数据处理 (14) 4.1 实验目的 (14) 4.2 实验内容 (14) 4.3 实验结果 (14) 5 实验五:GIS分析 (20) 5.1 实验目的 (20) 5.2 实验内容 (20) 5.3 实验结果 (20) 6实验六:栅格数据处理 (25) 4.1 实验目的 (25) 4.2 实验内容 (25) 4.3 实验结果 (25) 7实验总结 (31)

1实验一:软件安装与AOI书签开发 1.1实验目的 ?掌握AOI书签程序开发 1.2实验内容 ?实现AOI书签的创建 ?实现AOI书签的调用 1.3实验步骤与结果 安装程序后,新建地图显示项目。在程序的主窗体上端添加添加菜单项,文本属性为创建书签,控件名为miCreateBookmark,在旁边添加组合框,控件名为cbBookmarkList。 1.右击引用选择AddArcGIS Reference在弹出的对话框中添加引用在主窗体(即MainForm.cs)中添加代码; (1)首先添加引用代码:using ESRI.ArcGIS.Display; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.ADF; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesFile; using ESRI.ArcGIS.DataSourcesRaster; (此引用代码都需添加引用后才可以使用,上述引用代码为本类中所需要的所有引用,在之后的编程中,可以不用重复引用) (2)添加“创建书签”函数 在MainForm类中添加成员函数CreateBookMark,代码如下: public void CreateBookmark(string sBookmarkName)//参数为书签名 { //通过IAOIBookmark接口创建一个变量,其类型为AOIBookmark,用于保存当前地图的范围 IAOIBookmark aoiBookmark = new AOIBookmarkClass(); if (aoiBookmark != null) { aoiBookmark.Location = axMapControl1.ActiveView.Extent;

GIS设计和开发

gis设计与开发 Gis设计与开发思路 现实需求、GIS概念模型、机理过程、人机交互系统、现实需求 开发方式:独立开发,扩展式二次开发,集成式二次开发 第一章GIS设计思想内容,标准 (一)GIS设计目标 通过改进系统设计方法,严格执行开发的内容划分,进行阶段质量把关以及做好项目建设的组织管理工作,从而达到增强系统的实用性,降低系统开发和应用的成本,延长系统生命周期的目的。 (二)GIS设计的特点 1、数据:数据量大,实体种类繁多、实体间关联复杂的特点 2、功能:GIS设计以空间数据为驱动 3、工程:GIS工程投资大,周期长,风险大,涉及部门繁多 二gis设计的理论基础 Gis工程学:GIS本身发展和将系统工程学思想引入GIS设计的产物 (一)GIS工程学体系 1、任务:寻求系统总体最优化 2、基础理论:(1)系统学思想(整体性,层次性,相关性,功能性,动态性),(2)系统工程学(3)软件工程学(4)地理信息科学三层次(理论,技术,应用) 3、方法论:根据GIS工程学的基础理论而形成的一系列程序化的基本操作技术与方法(二)GIS工程学的特点 1、以空间信息系统工程优化为目的 2、横跨多学科 3、直接面向决策,为可持续发展提供决策支持 4、与GIS产业化密切相关 三GIS设计的内容 (一)设计原则:标准化,先进性,兼容性,高效性,可靠性通用性 (二)设计内容 软件设计和数据库设计 第二章gis设计的方法 一、结构化生命周期法 1、结构化生命周期法又称结构化分析和设计方法,又称结构化系统开发方法 结构化生命周期法是系统分析员,软件工程师,程序员以及最终用户按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施建立计算机系统的一个过程,是组织,管理和控制信息系统的开发过程的一种基本框架。 2、基本思想:(1)要求设计过程必须严格按照阶段进行 (2)在系统建立之前就必须严格的定义和描述用户的需求。 3、阶段划分:(1)系统开发的准备阶段 (2)调查研究及可行性研究阶段

gis二次开发能实现那些功能

第一题:GIS二次开发能实现那些功能? 符号化显示全要素地图 对图层的的管理和操作 支持地图放大,缩小漫游等各种操作 可以对地图进行标注 可以实现几何参数查询,空间定位查询等功能 空间分析功能 空间数据库访问功能 地图打印功能 GPS导航功能 第二题,MO做专题地图有哪几种? 标注渲染,按值渲染,点密度渲染,分类渲染,图表渲染,z值渲染,组渲染 建立缓冲区查找缓冲区的城市代码: Dim dc As New MapObjects2.DataConnection '定义一个数据连接对象 Dim lyr As New MapObjects2.MapLayer '定义一个数据图层对象 Dim fname As String Dim fnames() As String '定义了一个字符数组 Dim rectline As MapObjects2.Recordset '定义一个数据集对象 Dim resutstate As MapObjects2.Recordset Dim resultshape As MapObjects2.Polygon Dim flag As Integer Dim fname2 As String Dim max As Integer Dim flagitem As Integer Dim intersetj As MapObjects2.Polygon Dim k As MapObjects2.Polygon Dim setflash(100) As MapObjects2.Polygon '足条件的记录,用于后面的闪烁Dim freset(100) As String '记录满足条件的记录州名Dim jilu As Integer '统计满足条件的记录个数 Private Sub Combo1_Click() fname2 = Combo1.Text '在组合框的单机事件中完成的任务为: For i = 0 To max '用户选中组合框中的图层名,通过循环使其与fnames(i)保存的 If fnames(i) = fname2 Then '图层名进行对比查找,如果找到就将图层索引保存到flagitem中 flagitem = max - i '通过变量flagitem将地图索引传给函数https://www.wendangku.net/doc/8e4384325.html,yers(flagitem).SearchByDistance(p, Map1.ToMapDistance(100), "") Exit For '目的是在用户选择的图层中找到用户选中的图形 End If

地理信息系统课程设计报告

1 / 4 地理信息系统课程设计 实习报告 班 级: 地信10701班 学生姓名: 陈鹏 学 号: 200701144 指导老师: 何贞铭 刘少华 邵燕林 日 期: 2010年9月

目录 一、课程设计目的 (1) 二、课程设计任务 (1) 三、空间数据建库 (1) 四、系统功能设计 (1) 五、系统界面设计 (2) 六、系统功能实现 (2) 七、实习成果展示 (2) 八、总结和体会 (2)

一、课程设计目的 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 本次地理信息系统课程设计是在完成《地理信息系统原理》、《GIS软件工程》等课程后开展的实践性课程设计。本次课程设计主要完成地图矢量化(空间数据库设计与建库)、系统功能设计、系统界面设计和部分功能的实现;通过本次实习对三个GIS平台软件(SuperMap、ArcView、MapGIS)的各个功能模块有了较深入了解、熟悉和掌握;通过这次课程设计也进一步熟悉了基于GIS平台提供的组件进行应用系统开发的一般方法、思路和流程。其主要的目的概括为: 1、熟练掌握三种GIS的公共平台及其开发环境; 2、熟练掌握三种GIS二次开发组件开发GIS应用软件; 3、掌握GIS数据库建库方法和地物编码方法; 4、理解和掌握GIS工程原理及方法。 二、课程设计任务 课程设计的主要任务是利用GIS公共平台提供的二次开发环境开发一套“校园GIS软件”,在遵循国家基础地理编码的基础上建立更详细的校园地物编码系统,实现校园内的地面建筑、道路、绿化面积等地物信息的可视化管理和查询,并可据此进行简单的空间分析。 1.建立校园地物编码系统(各个教学设施,如各个楼层的编码等) 2.建立校园地物的空间拓扑关系; 3.建立空间数据及属性数据库(最好采用独立的商业数据库进行建库或设计数据库); 4.建立空间数据的查询系统; 5.实现空间分析的基本功能(包括缓冲区分析、叠加分析和路径分析等),如道路的缓冲区分析; 6.提交书面报告(编码系统、数据库设计、软件设计流程和软件使用说明等)和校园GIS系统软件运行程序及原始程序代码等。 三、空间数据库设计与建库 。。。。。。 (地图分层、属性库设计,数字化地图基本流程) 四、系统功能设计 。。。。。。 (采用何种体系结构-C/S、B/S等等,系统总体结构图-层次图,功能模块详细分述) 1 / 4

GIS设计与实现 期末考试复习资料

选择题 1、GIS软件体系结构设计。指软件的整体结构,即软件系统是由哪些构件及构件的连接件组成的。 GIS软件体系结构的类型: 、单机结构。GIS软件的所有的功能(输入输出、数据和应用程序)都在一台计算机上实现。随着计算机技术的发展,该结构逐渐在应用中被淘汰。 、客户机/服务器体系结构Client/Server,简称C/S)。C/S体系结构一般部署在局域网中,由客户应用程序(前台程序)和服务器程序(后台程序)组成。 C/S模式的特性 位置透明性 平台独立性 数据结构透明 分布式的查询 、浏览器/服务器体系结构(Browser/Server,简称B/S)。它是一种高度集中的分布式处 理模式,数据和GIS软件均存放在服务器 端,使用通用的浏览器作为客户端应用的 执行环境,不需在客户端进行任何软件的 安装和维护工作。 B/S模式一般采用三层结构: 客户端、应用服务器和数据服务器。 、面向地理信息服务的WebGIS。将WEB服务应用于GIS。目前正处于实验性阶段 2、GIS接口设计。 、系统与标准数据的接口。所谓“标准数据”是指常用的商业GIS软件的数据格式,如ESRI的Shp、MapInfo的Mif等格式。 、互操作接口。指设计GIS之间、GIS内各子系统之间和子系统内各个模块之间的接口,使它们能够较好地进行通讯和实现功能共享。 、空间数据与属性数据的接口。在GIS中,空间数据与属性数据的结合有两种形式:绑定式和分离式,下表给出两种结合方式的比较。 、GIS与系统开发环境的接口。CAD、OA、RDBMS是政府部门GIS工程方案中系统开发环境的组成部分。将这三者和GIS集成起来,设计良好的接口,组建高效的图文信息系统,是GIS工程方案的核心内容之一。

地理信息系统概要设计说明书

河南环保厅环境地理信息系统概要设计说明书 上海数慧系统技术有限公司 Shanghai Digital Intelligence Systems Technology Co., Ltd.

请保护环境,注意纸张的回收利用 版权信息 本文件涉及之信息,属上海数慧系统技术有限公司所有。 未经上海数慧系统技术有限公司允许,文件中的任何部分都不能以任何形式向第三方散发。 上海数慧系统技术有限公司完全拥有知识产权,并受国际知识产权法律保护。

目录 第1章.引言 (5) 1.1.目的 (5) 1.2.文档概述 (5) 1.3.术语定义 (5) 1.4.参考资料 (6) 第2章.系统概述 (6) 2.1.系统开发背景 (7) 2.2.建设目标 (7) 2.3.约束条件与非功能需求 (8) 2.3.1.开发环境要求 (8) 2.3.2.软件系统架构要求 (8) 2.3.3.性能要求 (8) 2.3.4.质量需求 (9) 2.4.用户 (9) 2.4.1.组织机构 (9) 2.4.2.用户分类 (9) 第3章.概念架构设计 (10) 3.1.系统划分 (10) 3.2.系统架构 (10) 3.3.概念架构 (11) 3.3.1.B/S系统概念架构 (11) 3.3.2.C/S系统概念架构 (13) 第4章.细化架构设计 (14) 4.1.逻辑架构 (14) 4.1.1.B/S架构 (15) 4.1.2.C/S架构模式 (20) 4.2.开发架构 (20) 4.2.1.技术路线 (21) 4.2.2.B/S浏览器端开发视图 (22) 4.2.3.B/S服务端开发视图 (23) 4.2.4.C/S架构开发视图 (24) 4.3.运行架构 (27) 4.3.1.系统启动时序图 (27) 4.3.2.河流污染扩散模型时序图 (28) 4.4.数据架构 (30) 4.5.部署架构 (31) 4.5.1.系统部署架构 (31) 4.5.2.部署设计 (32) 4.5.3.网络和硬件配置 (33)

地理信息系统设计与实现课程设计任务书

名称:GIS工程设计与实现课程设计 课程设计周数:1周学分:1学分 一、课程设计目的与任务 课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。地理信息经过多年的发展历程,已经成为国民经济,资源建设中不可或缺的一部分,越来越受到世界各国和社会各界的重视,并广泛应用于国民经济的许多部门。随着人们对空间信息的认识日益加深,地理信息系统将成为人们科研、生产、学习中不可或缺的组成部分,通过此次课程设计使同学们对已学过的地理信息系统理论知识进行一次系统的实践,进一步理解、巩固所学知识。 在课程设计中,每个同学要对所学知识进行概括和总结,围绕有关GIS的空间数据获取、管理、分析、设计、开发和应用等工作,应用系统的地理信息系统知识,对地理信息系统图层进行分层、处理、分析和解决实际问题,使课程各部分内容融会贯通,做到学以致用。 (一)课程设计目的 1、通过本次课程设计,更加熟练地掌握地理信息系统软件的使用,能够独立运用软件对数据进行分析和处理。 2、通过课程设计,总结和检验《地理信息系统原理》基本知识的学习情况,了解能解决的实际问题,从而使学生达到既懂理论又懂实践运用的目的。 3、通过运用MAPGIS软件,对我们所学的内容进一步的提高和巩固。 (二)课程设计任务

1、根据新疆政区图栅格图像,运用MAPGIS软件进行地图数字化并进行配准,最终生成jpg图像。 2、运用MAPGIS软件对地图数字化后的成果制作专题地图。 3、运用MAPGIS软件对项目进行各类空间分析并得出结论。 二、课程设计安排 本次课程设计共有2个班,课程设计时间为1周,主要运用软件为MAPGIS。 三、课程设计上交资料 1、已完成的数字化地图一份(jpg格式附在课程设计里) 2、空间分析成果图及相应的表格(附在课程设计里) 3、课程设计报告与课程设计日记。(报告封面见后) 4、课程设计报告中含目的、设计步骤、成果图和总结与体会。 四、课程设计内容 (一)MAPGIS界面认识 1.将数据复制、粘贴至自己创建的文件夹内。 2.通过桌面快捷方式和程序组中MAPGIS命令启动MAPGIS主菜单。

GIS设计与实现单选

GIS设计与实现自测题 一、单项选择题 1、结构化程序设计概念最早由 E.W.Dijkstra于()年提出 A. 1965年 B. 1963年 C. 1962年 D. 1967年 2、()是GIS中最底层和最基本的技术。 A. 地理数据存储 B. 地理空间分析 C. 地理数据处理 D. 地理数据建模 3、在成寻流程图常用符号中菱形表示() A. 逻辑判断 B. 控制流 C. 处理步骤 D. 程序起止 4、E-R图中椭圆表示() A. 实体 B. 属性 C. 关系 D. 联系 5、通过数据校正与()等手段可以提高输出质量 A. 编辑与图形整饰 B. 误差消除 C. 坐标转换 D. 数字化 6、GIS软件可分为工具型软件和() A. 应用型软件 B. 嵌入式软件 C. 基础软件 D. 数据处理软件 7、GIS软件可分为工具型软件和() A. 应用型软件 B. 嵌入式软件 C. 基础软件 D. 数据处理软件 8、空间数据结构分为矢量结构、栅格结构和() A. 不规则三角网 B. 拓扑数据 C. 空间数据 D. 属性数据 9、第现实地理系统的计算机模拟可分为三个层次:()、逻辑模型和物理模型。 A. 空间分布模型 B. 概念模型 C. 数据模型 D. 应用模型 10、GIS设计以()为驱动 A. 空间数据 B. 业务数据 C. 属性数据 D. 功能数据 11、GIS系统工程学中三维结构是()提出的。 A. A.D.Hall B. GoodChild C. Grady Booch D. Jackbson 12、GIS系统工程学中的三维结构包含时间维、知识维和() A. 逻辑维 B. 理论维 C. 方法维 D. 工程学 13、地理信息系统科学体系分为三个层次:理论地理信息科学、技术地理信息科学和() A. 应用地理信息科学 B. 空间地理信息科学 C. 虚拟地理信息科学 D. 基础地理信息科学 14、结构化生命周期法将系统开发过程划分为()个主要阶段 A. 七个 B. 六个 C. 三个 D. 五个15、面向对象技术的三个基本的概念为对 象、类和() A. 接口 B. 继承 C. 派生 D. 超类 16、在用例图中,参与者之间主要是 ()关系 A. 泛化 B. 包含 C. 扩展 D. 继承 17、OMT采用对象模型、动态模型和() 等来描述一个系统 A. 静态模型 B. 功能模型 C. 混合模型 D. 结构模型 18、OMT采用对象模型、动态模型和() 等来描述一个系统 A. 静态模型 B. 功能模型 C. 混合模型 D. 结构模型 19、对象模型用()来表示 A. 对象图 B. 类图 C. 序列图 D. 活动图 20、动态模型用()图来表示 A. 状态图 B. 活动图 C. 数据流图 D. 动态图 21、原型从本质上可分为两种类型:丢弃 型原型和() A. 进化型原型 B. 进取型原型 C. 渐进型原型 D. 试验型原型 22、系统定义的基本任务包括功能需求、 性能需求、环境需求和() A. 数据需求 B. 软件需求 C. 用户需求 D. 硬件需求 23、系统定义的基本任务包括功能需求、 性能需求、环境需求和() A. 数据需求 B. 软件需求 C. 用户需求 D. 硬件需求 24、GIS数据流图中的椭圆形图标表示() A. 外部实体 B. 加工 C. 数据流 D. 数据存储文件 25、数据字典是关于()的集合 A. 数据信息 B. 数据对象 C. 属性信息 D. 实体 26、数据字典和()一起构成信息 系统的逻辑模型 A. 数据流图 B. 结构图 C. 用例图 D. 层次图 27、在用例图中,用例和参与者之间的关 系是() A. 关联关系 B. 泛化关系 C. 包含关系 D. 扩展关系 28、在一定条件下,把新的行为加入到已 有的用例中,获得新用例称为()用 例 A. 扩展 B. 包含 C. 关联 D. 泛化 29、GIS总体设计主要任务是将系统需求转 换为数据结构和() A. 数据设计 B. 软件体系结构 C. 体系结构设计 D. 层次图、HPO图、结构图 30、在结构图中,尾部是空心圆表示传递 的是() A. 数据 B. 模块调用 C. 控制信息 D. 模块名 31、面向对象的设计方法采用()来 组织和构造系统总体设计过程 A. 类图 B. 结构图 C. 用例图 D. 层次图 32、用于建立系统与其参与者之间交互的 模型称为() A. 边界类 B. 实体类 C. 分析类 D. 控制类 33、类的组成包括类、()以及他们之间 的关系。 A. 接口 B. 控制流 C. 对象 D. 数据流 34、具体描述建立在类的一般描述之上, 并对其进行扩展,这种关系为() A. 泛化关系 B. 扩展关系 C. 关联关系 D. 实现关系 35、在GIS用户界面的开发中,一般采用 ()方法 A. 原型化 B. 瀑布型 C. 结构化 D. 面向对象型 36、PDL的过程元素是() A. 块结构 B. 语法 C. 模块 D. 数据说明 37、在序列图中,表示对象的过程处于激 活状态时,生命线是() A. 双道线 B. 带箭头的虚线 C. 虚线 D. 垂直的虚线 38、序列图由对象、生命线、激活和() 组成 A. 消息 B. 类 C. 用例 D. 操作 39、在活动图中,活动的起点用() 图标表示。 A. 黑的实心圆 B. 空心圆 C. 圆角矩形 D. 平滑的圆角矩形 40、空间数据库中常用的坐标系有地理坐 标系和() A. 平面直角坐标系 B. 屏幕坐标系

GIS设计与实现

GIS设计与实现

GIS构成由4个基本要素构成:硬件、软件、数据、人员 一硬件计算机硬件环境包括从GIS数据采集 到数据处理乃至数据输出所涉及到的所有硬件 设备 ?数据采集、输入设备 ?采集设备包括测绘仪器和遥感设备 ?输入设备包括数字化仪、扫描仪以 及计算机的输入设备 ?数据存储和处理设备 ?存储设备包括磁盘、磁带机等磁存 储介质以及一些光存储介质 ?处理设备包括计算机、图像处理器、 网络设备等 ?输出设备 ?输出设备通常是标准的计算机外围 设备,如打印机、绘图仪 ?还可以通过计算机显示器或是外接 的高分辨率显示装置(如投影仪等) 进行输出 二软件 ?GIS软件可以分为工具型软件和应用型软件

?

?矢量数据结构 ?不规则三角网(TIN) ?属性数据是表征空间实体属性信息的数 据,一般用关系型数据库进行管理 四人员 ?人员是GIS的重要构成因素 ?人员在GIS中 ?对GIS软件进行开发、维护和升级 ?对GIS数据进行搜集、入库和管理 ?应用GIS进行生产生活实践,实现GIS 的价值 GIS用户:GIS最终用户、GIS专业人士、GIS开发商/系统集成商 GIS设计特点 ?GIS处理的是空间数据,具有数据量庞大、实体种类繁多、实体间的关联复杂等特点?GIS设计以空间数据位驱动 ?GIS工程投资大、周期长、风险大、涉及部门繁多。 GIS工程学体系主要由任务、基础理论和方法论三方面组成

?任务 ?运用系统论的理论和方法,实现GIS工 程的最优设计、最优管理和最优运行, 以求得系统总体最优化 ?基础理论 ?系统学 ?地理信息科学 ?系统工程学 ?…… ?方法论 ?根据理论形成的一系列程序化的基本操 作技术与方法 地理信息科学 ?地理信息科学 ?1992年GoodChild首次提出 ?研究地理信息的本质特征与运动规律 ?被划分为三个层次 ?地理信息科学被划分为三个层次 ?理论地理信息科学 ?技术地理信息科学 ?应用地理信息科学 信息资源共享

GIS二次开发经典代码

1、保存栅格数据(注意:保存的时候不要忘记要将栅格数据保存到栅格数据集工作空间中,同时还有栅格的扩展名一定要加上。)内容来自GIS公园 Public Sub SaveRaster() Dim pMxDoc As IMxDocument Dim pMap As IMap Set pMxDoc = Application.Document Set pMap = pMxDoc.FocusMap pMap.DeleteLayer https://www.wendangku.net/doc/8e4384325.html,yer(0) Dim pRasterDataset As IRasterDataset Dim pWks As IRasterWorkspace Dim pWksFact As IWorkspaceFactory Set pWksFact = New RasterWorkspaceFactory Set pWks = pWksFact.OpenFromFile("D:\Projects\ZLS\temp", 0) Dim pRBC As IRasterBandCollection Set pRasterDataset = pWks.OpenRasterDataset("test") 'Dim pRBC As IRasterBandCollection Dim pRLayer As IRasterLayer Set pRLayer = New RasterLayer pRLayer.CreateFromDataset pRasterDataset Dim pRaster As IRaster Set pRaster = pRLayer.Raster Set pRBC = pRaster Dim pDs As IDataset Set pDs = pRBC.SaveAs("test", pWks, "TIFF") copyright https://www.wendangku.net/doc/8e4384325.html, pMap.AddLayer pRLayer End Sub 2、根据已有数据字段,创建shape文件,并将数据插入到shape文件中(delphi代码)GIS公园https://www.wendangku.net/doc/8e4384325.html, function CreateNewShape(pCursor: IFeatureCursor; pFCls: IFeatureClass; pPath: WideString; pNewFClsName:WideString): IFeatureClass; var pShapeFieldName, ConfigKeyword: WideString; pNewFCls: IFeatureClass; pFeature: IFeature; pNewFCursor: IFeatureCursor;

地理信息系统设计与实现答案

填空 1,需求分析过程有:需求调查、需求分析、需求文档编写三个阶段 2,数据流程图的组成:外部实体,处理过程,数据流,数据存储。 3,总体设计的原则:1)完备性2)标准化3)系统化4)兼容性,通用性,可靠性,实用性,可扩充性。 4,GIS体系架构发展经历了:面向过程,面向系统,面向服务 5,按模型结构划分,应用性GIS分为:数学模型,经验模型,概念模型 6,地理编码的原则:唯一性,合理性,可扩充性,简单性,适用性,规范性,系统性。7,主要的用户界面技术:菜单,工具栏,状态栏,目录树,分式窗口,导航器。 8,GIS总体功能模块:数据输入模块,数据库管理模块,数据处理模块,空间分析模块,数据输出模块。 9,GIS数据库设计过程:需求分析,概念设计,逻辑设计,物理设计,数据库设计 10,概念设计的结构方法:自顶向下,自底向上,逐步扩张,混合策略 11,空间数据组织:纵向分层组织,横向分块组织 名词解释 1,地理信息:是指数字、文字、图形、图象等载体所表达的地表物体与其环境之间存在的数量、质量、分布特征、联系和规律等。 地理信息的特点:属于空间信息,具有区域性、多维性和动态性。 2,系统分析:是按照系统论的观点,根据GIS用户的要求,对现有的业务流程进行全面的分析和综合,运用科学的方法为系统设计提供依据。 3,需求分析:是应用型地理信息系统设计的基础,是通过与系统潜在用户进行书面或口头交流,将收集的信息根据系统软件设计的要求归纳整理后,得到对系统概略的描述和可行性分析的论证文件。需求分析过程有:需求调查、需求分析、需求文档编写三个阶段 4,可行性分析是在对用户需求基础上,从社会因素、技术因素和经济因素方面对建立应用型地理信息系统的必要性和实现系统目标的可能性进行分析,以确定用户实力、系统环境、原始数据、数据流量、存储空间、软件系统、经费预算以及时间分析和效益分析。 5,地理编码:是指在地理数据分类的基础上,以易于计算机和认识别的代码来唯一地标识地理实体类型,这种代码是用来表征客观事物的一个或一组有序的符号。 6,数据库设计:就是根据不同的应用目的和用户请求,在一个给定的应用环境中,确定最优的数据模型、处理模式、存储结构、存取方法,建立能反映现实世界中地理实体间信息的联系,满足用户要求、能被一定的数据库管理系统(DBMS)所接受、能实现系统目标并有效存取、管理数据的数据库。 7,空间数据库:是地理信息系统在计算机物理存储介质存储的与应用相关的地理空间数据的总合,以一系列特定结构的文件形式组织后存储在介质上。 8,实体:指在计算机系统中,用来描述实际事物的计算机语义对象,是指客观存在并区别于其他事物的对象,可以是具体的对象,也可以是抽象的事件。系统分析中必须定义实体的基本类型,确定描述这些实体的数据项及流程,进而弄清实体间的联系,为最终建立数据模型奠定基础。 9,属性:对实体和联系特征的描述。实体与属性是相对而言的。联系:实体之间通过联系相互作用和关联。联系分为一对一、一对多和多对多。 10,系统维护的任务是改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中用户提出的新的功能及性能要求,其目的是维护软件系统的"正常运作"。这阶段的文档是软件问题报告和软件修改报告,它记录发现软件错误的情况以及修改软件的过程。 11,对新开发的或改建的系统,根据预定的系统目标,用系统分析的方法,从技术、经济、社

GIS设计与实现课程设计

目录 1.设计背景:................................................................................................................ 2.设计目标.................................................................................................................... 设计原则与设计方法...................................................................................................... 1.设计原则:................................................................................................................ 设计方法.......................................................................................................................... 三、需求分析(系统定义).......................................................................................... 1.系统设计的方法........................................................................................................ 2.系统定义:................................................................................................................ 四、系统设计(系统结构体系、模块设计).............................................................. 结构体系设计:.............................................................................................................. 2.系统模块设计:........................................................................................................ 五、数据库设计.............................................................................................................. 1.概述............................................................................................................................ 2.需求分析.................................................................................................................... 3.概念设计.................................................................................................................... 4.逻辑模型.................................................................................................................... 5.物理设计.................................................................................................................... 6.数据字典设计............................................................................................................ 六、系统实施计划.......................................................................................................... 七、总结.......................................................................................................................... 设计背景与目标 1.设计背景: 随着现代社会的发展,大学校园的规模日益扩展,传统的管理方法显得力不从心,为了提高效率,节省物力人力资源,大学校园的管理也将逐步实现现代信息化管理。而地理信息系统(一种基于空间数据库的空间信息处理与分析技术,已被广泛应用于市政、交通、电信、军事和旅游等领域,具有极其广泛的应用前景,从地理关系的角度分析和解决与地理信息有关的问题往往会得到意想不到的效果。)技术的发展恰好迎合了这个需求,可以为大学校园的数字化、信息化管理提供相应的技术支持,大学校园多媒体管理系统应运而生。我校虽然已经有了较完善的校园多媒体管理系统,但是身为我校地理信息系统专业的学生,专业相关的课程设计选择这个题目显得更有意义,特建立我校的空间管理GIS系统。 2.设计目标 要求包括道路及道路基本信息、建筑基本信息、校园特殊标记的空间数

《GIS二次开发》课程设计报告

《GIS二次开发课程设计》报告

目录 1 设计目标 (1) 2 需求分析 (1) 2.1 业务构成... .. (1) 2.2 数据内容... .. (1) 3 系统设计 (1) 3.1 总体设计 (1) 3.2 数据库设计 (2) 3.3 平台选择 (2) 3.4 详细设计 (2) 4 功能实现 (3) 4.1 基本功能 (3) 4.2 符号化 (3) 小结 ............................ 错误!未定义书签。

1 设计目标 通过本系统的实施,建立全国各省人口分布和人均GDP排名系统,通过各种地图符号和色彩信息,将地图数据符号化,借此来制作全国各省人口比重、贫富差距大小等专题图。 2 需求分析 2.1 业务构成 中国人口在世界各国中位居首位,约占世界总人口的19%,根据2015年1月20日国家统计局网站公布2014年中国经济数据,2014年末,中国大陆总人口达136782万人,比上年末增加710万人。其中,男性人口70079万人,女性人口66703万人,男性人口比女性多3376万人。中国是人口大国,因此中国的人口分布情况和人口管理显得至关重要。 随着经济的发展,中国的经济状况日益增强。但是整体而言贫富差距还是很大,所以将地图数据符号化来更好地分析各地区的人均GDP对国家掌控各地经济情况是十分有用的。 2.2 数据内容 数据主要包括全国各省的人口数量、总的GDP和人均GDP。通过这些数据来处理地图,将地图做成不同属性的专题图。 3 系统设计 3.1 总体设计 此次设计的初衷即是开发一个可以制作专题地图的系统。以全国

人口数量和全国各省人均GDP为例进行制作和开发。 第一步就是找全国省区底图;接着找所需数据(全国各省人口数量和全国各省人均GDP。)最后,通过VS设计系统,实现专题图制作功能。 3.2 数据库设计 刚开始是想将找到的数据以表格的形式导入arccatalog中,希望经过处理可以直接使用,但是做到最后发现并不能将表格直接导入底图。解决办法是在arcmap中编辑底图的属性表将找到的数据输入,保存。 还有就是在用VS系统开发时的登录界面时,用到sqlserver。 在sqlserver中创建数据库,在已创建的数据库中创建表格,表格中输入“用户名”和“密码”相关信息。 3.3 平台选择 系统开发平台:VS2010和arcengine。 3.4 详细设计 1、首先设计登录界面:登录界面加入所需控件。

GIS设计与实现——课程设计

目录 设计背景与目标.............................................................................................................. 1.设计背景:............................................................................................................ 2.设计目标................................................................................................................ 设计原则与设计方法...................................................................................................... 1.设计原则:............................................................................................................ 设计方法...................................................................................................................... 三、需求分析(系统定义).......................................................................................... 1.系统设计的方法.................................................................................................... 2.系统定义:............................................................................................................ 四、系统设计(系统结构体系、模块设计).............................................................. 结构体系设计:.......................................................................................................... 2.系统模块设计:.................................................................................................... 五、数据库设计............................................................................................................ 1.概述........................................................................................................................ 2.需求分析.............................................................................................................. 3.概念设计.............................................................................................................. 4.逻辑模型................................................................................................................ 5.物理设计................................................................................................................ 6.数据字典设计........................................................................................................ 六、系统实施计划.......................................................................................................... 七、总结........................................................................................................................ 设计背景与目标 1.设计背景: 随着现代社会的发展,大学校园的规模日益扩展,传统的管理方法显得力不从心,为了提高效率,节省物力人力资源,大学校园的管理也将逐步实现现代信息化管理。而地理信息系统(一种基于空间数

相关文档
相关文档 最新文档