资源描述
GIS设计与实现复习笔记
第一章 概论
1. 地理信息系统的类型:工具型、应用型(专题GIS和区域GIS)、大众型GIS.
2.简述当前流行的工具型GIS软件及所属公司:ESRI的ArcView、ArcGIS;MapInfo的MapInfo Professional; Geography的MGE 、GeoMedia;北京超图(中科院)的SuperMap;武汉吉奥(武大)的GeoStar;武汉中地(中国地大)的MapGIS;北大天创(北大)的CityStar。
3.应用型GIS设计和实现过程:
(1)系统分析:对系统用户进行调查研究,对选定的对象进行需求分析和可行性分析,在明确系统目标基础上开展对新系统的深入调查研究和分析,最后提出新系统的结构方案。
(2)系统设计:包括GIS总体设计(包括系统目标的确定、模块或子系统设计、组网方案、硬件配置、软件设计、代码设计、人机对话设计和用户界面设计)和详细设计(包括GIS功能设计、数据库设计、应用模型设计和输入输出设计);
(3)系统实施:程序编制与调试、数据准备与数据库建立、运行环境的建立与调试、人员技术培训。
(4)系统运行与维护:管理包括质量和项目管理;维护包括程、数据文件、的维护代码、机器和设备的维护。
4. GIS使用的工具:计算机软硬件系统;
GIS研究对象:空间物体的地理分布数据及属性;
GIS数据建立过程:采集、存储、管理、处理、检索、分析和显示。
第二章 GIS系统分析
5.需求分析的过程实际上是一个继承与发展的过程。
6.数据流程图的基本组成:
(1)外部实体:在数据流程图中用正方形框表示,框中写上外部实体的名称。
(2) 处理过程:用带圆角的长方形表示,长方形分三个部分:标识部分、功能描述部分、功能执行部分。
(3)数据流:用水平箭头表或垂直箭头表示,箭头指出数据的流动方向,箭线旁注明数据流名称
(4)数据存储:用右边开口的长方条表示。在长方条内写上数据存储的名字。左端加一小格,再标上一个标识,用字母D和数字组成。
7.数据字典的内容:数据元素、数据结构、数据流、数据存储、处理过程、外部实体。
功能:①给管理者和用户提供关于可利用数据的线索;
②为系统分析人员提供数据是否存在的信息;
③为编程工作提供数据格式及数据位置。
8.可行性分析:理论分析、技术水平、经费预算、财力状况、社会效益、支持程度、进度预算。
第三章 应用型GIS总体设计
9.总体设计的任务:划分出组成各物理元素的构成、联系及其定义描述,并且根据系统确定的应用目标,配置适当模型和适当数据的软硬件,确定计算机的运行环境;根据应用模型和应用目的设计数据模型;根据系统的数据模型、应用和分析模型、数据处理模型等对数据的标准和质量要求等做出相应的定义和规定。
10.系统设计过程中确定目标的原则:针对性;实用性;预见性;先进性。
11.系统总体设计的原则(9个):完备性、标准化、系统性、兼容性、通用性、可靠性、实用性、可扩充性、高效率和先进性。
12.系统组网方案:B/S模式、C/S模式、混合模式。C/S:系统维护要求高、操作复杂;对网络要求高。B/S:胖服务器、瘦客户端。(表示层、应用层、数据层)。目前一般都采用以B/S为主,C/S为辅的网络结构模式。
13.代码含义:是用来表征客观事物的一个或一组有序的符号,以易于计算机和人识别处理。
编码就是用数字或字母代表事物。
代码的功能:鉴别功能;分类;排序;专用含义。
代码类型:数字型、字母型、数字字母型。
代码的种类:顺序码、层次码、矩阵码、自检码、系列顺序码、助记码、特征组合码、混合码
13.2层次码:以分类对象的从属层次关系为排列顺序的一种代码
•代码分若干层,与对象的分类层次对应,左端为高位层次代码,右端为低位层次代码
•每层代码可采用顺序码或系列顺序码
•大类码 小类码 一级代码 二级代码 识别位
•前4类码分别用数字顺序排列。识别位由用户自行定义,以便于扩充
13.3顺序码:主要由按顺序排列的数字组成,有时也由按顺序排列的字母组成。
•只代表对象名称,代表描述对象属性在整个属性系列中的顺序,不提供对象其他信息。
•顺序码要求长度统一,编码时应事先估计可能出现的最大长度,然后确定代码的位数
•优点:易添加,代码简短,使用方便,易于管理;缺点:没有给出对象的其他信息。
14. 人机对话方法:菜单式、填表式、回答式、选择式、提问法。
第四章 应用型GIS详细设计
16.功能设计的主要任务:根据系统研制的目的来规划系统的规模和确定系统的各个组成部分,并说明它们在整个系统中的作用与相互关系以及确定系统的硬件配置,规定系统采用的技术规范,保证系统总体目标的实现。
功能设计的原则:功能结构的合理性;功能结构的完备性;系统各功能的独立性;功能模块的可靠性;功能模块操作的简便性。
16.2一个优化的应用型GIS必须具有运行效率高、控制性能好和可变性强等特点,故目前较有效的方法是采用模块化的结构设计方法。
17.1数据库设计包括:概念设计、逻辑设计、物理设计。
2概念结构设计的方法与步骤:自顶向下、自底向上、逐步扩张、混合策略。
3逻辑设计分为:图块结构的设计、图层信息的组织。
4属性数据则使用RDBMS存储,两者通过关键项或指针表连接。
5对物理输入的格式、方式进行安排就是所谓的输入设计。
6物理输入的基本要求是把原始数据合格、及时、正确的送到计算机中。
17.2应用模型的分类:
(1)按应用模型结构分类:数学模型、统计模型、概念模型
(2)按应用模型空间特征分类:非空间模型、空间模型
(3)按应用模型开发特点分类:系统提供模型、二次开发模型
(4)按应用型模型内容及所解决问题分类:基础模型、专业模型
(5)按模型空间过程模拟方法分类:动力学过程模拟模型、随即过程模拟模型
18. 应用模型重用的七种方式及其有缺点:
(1)源代码方式重用:利用GIS二次开发语言或其他编程语言,将已开发好的专业模型的源代码进行改写重用。
n 优点:可以保证GIS系统与模型在数据结构、数据处理等方面的一致性。
n 缺点:
Ø 最低级的重用方式。
Ø GIS开发者必须下很大功夫读懂模型的源代码;
Ø 在改写重用过程中常常会出错。
(2)函数库方式重用:应用模型以库函数的形式保存在函数库中,GIS开发者可以通过调用库函数的方式进行模型重用。
n 优点:
Ø GIS系统与应用模型能实现高度无缝的集成;
Ø 函数库一般都有清晰的接口,GIS开发者不必费力去研究源代码,使用方便,而且函数库经过编译,不会发生因开发者错误的改动源代码而使模型运行结果不正确的情况。
n 缺点:
Ø 库函数无法与GIS数据有效结合,不能用于复杂模型与GIS集成;
Ø 由于开发者不能对库函数进行修改,降低了重用的灵活性;
Ø 函数库的可扩充性差;
Ø 静态函数使用在一定程度上受限于语言,必须依赖于其开发语言。
(3)独立可执行程序方式重用:GIS系统与应用分析模型均以可执行应用程序的方式独立存在,两者的内部、外部结构不变,相互之间可以切换。
n 优点:简便,所需编程工作极少。
n 缺点:
Ø 系统效率极低,且使用不很方便;
Ø 界面不一致,视觉效果不好。
(4)内嵌可执行程序方式重用:以GIS系统命令驱动应用模型程序,GIS系统与模型间的集成通过对共同文件的读写操作实现,GIS系统则进一步通过进行中间数据与空间数据的转换来实现空间数据的GIS操作功能。
n 优点:
Ø 便于开发工作的组织管理,并且系统的运行性能比独立可执行程序方式好;
Ø 系统具有基本统一的界面环境,便于操作。
Ø 缺点:
Ø 开发人员必须理解模型运行的全过程并对复杂的模型进行正确合理的结构分解,以实现模型与GIS系统本身之间的数据相互转换对GIS功能的调用。
(5)DDE或OLE方式重用:动态数据交换和对象连接嵌入
两者均用于Windows应用程序间的数据传递,可以作为应用GIS开发中得到一种可执行程序形式应用模型重用方式。
n 优点:
Ø 系统能够实现无缝集成;
Ø 所需编程不多。
n 缺点:
Ø 系统效率不高;
Ø 系统稳定性不是很好;
Ø 该模型必须支持DDE或OLE协议,很难做到。
(6)模型库方式重用:模型库系统可以有效生成、管理和使用模型,可以支持两种粒度的模型(可执行文件与函数子程序),具有完整的模型管理功能,能够提供单元模型和组合模型,同时还支持模型的动态调用和静态的链接。
n 优点:
Ø 系统具有良好的可扩充性;
Ø 符合C/S模式。
n 缺点:没有形成完整的理论体系,模型的自动生成、半自动生成方面距离真正实用还有一段距离。
(7)组件模型重用:组件(或称构件)Component:是指那些具有某些特定功能,独立于应用程序,但能够容易地组装起来,可以高效地创建应用程序的可重用软件“零件”。
19.输入设计应遵循的原则:最小量原则、简单性原则、早检验原则、少转换原则。
第五章 GIS实施
20.系统实施阶段的任务:硬件准备、软件准备、人员培训、数据准备、系统安装与调试 。
21. 程序编程方法:结构化程序设计 、原型化的设计方法、面向对象的设计方法、可视化编程技术。
22.1系统评价:对所建立的系统的性能进行考察、分析和评判,判断其是否达到了系统设计时所预定的效果,包括用实际指标与计划指标进行比较,评价系统目标实现的程度
22.2 系统总体功能评价:系统效率、系统可靠性、可扩展性、可移植性、系统的效益、功能性、可操作性、维护性。
第六章 GIS管理和维护
23.应用型GIS管理分为质量管理和项目管理。
24. 应用型GIS维护的类型:更正性维护、适应性维护、完善性维护、预防性维护。
第七章 GIS二次开发入门
25.GIS开发模式:自行开发模式、委托开发模式、联合开发模式。
26.GIS三种开发方式的含义及优缺点:
(1)独立开发方式:不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理、分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Delphi等,在一定的操作系统平台上编程实现。
优缺点:独立性强,用于购买软件的费用相对节省。开发周期长、难度大、对开发者要求高,软件功能相对简单,稳定性差。
(2)宿主型开发方式:指基于GIS工具软件提供的开发语言进行应用系统开发。大多数GIS工具软件都提供了可供用户进行二次开发的脚本语言,如ArcView中的Avenue语言,MapInfo Professional的MapBasic语言,Arc/Info的AML语言。
优缺点:开发较为容易、周期短、稳定性高。移植性差;二次开发的脚本语言,功能较弱;所开发的系统不能脱离GIS平台,是解释执行的,运行效率低,用户界面受平台软件的限制。
(3)GIS组件开发方式: 利用GIS软件厂商提供的商业化GIS组件,实现GIS的基本功能,以通用软件开发工具,尤其是可视化开发工具,进行二次开发。
优点:容易获取:大多数GIS软件产商都提供商业化的GIS组件,如ESRI公司的MapObjects、ArcOjectes、ArcEngine和 MapInfo公司的MapX、北京超图的SuperMap Objects等;学习周期短;数据库功能强大;界面良好。
缺点:前期投入大:购买GIS工具软件和可视化编程软件。
27.面向对象技术的三大特征是封装性、继承性、多态性。
28. 组件开发的标准及隶属公司:
(1)Microsoft的COM(组件对象模型)/ DCOM(分布式组件对象模型)
(2)OMG(对象管理组织)的CORBA(公共对象请求代理架构)
(3)SUN公司的J2EE(Java2平台企业标准版)技术规范
29. COM(Component Object Model-组件对象模型)是组件间相互接口的规范,是OLE(Object Linking and Embedding)和ActiveX共同的基础,其作用是使各种软件构件和应用软件能够用一种统一的标准方式进行交互。
30. 组件式地理信息系统(ComGIS)是指基于组件对象平台,以一组具有某种标准通信接口的、允许跨语言应用的组件提供的GIS。
ComGIS优点:小巧灵活、价格便宜;开发简捷;强大的GIS功能;大众化。
ComGIS不足:效率相对低下,在访问超大空间数据(如大数据量的遥感图象)时表现得尤为明显;
ü 支持的空间数据量有限;
ü 支持的功能有限。由于是构件,只覆盖了GIS系统的部分功能,于是对于特殊领域,它就显得无能为力。
第八章 ArcEngine的基本知识
32. 简述对ArcEngine的了解:
(1)ArcEngine由软件开发工具包和为ArcGIS应用程序提供平台的运行时(runtime)组成。
(2)ArcEngine提供的可视化组件有:MapControl、SceneControl、PageLayoutControl、GlobeControl、ToolbarControl、TOCControl、ReaderControl等。
MapControl:类似于ArcMap桌面应用软件的数据视图界面,用于容纳各种地图对象。
PageLayoutControl:类似于ArcMap的地图编排界面,用于容纳各种地图编排对象。
TocControl:服务于“buddy”控件,包括MapControl、 PageLayoutControl等。用树形视图交换显示“buddy”控件显示的地图、图层和符号的内容。
ToolbarControl:服务于“buddy”控件,是为“buddy”控件提供各种服务的命令、工具和菜单的面板。
(3)ArcEngine功能:显示图层、地图漫游和缩放、识别地图上的要素、搜索和查找地图上的要素、用线、框、区域、多边形和圆选择要素、用SQL表达式查找和选择要素、专题图渲染、创建缓冲区、标注。编辑要素;空间建模和分析;三维可视化及其他。
(4)类库:System类库、SystemUI类库、Geometry类库、Display类库、Geodatabase类库、Carto类库、GeoAnalyst类库等。
33. ArcEngine的对象模型中的三种类:
(1)抽象类(Abstractclass):不能用以创建对象,但可以用来指定子类
(2)可实例化类(Class):不能直接创建对象,但是这种类得对象能够作为其他对象的属性被创建,或是通过其他类得方法来创建
(3)可创建类或组件类(Coclass):能够直接使用通过开发环境中的对象定义语法来创建对象的类,可以直接被创建或者实例化。
第九章 地图基本操作的实现
34. 添加ShapeFile文件一般要用到WorkspaceFactory、FeatureWorkspace、FeatureClass、FeatureLayer等组件类或者抽象类。
35. 根据esriWorkspace的不同,Workspace可以分为以下三种:文件系统工作区、本地数据库工作区和远程数据库工作区。
第十章ArcEngine环境下的地图符号化
36. 一个完整的地图符号库系统应当包括地图符号编辑器、地图符号库管理系统和地图符号的再现调用。
37. ArcEngine环境中的符号组件包括Renderer、Color、Symbol三大系列:
Ø 用Color为要素配置显示颜色
Ø 用MarkerSymbol表示点要素
Ø 用LineSymbol表示线状要素
Ø 用FillSymbol表示面状要素
Ø 用TextSymbol表示文字注记要素
Ø 用FeatureRenderer表达图层
38. MarkerSymbol共有属性:角度Angle、颜色、大小Size。LineSymbol:Color和Width;IFillSymbol接口的:Color和Outline。
39. FeatureRenderer本身是一个抽象类,由它派生出来一系列组件类:简单渲染SimpleRenderer、唯一值渲染UniqueValueRenderer、分类渲染ClassBreaksRenderer、ProportionalSymbolRenderer、点密度渲染DotDensityRenderer、图标渲染ChartRenderer(CreateLegend方法)、ScaleDependentRenderer、BiUniqueValueRenderer。
第十一章 空间分析
40. 空间分析是基于地理对象的位置和形态特征的空间数据分析技术,其目的在于提取和传输空间信息。
41.基于数值型字段的语句通常使用比较操作符和运算符来完成。
42.属性查空间用QueryFilter组件,空间查属性用SpatialFilter组件类。
43.标注时设置pGeoFeatureLayer.DisplayAnnotation = true;
44. (1)打开ShapeFile文件:
pFeatureWorkspace = pWorkspaceFactory.OpenFromFile (pFilePath,0) as IFeatureWorkspace;
pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pFileName);
(2)打开栅格数据文件:pFilePath = openFileDialog1.FileName;
pRasterLayer.CreateFromFilePath(pFilePath);
(3)点、线、面状要素符号化的实现:pRubberBand = new RubberPointClass();或new RubberLineClass();或new RubberPolygonClass();
pActiveView.ScreenDisplay.SetSymbol(pSimpleMarkerSymbol as ISymbol);
pActiveView.ScreenDisplay.DrawPoint(pPoint);
pActiveView.ScreenDisplay.FinishDrawing();
(4)使用SimpleRenderer组件符号化:
pSimpleRenderer.Symbol = pFillSymbol as ISymbol;
pGeoFeatureLayer.Renderer = pSimpleRenderer as IFeatureRenderer;
(5)放大:pEnvelope.Expand(0.5,0.5,true); axMapControl1.Extent = pEnvelope;
(6)空间查属性:pQueryFilter.WhereClause = "NAME='菏泽'";
属性查空间:pFeatureCursor = pFeatureLayer.Search(pSpatialFilter, false);
pFeature = pFeatureCursor.NextFeature();
(7)缓冲区:pPolygon = pTopologicalOperator.Buffer(0.1) as IPolygon;
axMapControl1.DrawShape(pPolygon);
展开阅读全文